在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!”) br /> sudo service nginx stop

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

取消注释服务器{}部分中以

index index.php index.html index.htm表示ipv4 / ipv6的行。

向下滚动到显示listen的位置。和取消注释的行,因此它看起来像这样: share / nginx / www(根据配置文件)。 (请参阅location ~ \.php {

(注意:对于Ubuntu 12.10或更高版本,您需要用以下代码替换sudo service php5-fpm restart行才能使其正常工作:sudo service nginx restart

评论


作为后期说明,您可以通过编辑/etc/php5/fpm/pool.d/www.conf并将监听行更改为listen = / var / run / php5-fpm,使12.04像12.10+一样使用UNIX套接字.sock,然后使用@ThomasW行。提到。

–霸主
2014年3月30日19:53



@Powerlord NGINX的默认设置包含两行,并解释了两者之间的区别,而不必更改PHP的运行方式,您可以更快地更改NGINX中的配置行,并且一切正常。

–托马斯·沃德♦
2014-03-30 23:36



@ThomasW。 NGINX默认设置的两行描述在12.04中也是错误的。由于在12.04中如何配置php5-fpm,因此php5-fpm需要第一种方法。直到12.10才更改为第二种方法。要使php5-fpm与nginx一起使用,请按照我之前的信息中所述修改fpm的www.conf。

–霸主
2014年3月31日0:53

@Powerlord是的,这是一个问题,可以通过更改默认配置文件中的文档来解决此问题。请参阅我在此问题上创建的此错误。我还没有机会提出错误修正。

–托马斯·沃德♦
14年4月4日在11:19

在ubuntu 14.04上,这不适用于我。 nginx说“发生错误,找不到您要查找的页面”,该怎么办?

–user3459110
2014年9月11日下午12:05

#2 楼

编辑:正如马特·布朗(Matt Browne)指出的那样,您可能对以下最新文章感兴趣:如何在Ubuntu 16.04中安装Linux,Nginx,MySQL,PHP(LEMP堆栈)


在旧的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 }' /etc/nginx/sites-available/default


eg的输出/usr/share/nginx/www


用以下内容编写一个info.php文件:


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

评论


谢谢你这是另一个有用的链接:digitalocean.com/community/tutorials/…。请注意,如果要安装MySQL,还需要运行apt-get install php5-mysql(除了安装MySQL本身)。

–马特·布朗(Matt Browne)
2014年10月3日在22:46

以上是适用于Ubuntu 16的文章的新版本:digitalocean.com/community/tutorials/…

–马特·布朗(Matt Browne)
17年1月22日在23:33

#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



设置正确的root文件夹。
index.php添加到index指令。
取消注释php的位置处理程序,但如果使用php-fpm,请保留“ php-cgi”行的注释。还请确保正确的fpm版本,以免在本地主机上获得“ 502 Bad Gateway”:fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;

sudo service nginx restart


适用于: />

评论


如何添加其他答案未涉及的内容?

–托马斯·沃德♦
20-2-24在14:42

FPM版本,没有过时的配置。

– Cees Timmerman
20-2-24在15:59