在 CentOS 上部署网站,需要注意一点:CentOS 默认使用 httpd 而不是 apache2(apache2 是 Debian/Ubuntu 的叫法)。下面我按 CentOS + Apache(httpd) 的标准流程来说明。
sudo yum install httpd -y
启动并设置开机自启:
sudo systemctl start httpd
sudo systemctl enable httpd
检查状态:
sudo systemctl status httpd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
CentOS Apache 默认网站根目录:
/var/www/html
你可以直接把网站文件放进去:
sudo cp -r your_site/* /var/www/html/
浏览器访问:
http://服务器IP
echo "<h1>Hello CentOS Apache</h1>" | sudo tee /var/www/html/index.html
访问 IP 即可看到页面。
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R apache:apache /var/www/example.com
sudo vi /etc/httpd/conf.d/example.com.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.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
sudo systemctl restart httpd
sudo yum install php php-mysqlnd -y
sudo systemctl restart httpd
测试:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
访问:
http://IP/info.php
sudo yum install mod_ssl -y
sudo systemctl restart httpd
证书可用:
sudo setsebool -P httpd_can_network_connect on
sudo chown -R apache:apache /var/www
sudo chmod -R 755 /var/www
如果你能告诉我:
我可以给你更精确的部署方案。