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
攻克CakePHP系列三 表单数据增删改
Oct 22 PHP
PHP写的获取各搜索蜘蛛爬行记录代码
Aug 21 PHP
php使用cookie保存用户登录的用户名实例
Jan 26 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
Sep 20 PHP
WordPress中邮件的一些修改和自定义技巧
Dec 15 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
Feb 19 PHP
Yii遍历行下每列数据的方法
Oct 17 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
PHP实现websocket通信的方法示例
Aug 28 PHP
PHP sdk实现在线打包代码示例
Dec 09 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 编程的 5个良好习惯
2009/02/20 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
PHP redis实现超迷你全文检索
2017/03/04 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
GreyBox技术总结(转)
2010/11/23 Javascript
js转义字符介绍
2013/11/05 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
jquery中checkbox使用方法简单实例演示
2015/11/24 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
nodejs aes 加解密实例
2018/10/10 NodeJs
electron踩坑之dialog中的callback解决
2020/10/06 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
2020/10/13 Javascript
Vue+Spring Boot简单用户登录(附Demo)
2020/11/12 Javascript
three.js如何实现3D动态文字效果
2021/03/03 Javascript
python 简单的多线程链接实现代码
2016/08/28 Python
Python的numpy库中将矩阵转换为列表等函数的方法
2018/04/04 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
python使用opencv驱动摄像头的方法
2018/08/03 Python
Django框架模板介绍
2019/01/15 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
python selenium循环登陆网站的实现
2019/11/04 Python
Python多线程模块Threading用法示例小结
2019/11/09 Python
python实现在多维数组中挑选符合条件的全部元素
2019/11/26 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)
2020/08/07 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
高中生的自我评价
2014/03/04 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
新员工考核评语
2014/12/31 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
Python极值整数的边界探讨分析
2021/09/15 Python