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 相关文章推荐
php 定界符格式引起的错误
May 24 PHP
yii实现图片上传及缩略图生成的方法
Dec 04 PHP
分享常见的几种页面静态化的方法
Jan 08 PHP
PHP 常用的header头部定义汇总
Jun 19 PHP
php自动加载方式集合
Apr 04 PHP
php数组分页实现方法
Apr 30 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
Nov 10 PHP
PHP判断数组是否为空的常用方法(五种方法)
Feb 08 PHP
wordpress网站转移到本地运行测试的方法
Mar 15 PHP
PHP7扩展开发教程之Hello World实现方法示例
Aug 03 PHP
PHP实现对数字分隔加千分号的方法
Mar 18 PHP
laravel 解决强制跳转 https的问题
Oct 22 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入门学习知识点三 PHP上传
2011/07/14 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
jQuery+PHP实现图片上传并提交功能
2020/07/27 PHP
绑定回车enter事件代码
2014/05/18 Javascript
用JavaScript实现用一个DIV来包装文本元素节点
2014/09/09 Javascript
简单谈谈javascript代码复用模式
2015/01/28 Javascript
js实现点击切换TAB标签实例
2015/08/21 Javascript
深入理解jQuery.data() 的实现方式
2016/11/30 Javascript
利用JavaScript实现拖拽改变元素大小
2016/12/14 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
nodejs body-parser 解析post数据实例
2017/07/26 NodeJs
Vue render深入开发讲解
2018/04/13 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
Python实现的用户登录系统功能示例
2018/02/05 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
详解python里的命名规范
2018/07/16 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
python+requests实现接口测试的完整步骤
2020/10/27 Python
OpenCV灰度化之后图片为绿色的解决
2020/12/01 Python
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
2013/08/11 HTML / CSS
CSS3中box-shadow的用法介绍
2015/07/15 HTML / CSS
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
投标承诺书怎么写
2014/05/24 职场文书
政风行风建设责任书
2014/07/23 职场文书
2014年医务科工作总结
2014/12/18 职场文书
关于JavaScript回调函数的深入理解
2021/06/27 Javascript
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android
python中filter,map,reduce的作用
2022/06/10 Python