nginx下安装php7+php5


Posted in PHP onJuly 31, 2016

起步

之前在服务器搭建了lamp环境,想换用性能更强的nginx作为服务器软件,又想将php5升级为php7.

安装nginx无需赘述:sudo apt-get install nginx,启动ng前修改apache的端口。

安装php7

源码在http://php.net/downloads.php 下载,并解压。

# cd php7***

# ./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-mcrypt=/usr/include --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache
# make

# make install

为不与5冲突,文件夹都用php7,安装过程中报错的安装响应的依赖。

对接nginx

nginx本身不能处理php脚本,需要发给php解释器处理。nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx。

# cp php.ini-production /usr/local/php7/etc/php.ini

# cp sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm

# chmod +x /etc/init.d/php7-fpm

# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf

# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

启动php-fpm

# service php7-fpm start

中途如遇到日志文件路径不存在就手动创建并给予写的权限。

# service php7-fpm start

Starting php-fpm [07-Apr-2016 11:16:11] ERROR: [pool www] cannot get gid for group 'nobody'

[07-Apr-2016 11:16:11] ERROR: FPM initialization failed

 failed

遇到这个错误时,要添加个nobody组groupadd nobody再重新启动。

nginx的配置

这是访问php文件是变成下载文件,因为ng并未配置响应处理。

location ~ \.php$ {
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include    fastcgi_params;
    }
PHP 相关文章推荐
BBS(php & mysql)完整版(七)
Oct 09 PHP
php 学习资料零碎东西
Dec 04 PHP
通过php快速统计某个数据库中每张表的数据量
Sep 04 PHP
浅谈PHP强制类型转换,慎用!
Jun 06 PHP
PHP使用GIFEncoder类处理gif图片实例
Jul 01 PHP
YII Framework框架教程之日志用法详解
Mar 14 PHP
一个简单安全的PHP验证码类 附调用方法
Jun 24 PHP
phpcms中的评论样式修改方法
Oct 21 PHP
PHP内置加密函数详解
Nov 20 PHP
CI框架AR数据库操作常用函数总结
Nov 21 PHP
php中上传文件的的解决方案
Sep 25 PHP
php分享朋友圈的实现代码
Feb 18 PHP
header与缓冲区之间的深层次分析
Jul 30 #PHP
laravel学习教程之关联模型
Jul 30 #PHP
laravel学习教程之存取器
Jul 30 #PHP
thinkphp表单上传文件并将文件路径保存到数据库中
Jul 28 #PHP
thinkphp验证码的实现(form、ajax实现验证)
Jul 28 #PHP
Thinkphp3.2.3分页使用实例解析
Jul 28 #PHP
thinkphp3.2.3 分页代码分享
Jul 28 #PHP
You might like
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
2014/06/25 PHP
PHP防止刷新重复提交页面的示例代码
2015/11/11 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
php使用CutyCapt实现网页截图保存的方法
2016/10/03 PHP
PHPExcel导出2003和2007的excel文档功能示例
2017/01/04 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
JavaScript中的字符串操作详解
2013/11/12 Javascript
jQuery实用技巧必备(下)
2015/11/03 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
2016/06/17 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
Angular通过指令动态添加组件问题
2018/07/09 Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
2018/11/08 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
vue不操作dom实现图片轮播的示例代码
2019/12/18 Javascript
[02:15]2014DOTA2国际邀请赛 赛后退役选手回顾
2014/08/01 DOTA
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
对python 通过ssh访问数据库的实例详解
2019/02/19 Python
keras 多任务多loss实例
2020/06/22 Python
Python descriptor(描述符)的实现
2020/11/15 Python
护理专业的自荐信
2013/10/22 职场文书
经理秘书找工作求职信
2013/12/19 职场文书
检讨书范文500字
2015/01/28 职场文书
名人传读书笔记
2015/06/26 职场文书
婚礼父母致辞
2015/07/28 职场文书
环保主题班会教案
2015/08/13 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript
DE1103使用报告
2022/04/05 无线电