在CentOS系统中,Nginx和PHP-FPM(FastCGI Process Manager)通常一起使用,以提供高效的PHP网站服务。以下是配置Nginx与PHP-FPM配合使用的步骤:
首先,确保你的CentOS系统已经更新到最新状态:
sudo yum update -y
然后,安装Nginx和PHP-FPM:
sudo yum install nginx php-fpm -y
启动Nginx和PHP-FPM服务,并设置它们开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
编辑PHP-FPM的配置文件 /etc/php-fpm.d/www.conf
,确保以下配置项正确:
user = nginx
group = nginx
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
编辑Nginx的配置文件 /etc/nginx/nginx.conf
或 /etc/nginx/conf.d/default.conf
,添加或修改以下内容:
server {
listen 80;
server_name your_domain.com; # 替换为你的域名或IP地址
root /var/www/html; # 替换为你的网站根目录
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
应用配置更改后,重启Nginx和PHP-FPM服务:
sudo systemctl restart nginx
sudo systemctl restart php-fpm
创建一个简单的PHP文件来测试配置是否正确。在 /var/www/html
目录下创建一个名为 info.php
的文件,内容如下:
<?php
phpinfo();
?>
然后在浏览器中访问 http://your_domain.com/info.php
,如果看到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
SSL证书:为你的网站配置SSL证书,可以使用Let’s Encrypt免费证书。
sudo yum install certbot python2-certbot-nginx -y
sudo certbot --nginx -d your_domain.com
通过以上步骤,你应该能够在CentOS系统上成功配置Nginx与PHP-FPM配合使用。