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 相关文章推荐
PHP4中实现动态代理
Oct 09 PHP
多php服务器实现多session并发运行
Oct 09 PHP
自己前几天写的无限分类类
Feb 14 PHP
PHP的SQL注入过程分析
Jan 06 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
Aug 09 PHP
php实现的验证码文件类实例
Jun 18 PHP
php+ajax 实现输入读取数据库显示匹配信息
Oct 08 PHP
PHP代码维护,重构变困难的4种原因分析
Jan 25 PHP
微信小程序 消息推送php服务器验证实例详解
Mar 30 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
Dec 01 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
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
Javascript this关键字使用分析
2008/10/21 Javascript
JS实现标签页效果(配合css)
2013/04/03 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
JavaScript获取并更改input标签name属性的方法
2015/07/02 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
利用JS判断鼠标移入元素的方向
2016/12/11 Javascript
vue模板语法-插值详解
2017/03/06 Javascript
如何抽象一个Vue公共组件
2017/10/17 Javascript
详解vue项目首页加载速度优化
2017/10/18 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
python多重继承实例
2014/10/11 Python
python中requests库session对象的妙用详解
2017/10/30 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
2019/02/26 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
Python 字符串池化的前提
2020/07/03 Python
Python requests上传文件实现步骤
2020/09/15 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
关于HTML5的安全问题开发人员需要牢记的
2012/06/21 HTML / CSS
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
澳大利亚优质葡萄酒专家:Vintage Cellars
2019/01/08 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
Ajax主要包含了哪些技术
2014/06/12 面试题
新学期红领巾广播稿
2014/01/14 职场文书
食品安全检查制度
2014/02/03 职场文书
市级文明单位申报材料
2014/05/07 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
精神病医院见习报告
2014/11/03 职场文书
php访问对象中的成员的实例方法
2021/11/17 PHP
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang