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 相关文章推荐
一个简洁的多级别论坛
Oct 09 PHP
php Notice: Undefined index 错误提示解决方法
Aug 29 PHP
paypal即时到账php实现代码
Nov 28 PHP
PHP 第二节 数据类型之数值型
Apr 28 PHP
解析PHP高效率写法(详解原因)
Jun 20 PHP
PHP生成自适应大小的缩略图类及使用方法分享
May 06 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
thinkphp中session和cookie无效的解决方法
Dec 19 PHP
PHP生成静态HTML文档实现代码
Jun 23 PHP
AES加解密在php接口请求过程中的应用示例
Oct 26 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
Jun 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
德生PL660的电路分析和打磨
2021/03/02 无线电
PHP中Session的概念
2006/10/09 PHP
phpmyadmin的#1251问题
2006/11/25 PHP
PHP explode()函数用法、切分字符串
2012/10/03 PHP
Laravel 5框架学习之表单验证
2015/04/08 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
javascript自执行函数之伪命名空间封装法
2010/12/25 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
JavaScript模拟鼠标右键菜单效果
2020/12/08 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python入门基础之用户输入与模块初认识
2016/11/14 Python
Django中Forms的使用代码解析
2018/02/10 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
2019/03/23 Python
Python循环实现n的全排列功能
2019/09/16 Python
Python实现爬取并分析电商评论
2020/06/19 Python
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
JAVA中运算符的分类及举例
2015/09/12 面试题
希特勒经典演讲稿
2014/05/19 职场文书
公务员诚信承诺书
2014/05/26 职场文书
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
2014年物业公司工作总结
2014/11/22 职场文书
企业百日安全活动总结
2015/05/07 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
比较几种Redis集群方案
2021/06/21 Redis
Python的代理类实现,控制访问和修改属性的权限你都了解吗
2022/03/21 Python
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python