在CentOS环境下部署PHP可以通过多种方式,以下是使用Apache和PHP-FPM的常见步骤:
首先,更新你的系统包列表并安装Apache和PHP-FPM:
sudo yum update -y
sudo yum install -y httpd php php-fpm
编辑PHP-FPM配置文件 /etc/php-fpm.d/www.conf
,确保监听地址和端口正确:
listen = /run/php-fpm/www.sock
listen.owner = apache
listen.group = apache
启动PHP-FPM服务并设置开机自启:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
编辑Apache的主配置文件 /etc/httpd/conf/httpd.conf
或创建一个新的虚拟主机配置文件 /etc/httpd/conf.d/yourdomain.conf
:
<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://localhost:9000"
</FilesMatch>
ErrorLog /var/log/httpd/yourdomain-error.log
CustomLog /var/log/httpd/yourdomain-access.log combined
</VirtualHost>
确保将 yourdomain.com
替换为你的实际域名,并将 /var/www/html
替换为你的网站根目录。
启动Apache服务并设置开机自启:
sudo systemctl start httpd
sudo systemctl enable httpd
如果SELinux处于 enforcing 模式,可能需要配置它以允许Apache访问PHP-FPM套接字:
sudo setsebool -P httpd_can_network_connect 1
创建一个简单的PHP文件 /var/www/html/index.php
来测试PHP是否正常工作:
<?php
phpinfo();
?>
然后在浏览器中访问 http://yourdomain.com
,你应该能看到PHP信息页面。
如果你的服务器启用了防火墙,确保开放HTTP(80)和HTTPS(443)端口:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
通过以上步骤,你应该能够在CentOS环境下成功部署PHP。如果有任何问题,请检查日志文件以获取更多信息。