在Linux上配置Nginx以使用PHP,你需要遵循以下步骤:
安装Nginx和PHP-FPM: 在大多数Linux发行版中,你可以使用包管理器来安装Nginx和PHP-FPM。例如,在基于Debian的系统(如Ubuntu)上,你可以使用以下命令:
sudo apt-get update
sudo apt-get install nginx php-fpm
在基于RPM的系统(如CentOS)上,你可以使用以下命令:
sudo yum install epel-release
sudo yum install nginx php-fpm
配置PHP-FPM:
编辑PHP-FPM配置文件。在Debian/Ubuntu系统上,该文件通常位于/etc/php/7.x/fpm/pool.d/www.conf
(其中7.x是你的PHP版本)。在CentOS/RHEL系统上,该文件通常位于/etc/php-fpm.d/www.conf
。
确保以下行没有被注释掉(删除行首的分号):
listen = /run/php/php7.x-fpm.sock
将7.x
替换为你的PHP版本。
配置Nginx:
编辑Nginx的默认站点配置文件。在Debian/Ubuntu系统上,该文件通常位于/etc/nginx/sites-available/default
。在CentOS/RHEL系统上,该文件通常位于/etc/nginx/conf.d/default.conf
。
在server
块中,找到location ~ \.php$
部分,并修改为以下内容:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.x-fpm.sock;
}
将7.x
替换为你的PHP版本。
如果你想让Nginx处理所有的PHP请求,你还可以将location /
块中的try_files
指令更改为:
try_files $uri $uri/ =404;
重启Nginx和PHP-FPM服务: 在Debian/Ubuntu系统上,使用以下命令:
sudo systemctl restart nginx
sudo systemctl restart php7.x-fpm
在CentOS/RHEL系统上,使用以下命令:
sudo systemctl restart nginx
sudo systemctl restart php-fpm
测试配置:
创建一个名为info.php
的文件,将其放在你的Web服务器的根目录中(例如,在Debian/Ubuntu上通常是/var/www/html
),并添加以下内容:
<?php
phpinfo();
?>
在浏览器中访问http://your_server_ip/info.php
。你应该看到PHP信息页面,这表明Nginx已成功配置为使用PHP-FPM处理PHP请求。
安全性和性能优化: 根据你的需求,你可能还需要配置HTTPS、调整PHP内存限制、禁用不必要的PHP模块等。这些操作超出了本回答的范围,但你可以查阅Nginx和PHP的官方文档以获取更多信息。