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

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

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

以下方法将使您在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.htm index 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;

编辑:正如Matt Browne所指出,您可能会对此更近的post感兴趣:
如何在Ubuntu 16.04中安装Linux,Nginx,MySQL,PHP(LEMP堆栈)


在旧的Ubuntu 12.04上, papashou的答案是正确的。 从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 '' | \ sudo tee /usr/share/nginx/www/info.php 

    或作为一个class轮

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

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