下面按常见场景给你一份 CentOS 下 Apache(httpd)配置指南,以 CentOS 7 / 8 / Stream 为例(命令基本通用)。
# CentOS 7
yum install httpd -y
# CentOS 8 / Stream
dnf install httpd -y
systemctl start httpd
systemctl enable httpd
查看状态:
systemctl status httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
(如果是云服务器,还需在安全组放行 80/443)
网站根目录:/var/www/html
主配置文件:/etc/httpd/conf/httpd.conf
子配置目录:/etc/httpd/conf.d/
测试页面:
echo "Hello Apache" > /var/www/html/index.html
浏览器访问服务器 IP 即可。
mkdir -p /var/www/example.com/public_html
chown -R apache:apache /var/www/example.com
vi /etc/httpd/conf.d/example.conf
内容示例:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/example.com/public_html
<Directory /var/www/example.com/public_html>
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/example_error.log
CustomLog /var/log/httpd/example_access.log combined
</VirtualHost>
systemctl restart httpd
yum install php php-mysql -y
systemctl restart httpd
测试:
echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
yum install mod_ssl -y
/etc/pki/tls/certs/xxx.crt
/etc/pki/tls/private/xxx.key
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/example.com/public_html
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/xxx.crt
SSLCertificateKeyFile /etc/pki/tls/private/xxx.key
</VirtualHost>
systemctl restart httpd
# 检查配置语法
httpd -t
# 查看错误日志
tail -f /var/log/httpd/error_log
# 查看端口
ss -lntp | grep httpd
你可以告诉我:
我可以直接给你完整可用配置。