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:风雨欲来 路在何方?
Oct 09 PHP
PHP 存取 MySQL 数据库的一个例子
Oct 09 PHP
php allow_url_include的应用和解释
Apr 22 PHP
php基础学习之变量的使用
Jun 09 PHP
PHP使用静态方法的几个注意事项
Sep 16 PHP
php实现微信公众平台账号自定义菜单类
Dec 02 PHP
PHP合并数组+号和array_merge的区别
Jun 25 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
Mar 21 PHP
CI(CodeIgniter)框架视图中加载视图的方法
Mar 24 PHP
thinkPHP框架自动填充原理与用法分析
Apr 03 PHP
PHP预定义超全局数组变量小结
Aug 20 PHP
Laravel 框架控制器 Controller原理与用法实例分析
Apr 14 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的ASP防火墙
2006/10/09 PHP
php图片加中文水印实现代码分享
2012/10/31 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
2013/06/21 PHP
php获得网站访问统计信息类Compete API用法实例
2015/04/02 PHP
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
php微信公众号开发之二级菜单
2018/10/20 PHP
JavaScript 编程引入命名空间的方法
2007/06/29 Javascript
ASP.NET jQuery 实例16 通过控件CustomValidator验证RadioButtonList
2012/02/03 Javascript
jQuery如何使用自动触发事件trigger
2015/11/29 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
2017/01/05 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
微信小程序:数据存储、传值、取值详解
2019/05/07 Javascript
vue+egg+jwt实现登录验证的示例代码
2019/05/18 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
微信小程序如何访问公众号文章
2019/07/08 Javascript
基于element-ui封装可搜索的懒加载tree组件的实现
2020/05/22 Javascript
JavaScript实现点击出现子菜单效果
2021/02/08 Javascript
Python中实现对list做减法操作介绍
2015/01/09 Python
使用python判断你是青少年还是老年人
2018/11/29 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
2018/12/05 Python
Python 判断图像是否读取成功的方法
2019/01/26 Python
浅谈Python中(&,|)和(and,or)之间的区别
2019/08/07 Python
Python中如何添加自定义模块
2020/06/09 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
python实现人工蜂群算法
2020/09/18 Python
css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
2014/10/10 HTML / CSS
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
哈萨克斯坦最大的时装、鞋子和配饰在线商店:Lamoda.kz
2019/11/19 全球购物
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
运动会口号8字
2014/06/07 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
2015年党风建设工作总结
2015/04/29 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书