在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信息页面。