本文介绍在centos 7 yum安装apache 2.4,即通过yum仓库来快速安装已经编译好的版本,这样比源码编译省下不少时间。
安装和配置apache
1.安装apache 2.4
sudo yum install httpd
2.更新httpd.conf中的网站根目录配置。添加区块来配置资源使用。
文件片断:/etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html/example.com/public_html"
...
<IfModule prefork.c>
StartServers 5
MinSpareServers 20
MaxSpareServers 40
MaxRequestWorkers 256
MaxConnectionsPerChild 5500
</IfModule>
配置基于名称的虚拟主机
1.在conf.d目录创建vhost.conf来存储你的虚拟主机配置文件。下面是example.com网站的模板;根据你的需要来更改:
文件片断:/etc/httpd/conf.d/vhost.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html/example.com/public_html/
ErrorLog /var/www/html/example.com/logs/error.log
CustomLog /var/www/html/example.com/logs/access.log combined
</VirtualHost>
其它额外的域名也同样添加到vhost.conf文件。要添加域名,复制上面的VirtualHost区块并更改。当收到来自互联网的一个新的请求,apache将在vhost.conf来检查域名匹配的VirtualHost区块:
2.创建与上面相关的目录
sudo mkdir -p /var/www/html/example.com/{public_html,logs}
3.设置apache开机启动并重启服务:
sudo systemctl enable httpd.service
sudo systemctl restart httpd.service
现在可以访问你的域名来测试apache server了。如果在你的网站根目录没有找到index文件,将显示默认的页面
配置firewalld来允许web流量
CentOS 7内置的防火墙默认设置阻止web流量。执行如下命令来允许web流量:
sudo firewall-cmd --add-service=http --permanent && sudo firewall-cmd --add-service=https --permanent
sudo systemctl restart firewalld