php-fpm与Nginx在Linux中如何协同工作
导读:PHP-FPM(FastCGI Process Manager)和Nginx在Linux系统中协同工作,以提供高效的PHP网站和应用服务。以下是它们协同工作的基本步骤: 1. 安装PHP-FPM和Nginx 首先,你需要在你的Linux系统...
PHP-FPM(FastCGI Process Manager)和Nginx在Linux系统中协同工作,以提供高效的PHP网站和应用服务。以下是它们协同工作的基本步骤:
1. 安装PHP-FPM和Nginx
首先,你需要在你的Linux系统上安装PHP-FPM和Nginx。你可以使用包管理器来安装这些软件。
在Debian/Ubuntu上:
sudo apt update
sudo apt install nginx php-fpm
在CentOS/RHEL上:
sudo yum install epel-release
sudo yum install nginx php-fpm
2. 配置PHP-FPM
PHP-FPM的配置文件通常位于/etc/php/版本号/fpm/pool.d/www.conf。你需要确保PHP-FPM监听一个Unix套接字或TCP端口。
使用Unix套接字:
编辑/etc/php/版本号/fpm/pool.d/www.conf,找到并修改以下行:
listen = /run/php/php7.4-fpm.sock
确保权限正确:
sudo chown www-data:www-data /run/php/php7.4-fpm.sock
使用TCP端口:
如果你选择使用TCP端口,修改以下行:
listen = 127.0.0.1:9000
3. 配置Nginx
Nginx需要配置一个server块来处理PHP请求,并将它们传递给PHP-FPM。
编辑Nginx配置文件,通常位于/etc/nginx/sites-available/默认或/etc/nginx/conf.d/default.conf:
server {
listen 80;
server_name example.com;
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/php7.4-fpm.sock;
# 或者使用127.0.0.1:9000
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
4. 启动和启用服务
启动并启用Nginx和PHP-FPM服务:
在Debian/Ubuntu上:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm
在CentOS/RHEL上:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
5. 测试配置
确保Nginx和PHP-FPM都在运行,并且配置正确。你可以通过访问你的网站来测试:
curl http://example.com
如果一切正常,你应该能够看到PHP脚本的输出。
总结
通过以上步骤,你已经成功配置了Nginx和PHP-FPM在Linux系统中的协同工作。Nginx负责处理HTTP请求并将PHP请求传递给PHP-FPM,PHP-FPM则负责执行PHP脚本并返回结果。这种架构提供了高性能和可扩展性,适用于大多数现代Web应用。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: php-fpm与Nginx在Linux中如何协同工作
本文地址: https://pptw.com/jishu/777238.html
