在Ubuntu14.04上安装Nginx1.10.1和PHP7.0
一、前言
Ubuntu14.04是两年前出的系统了,如果直接用apt-get安装的话,Nginx是1.4的版本,而PHP则是5.5的版本,都是比较老了,如果想安装新一点的版本的话,就得多几道工序。
二、安装Nginx 1.10.1
Nginx有两个开发仓库,一个是mainline,另一个是stable。
mainline仓库包含着Nginx官方最新发布的特性,当这些新特性经过一定时间考验成熟后,就会并入stable仓库也就是稳定版中,在Nginx官网中可以查看两个仓库的最新版本情况:
可以看到,mainline的最新版本为1.11.3,stable的最新版本为1.10.1,这里选择安装的是后者。
第一步:添加nginx_signing.key
wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
第二步:添加官方源
sudo vi /etc/apt/sources.list.d/nginx.list
然后写入:
deb http://nginx.org/packages/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/ubuntu/ trusty nginx
这里的"trusty"是Ubuntu 14.04的系统代号,如果是别的系统版本则换为相应的系统代号(例如Ubuntu 16.04是"xenial"),点击这里可以查看Ubuntu所有系统版本的codename。
Ps:如果想安装mainline版本而非stable版本的话,可以这样写:
deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ trusty nginx
第三步:更新源并安装Nginx
sudo apt-get update && sudo apt-get install nginx
可以输入下面命令检查方才安装的Nginx的版本:
nginx -v
在浏览器里输入Ubuntu系统的所在IP,会出现欢迎页面:
这说明此时Nginx已经成功地安装在了Ubuntu 14.04上。
三、安装PHP7.0
PHP7包含了最新的Zend引擎,据说能显著降低内存使用,速度是PHP5.6的两倍
Zend在其官网中发布了PHP7的性能测评图表,简直6得飞起啊,看到Wordpress的图表时,甚是惊喜:
至于实际环境运行怎样,自己倒没去测试过,不过新技术出来了,就要大胆拥抱嘛~
这里通过PPA来安装PHP7
第一步:添加PPA
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ondrej/php
第二步:安装PHP7
sudo apt-get update
sudo apt-get install -y php7.0
输入"php -v"可以检查安装版本
第三步:安装组件扩展
一般都会用到MYSQL,GD, Cli, JSON:
sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json
也可以执行sudo apt-cache search php7
来查看所有相关的组件扩展,选择安装。
第四步:配置PHP
sudo vim /etc/php/7.0/fpm/php.ini
我们需要寻找字段 cgi.fix_pathinfo (查找方法:vim命令模式下按‘/’,然后输入要查找的字符回车)。这个参数用来对设置cgi模式下为php是否提供绝对路径信息或PATH_INFO信息,Nginx默认是不会设置PATH_INFO环境变量的的值,需要php使用cgi.fix_pathinfo=1来完成路径信息的获取,但同时会带来安全隐患。
找到该字段,去掉注释后,把cgi.fix_pathinfo设置为0,这样php就获取不到PATH_INFO信息。
四、给Nginx适配php
第一步:统一用户
PHP7的默认所属用户和组为 www-data 需要将Nginx的也改为 www-data :
sudo vim /etc/nginx/nginx.conf
第二步:修改默认配置
接下来还得告诉Nginx去如何使用PHP处理器,打开Nginx的默认服务配置:
sudo vim /etc/nginx/conf.d/default
我们要做如下改动:
1、添加index.php到server值index中,让Nginx识别index.php
2、开启PHP服务:
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
改好后保存退出,重启服务:
sudo service php7.0-fpm restart
sudo service nginx restart
第三步:创建PHP文件,测试上面步骤是否成功
首先创建一个测试文件,我们把它命名为info.php:
sudo vim /usr/share/nginx/html/info.php
然后把以下内容输入到info.php里面:
<?php
phpinfo();
?>
保存并退出。
现在,你可以通过你的网页浏览器访问服务器了,按照下面格式输入访问的地址:
http://你的域名或IP/info.php
你将看到的是由PHP生成的关于你服务器信息的一个页面:
看到这个,就说明你的Nginx和PHP已经成功安装在你的Ubuntu上了!
最后为了隐私和安全起见,最好输入下面命令行吧刚才生成的info.php文件删除:
sudo rm /usr/share/nginx/html/info.php
本文标题:在Ubuntu14.04上安装Nginx1.10.1和PHP7.0
转载请注明出处,欢迎分享
请问下楼主,我再用virtualbox下的ubuntu14.04,通过ppa安装php7,使用的是清华大学tuna源,在执行第一步添加ppa之后,执行apt-get update报了Failed to fetch http://ppa.launchpad.net/ondrej/php/ubuntu/dists/trusty/main/binary-amd64/Packages Hash Sum mismatch
在网上找了很多都没解决问题,请问下楼主遇到过这种问题没有
出现Hash Sum Mismatch是因为你在清华源获取的文件的校验信息跟官方源不一致
更换为阿里源吧稳定些, 再不行删掉/var/lib/apt/lists/partial/下的文件
手机QQ