在Ubuntu系统中,配置PHP-FPM与Nginx协同工作主要涉及以下几个步骤:
首先,确保你的系统是最新的,并安装PHP-FPM和Nginx:
sudo apt update
sudo apt install php-fpm nginx
PHP-FPM的配置文件通常位于 /etc/php/版本号/fpm/pool.d/www.conf
。你需要编辑这个文件来设置监听地址和端口。
sudo nano /etc/php/版本号/fpm/pool.d/www.conf
找到以下行并修改:
listen = /run/php/php版本号-fpm.sock
或者,如果你更喜欢使用TCP/IP端口:
listen = 127.0.0.1:9000
保存并退出编辑器。
Nginx的配置文件通常位于 /etc/nginx/sites-available/
目录下。你可以创建一个新的配置文件或编辑默认的配置文件。
sudo nano /etc/nginx/sites-available/你的域名
以下是一个基本的Nginx配置示例:
server {
listen 80;
server_name 你的域名 www.你的域名;
root /var/www/你的域名/html;
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/php版本号-fpm.sock; # 或者使用 tcp:127.0.0.1:9000
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
保存并退出编辑器。
创建一个符号链接将你的配置文件链接到 sites-enabled
目录:
sudo ln -s /etc/nginx/sites-available/你的域名 /etc/nginx/sites-enabled/
测试Nginx配置是否正确:
sudo nginx -t
如果没有错误,重新加载Nginx:
sudo systemctl reload nginx
确保PHP-FPM服务正在运行:
sudo systemctl start php版本号-fpm
sudo systemctl enable php版本号-fpm
创建一个简单的PHP文件来验证配置是否正确:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/你的域名/html/info.php
在浏览器中访问 http://你的域名/info.php
,你应该能看到PHP信息页面。
通过以上步骤,你已经成功配置了PHP-FPM与Nginx在Ubuntu系统上的协同工作。确保你的防火墙允许HTTP(80)和HTTPS(443)流量。如果有任何问题,可以查看Nginx和PHP-FPM的日志文件以获取更多信息。