linux

PHP在Linux上如何配置Nginx

小樊
37
2025-07-19 12:03:49
栏目: 编程语言

在Linux上配置Nginx以使用PHP,你需要遵循以下步骤:

  1. 安装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
    
  2. 配置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版本。

  3. 配置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;
    
  4. 重启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
    
  5. 测试配置: 创建一个名为info.php的文件,将其放在你的Web服务器的根目录中(例如,在Debian/Ubuntu上通常是/var/www/html),并添加以下内容:

    <?php
    phpinfo();
    ?>
    

    在浏览器中访问http://your_server_ip/info.php。你应该看到PHP信息页面,这表明Nginx已成功配置为使用PHP-FPM处理PHP请求。

  6. 安全性和性能优化: 根据你的需求,你可能还需要配置HTTPS、调整PHP内存限制、禁用不必要的PHP模块等。这些操作超出了本回答的范围,但你可以查阅Nginx和PHP的官方文档以获取更多信息。

0
看了该问题的人还看了