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 相关文章推荐
echo, print, printf 和 sprintf 区别
Dec 06 PHP
php getsiteurl()函数
Sep 05 PHP
用PHP实现读取和编写XML DOM代码
Apr 07 PHP
PHP学习笔记(一) 简单了解PHP
Aug 04 PHP
PHP实现AES256加密算法实例
Sep 22 PHP
PHP开发注意事项总结
Feb 04 PHP
php实现的验证码文件类实例
Jun 18 PHP
Smarty模板简单配置与使用方法示例
May 23 PHP
php 中的closure用法详解
Jun 12 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
Aug 10 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
Nov 07 PHP
Ajax请求PHP后台接口返回信息的实例代码
Aug 21 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基础知识:类与对象(3) 构造函数和析构函数
2006/12/13 PHP
ajax php 实现写入数据库
2009/09/02 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
使用PHP免费发送定时短信的实例
2016/10/24 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
PDO::getAttribute讲解
2019/01/28 PHP
laravel-admin select框默认选中的方法
2019/10/03 PHP
php的单例模式及应用场景详解
2021/02/27 PHP
jQuery中$.each使用详解
2015/01/29 Javascript
JavaScript判断用户是否对表单进行了修改的方法
2015/03/18 Javascript
基于JavaScript实现快速转换文本语言(繁体中文和简体中文)
2016/03/07 Javascript
JavaScript头像上传插件源码分享
2016/03/29 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
实例分析浏览器中“JavaScript解析器”的工作原理
2016/12/12 Javascript
jQuery实现键盘回车搜索功能
2017/07/25 jQuery
Bootstrap开发中Tab标签页切换图表显示问题的解决方法
2018/07/13 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
python线程池的实现实例
2013/11/18 Python
Python实现优先级队列结构的方法详解
2016/06/02 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
Python中bisect的使用方法
2019/12/31 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
python爬虫容易学吗
2020/06/02 Python
python对一个数向上取整的实例方法
2020/06/18 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
python list的index()和find()的实现
2020/11/16 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
Vichy薇姿加拿大官网:法国药妆,全球专业敏感肌护肤领先品牌
2018/07/11 全球购物
简述进程的启动、终止的方式以及如何进行进程的查看
2014/02/20 面试题
2015年消防工作总结
2015/04/24 职场文书
Tomcat配置访问日志和线程数
2022/05/06 Servers