在 nginx 上启用 PHP 的最简单方法是什么?

在 nginx 上启用 PHP 的最简单方法是什么?

在 Ubuntu 12.04 上的 nginx 上启用 PHP 的最简单方法是什么?

最好的解决方案是需要最少的工作,理想情况下只需要安装一个包:)

答案1

以下方法可以帮助您快速开始使用 Ubuntu 12.04:

安装依赖项:

sudo apt-get install php5-common php5-cli php5-fpm

安装 nginx:

sudo apt-get install nginx

启动 nginx:

sudo service nginx start

测试它是否正常工作(应该看到“欢迎使用 nginx!”)

sudo service nginx stop

在您的 nginx 站点配置(/etc/nginx/sites-available/default)中,修改服务器 {} 部分中的行

index index.html index.htmindex index.php index.html index.htm

取消注释服务器 {} 部分中以以下内容开头的行

listen适用于 ipv4 / ipv6。

向下滚动到它所说的位置location ~ \.php {并取消注释行,使其看起来像这样:

location ~ \.php$ {
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  include fastcgi_params;
}

sudo service php5-fpm restart sudo service nginx restart

您的默认 Web 根目录位于 /usr/share/nginx/www(根据配置文件)。(请参阅root /usr/share/nginx/www;

(注意:对于 Ubuntu 12.10 或更新版本,您需要用fastcgi_pass 127.0.0.1:9000;此行替换它才能使其工作fastcgi_pass unix:/var/run/php5-fpm.sock;:)

答案2

编辑:正如马特·布朗您可能对这篇最新文章感兴趣:
如何在 Ubuntu 16.04 中安装 Linux、Nginx、MySQL、PHP(LEMP 堆栈)


papashou 的回答在旧版 Ubuntu 12.04 上是正确的。从 Ubuntu 12.10 开始,配置略有不同。以下是我所做的:

安装

sudo apt-get install nginx php5-fpm

启用 PHP

取消注释配置文件中的以下几行/etc/nginx/sites-available/default

location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

#   # With php5-cgi alone:
#   fastcgi_pass 127.0.0.1:9000;
    # With php5-fpm:
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
}

开始(或重启)

sudo service php5-fpm restart
sudo service nginx restart

测试nginx

打开此链接http://localhost应该显示“欢迎使用 nginx!”

测试php

创建一个 php 文件:

  • 目标路径是

    awk -F' |;' '/^[^#]*root/ {print $2}' /etc/nginx/sites-available/default
    

    例如/usr/share/nginx/www

  • 写入info.php文件:

    echo '<?php phpinfo(); ?>' | \
        sudo tee /usr/share/nginx/www/info.php
    

    或者单行

    echo '<?php phpinfo(); ?>' | \
        sudo tee "$(awk -F' |;' '/^[^#]*root/ {print $2}' /etc/nginx/sites-available/default)/info.php"
    

打开后http://localhost/info.php应该会显示 PHP 信息页面。

答案3

sudo apt install nginx php-fpm

注意 fpm 版本,或者php -v在我的情况下检查 .7.3.11-0ubuntu0.19.10.3 (cli)。

sudo nano /etc/nginx/sites-available/default
  1. 设置正确的root文件夹。

  2. 添加index.phpindex指令。

  3. 取消注释 php 的位置处理程序,但如果使用 php-fpm,请保留“php-cgi”行的注释。还要确保 fpm 版本正确,以免在本地主机上出现“502 Bad Gateway”:fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;

sudo service nginx restart

适用于:

$ nginx -v
nginx version: nginx/1.16.1 (Ubuntu)
$ uname -a
Linux cees-XPS-13-9380 4.15.0-1067-oem #77-Ubuntu SMP Mon Jan 20 09:23:07 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

相关内容