1.做实验之前先执行下面的关闭防火墙和selinux操作
关闭防火墙:
systemctl stop firewalld --临时关闭防火墙
systemctl disable firewalld --永久关闭防火墙
关闭selinux:
临时关闭:
setenforce 0
永久关闭:
vim /etc/selinux/config
SELINUX=disabled # 将enforcing改为disabled
reboot --重启系统永久生效
开始安装apache服务:
2.使用yum安装:
yum install httpd -y
提示complete 一般就是安装成功了,可以使用yum info httpd检查是否安装成功,安装的版本等
3.修改配置文件
安装完成后,一般我们需要修改主配置文件,目录:/etc/httpd/conf/httpd.conf
使用vi /etc/httpd/conf/httpd.conf 打开它,可以看到下面这些配置
ServerRoot |
服务目录,存放配置文件的目录 |
ServerAdmin |
管理员邮箱 |
User |
运行服务的用户 |
Group |
运行服务的用户组 |
ServerName |
网站服务器的域名 |
DocumentRoot |
网站数据目录,站点路径,默认:/var/www/html |
Listen |
监听的端口号 |
DirectoryIndex |
默认的索引页页面 |
ErrorLog |
错误日志文件 |
CustomLog |
访问日志文件 |
Timeout |
网页超时时间,默认为300秒. |
Include |
需要加载的其他文件 |
Options Indexes FollowSymLinks # 找不到主页时,以目录的方式呈现,并允许链接到网站根目录以外
AllowOverride None # none不使用.htaccess控制,all允许
Require all granted # granted表示运行所有访问,denied表示拒绝所有访问
AddDefaultCharset UTF-8 # 字符编码,如果中文的话,有可能需要改为gb2312或者gbk,因你的网站文件的默认编码而异
修改httpd.conf的AllowOverride值,改成All,这里会有好几个地方都需要修改。
4.启动apache服务
systemctl start httpd
如果启动服务后又修改了配置文件,需要重启服务,systemctl restart httpd
启动服务后,可以尝试写个简单网页,检查能否打开网页。
5.测试网站
输入命令:
vi /var/www/html/index.html
打开文件后,随便输入一些值,比如hello linux
打开windows电脑的浏览器,输入搭建了apache服务的linux电脑的ip,显示hello linux就搭建成功了。
6.部署多个网站
有时候会有需求要将多个网站同时部署在一台服务器上
先创建一个extra文件夹:
mkdir /etc/httpd/conf/extra/
进入到该目录下:
cd /etc/httpd/conf/extra/
创建一个文件:
vi httpd-vhosts.conf
输入以下内容:
<VirtualHost *:80>
ServerAdmin xx@qq.com # 管理员邮箱,网站故障会给该邮箱发送邮件
DocumentRoot "/var/www/test1/" # 指定网站www.abc.com的站点目录
ServerName www.abc.com # 指定网站域名
ServerAlias abc.com # 指定网站别名
ErrorLog "logs/www-error_log" # 指定错误日志目录
CustomLog "logs/www-access_log" common # 指定访问日志目录
</VirtualHost>
<VirtualHost *:80> #只有顺序上的第一个虚拟主机可以配置别名,别的配了也没用
ServerAdmin xx@qq.com
DocumentRoot "/var/www/test2"
ServerName blog.test.com
ErrorLog "logs/blog-error_log"
CustomLog "logs/blog-access_log" common
</VirtualHost>
这里配置了两个VirtualHost就表示支持两个网站,如果是两个以上,那就再继续加VirtualHost,但是也不建议一台服务器上太多网站,担心相互之间会有影响。
注意将注释的内容删掉,不然会有语法错误。
然后打开主配置文件,vi /etc/httpd/conf/httpd.conf
增加一句话,引用虚拟主机配置文件:
Include conf/extra/httpd-vhosts.conf
检查是否有语法错误:
apachectl -t
重启服务:
apachectl graceful
或者systemctl restart httpd
修改本地hosts文件
打开C:WindowsSystem32driversetchosts文件,添加如下内容:
192.168.235.82 www.abc.com blog.abc.com abc.com
注意:hosts文件不能直接编辑,需要修改以下权限,右键hosts,点属性,打开后,选择“安全”选项卡,点击“编辑”,将权限都勾选上,确定后再添加hosts
这样改的目的是什么呢?主要是因为我们的域名www.abc.com不是真实在互联网注册过的,DNS服务器就解析不到该域名,浏览器在找DNS服务器之前会先找hosts文件,所有可以修改hosts文件,使其能通过域名找到我们的IP
接下来在/var/www/test1中新建一个index.html,输入内容test1111
在/var/www/test2中新建一个index.html,输入内容test2222
打开浏览器输入网址www.abc.com 就可以看到test1111
输入blog.test.com就可以看到test2222
这样就完成了。
参考链接:
https://www.cnblogs.com/fisherpau/p/11375874.html
https://blog.csdn.net/qq_36700059/article/details/94876829