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 10 PHP
php中拷贝构造函数、赋值运算符重载
Jul 25 PHP
深入PHP5中的魔术方法详解
Jun 17 PHP
Codeigniter注册登录代码示例
Jun 12 PHP
Laravel 5框架学习之表单
Apr 08 PHP
php有效防止同一用户多次登录
Nov 19 PHP
php中10个不同等级压缩优化图片操作示例
Nov 14 PHP
thinkPHP5.0框架简单配置作用域的方法
Mar 17 PHP
PHP学习笔记之session
May 06 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
Sep 18 PHP
laravel validate 设置为中文的例子(验证提示为中文)
Sep 29 PHP
laravel通用化的CURD的实现
Dec 13 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 获取mysql数据库信息代码
2009/03/12 PHP
php cli模式学习(PHP命令行模式)
2013/06/03 PHP
隐性调用php程序的方法
2015/06/13 PHP
PHP程序员不应该忽略的3点
2015/10/09 PHP
PC端微信扫码支付成功之后自动跳转php版代码
2017/07/07 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
js获取日期:昨天今天和明天、后天
2014/06/11 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
2016/05/25 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
[02:32]DOTA2完美大师赛场馆静安体育中心观赛全攻略
2017/11/08 DOTA
使用python分析git log日志示例
2014/02/27 Python
实例讲解python函数式编程
2014/06/09 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
pandas Dataframe行列读取的实例
2018/06/08 Python
python远程邮件控制电脑升级版
2019/05/23 Python
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
金讯Java笔试题目
2013/06/18 面试题
给同学的道歉信
2014/01/16 职场文书
网上签名寄语活动留言
2014/01/18 职场文书
《孔子游春》教学反思
2014/02/25 职场文书
生产车间标语
2014/06/11 职场文书
刘胡兰观后感
2015/06/16 职场文书
新闻发布会新闻稿
2015/07/17 职场文书
2016秋季运动会前导词
2015/11/25 职场文书
SpringAop日志找不到方法的处理
2021/06/21 Java/Android
基于JavaScript实现年月日三级联动
2021/06/22 Javascript
mysql配置SSL证书登录的实现
2021/09/04 MySQL