在CentOS系统中,Nginx和PHP-FPM通常配合使用来提供动态网站服务。以下是配置Nginx和PHP-FPM的基本步骤:
安装Nginx: 如果你还没有安装Nginx,可以使用以下命令安装:
sudo yum install epel-release
sudo yum install nginx
启动Nginx服务: 安装完成后,启动Nginx服务并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
安装PHP-FPM: 使用以下命令安装PHP-FPM:
sudo yum install php-fpm
配置PHP-FPM:
编辑PHP-FPM的配置文件,通常位于/etc/php-fpm.d/www.conf
或/etc/php-fpm.conf
,确保监听地址设置为Unix socket或者TCP/IP端口。例如,使用Unix socket:
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx
user = nginx
group = nginx
启动PHP-FPM服务: 启动PHP-FPM服务并设置开机自启:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
配置Nginx处理PHP文件:
编辑Nginx的站点配置文件,通常位于/etc/nginx/conf.d/default.conf
或者/etc/nginx/sites-available/yourdomain.conf
。添加以下内容来处理.php
文件:
server {
listen 80;
server_name yourdomain.com; # 替换为你的域名或公网IP
root /path/to/your/document/root; # 替换为你的网站根目录
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php-fpm/www.sock; # 如果使用TCP/IP端口,则改为相应的地址和端口
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
测试配置并重启Nginx: 在重新加载Nginx之前,使用以下命令测试配置文件是否有语法错误:
sudo nginx -t
如果配置正确,重启Nginx服务以应用更改:
sudo systemctl restart nginx
现在,Nginx应该能够将PHP请求传递给PHP-FPM进行处理,并返回生成的动态内容。
请注意,这些步骤可能需要根据你的具体需求进行调整。例如,你可能需要配置防火墙规则以允许HTTP(端口80)和HTTPS(端口443)流量,或者根据你的服务器环境调整PHP-FPM的用户和组设置。