售前咨询400-838-0503

怎样在Linux服务器上安装Nginx+PHP-FPM?

发布:2025-03-31 19:26

搜索全部帮助分类的文档

Linux服务器上Nginx+PHP-FPM安装配置全攻略

在当今Web开发领域,Nginx+PHP-FPM的组合已经成为高性能网站的首选方案。本文将详细介绍如何在Linux服务器上从零开始搭建这一黄金组合,涵盖从基础安装到优化配置的全过程。

一、前期准备工作

  1. 确保拥有root权限或sudo权限的Linux服务器
  2. 推荐使用Ubuntu 20.04/22.04或CentOS 7/8系统
  3. 至少1GB内存(生产环境建议2GB以上)
  4. 稳定的网络连接

提示:建议在操作前执行sudo apt update && sudo apt upgrade(Ubuntu)或sudo yum update(CentOS)更新系统。

二、分步骤安装指南

1. Nginx安装

Ubuntu/Debian系统:

sudo apt install nginx
sudo systemctl start nginx
sudo systemctl enable nginx

CentOS/RHEL系统:

sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx

2. PHP-FPM安装

推荐安装PHP 7.4或8.0版本:

Ubuntu/Debian:

sudo apt install php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip

CentOS/RHEL:

sudo yum install php-fpm php-mysqlnd php-cli php-curl php-gd php-mbstring php-xml php-zip

三、关键配置详解

1. Nginx与PHP-FPM联动配置

编辑Nginx站点配置文件(通常位于/etc/nginx/sites-available/):

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:/var/run/php/php8.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

2. PHP-FPM优化配置

编辑/etc/php/8.0/fpm/pool.d/www.conf(路径可能因版本不同):

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 500

四、性能优化技巧

  • 启用OPcache:大幅提升PHP执行效率
  • 配置Nginx缓存:减少后端请求压力
  • 调整PHP-FPM进程数:根据服务器内存合理设置
  • 启用HTTP/2:提升页面加载速度
  • 定期日志轮转:防止日志文件占用过多空间

五、常见问题解决

Q:出现502 Bad Gateway错误怎么办?

A:检查PHP-FPM是否运行,确认Nginx配置中的fastcgi_pass路径正确。

Q:PHP文件被下载而不是执行?

A:确保Nginx配置中正确处理了.php文件的location块。

Q:如何查看PHP-FPM错误日志?

A:日志通常位于/var/log/php8.0-fpm.log(路径可能因版本不同)。

六、总结

通过本文的详细指导,您应该已经成功在Linux服务器上搭建了Nginx+PHP-FPM环境。这套组合能够为您的网站提供出色的性能和稳定性。建议定期检查官方文档获取最新安全更新,并根据实际访问量调整配置参数。

下一步可以学习如何配置SSL证书、设置MySQL数据库以及部署实际Web应用。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单