最好的解决方案是需要最少工作的解决方案,理想的情况是只需进行软件包安装:)
#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
)#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
评论
作为后期说明,您可以通过编辑/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