售前咨询400-838-0503

Linux服务器如何安装Nginx+PHP-FPM?

发布:2025-05-20 03:54

Linux服务器安装Nginx+PHP-FPM完整指南

在当今的Web开发环境中,Nginx与PHP-FPM的组合已成为高性能网站的首选解决方案之一。本文将详细介绍如何在Linux服务器上安装和配置Nginx与PHP-FPM,帮助您搭建一个稳定高效的Web服务环境。

一、准备工作

在开始安装之前,请确保您已经具备以下条件:

  • 一台运行Linux的服务器(本文以Ubuntu 20.04为例)
  • SSH访问权限
  • 管理员(root)权限
  • 基本的Linux命令行操作知识

二、安装Nginx

Nginx是一个高性能的HTTP和反向代理服务器,我们先从安装Nginx开始:

# 更新软件包列表
sudo apt update

# 安装Nginx
sudo apt install nginx -y

# 启动Nginx服务
sudo systemctl start nginx

# 设置开机自启
sudo systemctl enable nginx

安装完成后,您可以通过浏览器访问服务器IP地址,应该能看到Nginx的欢迎页面。

三、安装PHP-FPM

PHP-FPM(FastCGI Process Manager)是PHP的FastCGI管理器,能够显著提高PHP的性能:

# 添加PHP官方仓库
sudo add-apt-repository ppa:ondrej/php
sudo apt update

# 安装PHP和常用扩展(以PHP8.1为例)
sudo apt install php8.1-fpm php8.1-cli php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip -y

# 启动PHP-FPM服务
sudo systemctl start php8.1-fpm

# 设置开机自启
sudo systemctl enable php8.1-fpm

四、配置Nginx与PHP-FPM协同工作

接下来我们需要配置Nginx让它能够处理PHP文件:

  1. 编辑默认Nginx配置文件:
    sudo nano /etc/nginx/sites-available/default
  2. 找到处理PHP的部分,修改为类似以下配置:
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
  3. 测试Nginx配置并重启服务:
    sudo nginx -t
    sudo systemctl restart nginx

五、测试PHP处理

创建一个测试PHP文件来验证配置是否成功:

sudo nano /var/www/html/info.php

添加以下内容:

保存后,通过浏览器访问http://您的服务器IP/info.php,应该能看到PHP信息页面。

六、安全设置与优化

完成基本安装后,建议进行以下安全设置:

  • 限制PHP信息显示
    sudo sed -i 's/expose_php = On/expose_php = Off/' /etc/php/8.1/fpm/php.ini
  • 禁用危险PHP函数
    sudo sed -i 's/;disable_functions =/disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source/' /etc/php/8.1/fpm/php.ini
  • 重启PHP-FPM使更改生效
    sudo systemctl restart php8.1-fpm

七、常见问题解决

问题1:502 Bad Gateway错误
检查PHP-FPM是否运行,以及Nginx配置中的socket路径是否正确。

问题2:PHP文件被下载而不是执行
确保Nginx配置中正确处理了PHP文件,并检查MIME类型设置。

问题3:内存不足
调整PHP-FPM的pm.max_children等参数,根据服务器配置优化资源使用。

八、高级配置建议

  • 配置OPcache加速PHP执行
  • 设置Nginx缓存策略
  • 启用HTTP/2协议
  • 配置SSL/TLS加密
  • 设置适当的文件权限

通过以上步骤,您已经成功在Linux服务器上安装了Nginx和PHP-FPM,并完成了基本配置。这个组合将为您的Web应用提供高性能、高并发的处理能力。

在实际生产环境中,建议进一步研究Nginx和PHP-FPM的优化参数,根据您的具体应用需求进行调整。

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

提交工单