"Nginx与php的整合"与"apache与php的整合“有所不同,apache是把php当作自己的一个模块进行启动;而nginx是把http请求变量(如get,usr_agent等)和请求的上下位原模原样的转发给php进程,即php是独立的进程,同时保持与nginx进行通信,这样的工作方式叫fastcgi。php进程的端口是9000。

所以说,apache的php不能用于nginx。

准备工作

1.首先请到php的官方网站里下载php。(注意!截止本文的时候,请下载5.6.21版本,不要7.0.6版本,7.0.6版本在搭配mysql上好像有点问题。)

2.安装mysql和mysql-devel,mysql就不多说了;

3.#yum install ttf,ttf是字体的软件;

4.#yum install gd gd-devel,gd是画图的软件;

5.#yum install freetype,这个也是字体有关的软件;

这些都下载准备完毕之后,就可以编译了。

编译过程

php的编译过程略恶心,这玩意不能网上照抄,抄的话就会出现编译不成功的情况,以mysql为例。

先通过#tar -zxvf php-5.6.21.tar.gz将下载包拆包解压缩之后,会跟以往一样得到configure文件,但是由于是要把php同nginx\mysql\gd\tty等软件整合,所以就不能./configure之后当甩手掌柜,而是要在configure的时候指定mysql\gd\tty的地址。

我们先用#./configure -help|grep mysql 查看一下mysql需要什么。

每一行的意思后面有注释,拿着英文字典去查,这里我们用到--with-mysql=DIR,但是这里不用DIR用mysqlnd,mysqlnd是php新的驱动,专门用于mysql的。

以此类推,#./configure -help|grep gd 等等,一个一个的把相关文件的要求查好。

然后#./configure --prefix=/usr/local/php --with-pdo-mysql=mysqlnd --enable-mysqlnd --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --enable-fpm,回车之后就会大篇的滚动字幕,然后提示thanks和安装的文件。

下一步就是#make && make install,整个过程较长。

如果在make这一步,出现了“make: *** [sapi/cli/php] 错误 1”的提示,就#make ZEND_EXTRA_LIBS='-liconv',完之后#make test,最后#make install

编译之后

整个make过程结束之后,来到php的文件夹ls一下,发现里面应该是bin  etc  include  lib  php  sbin  var这几个文件夹,然后再sbin里有一个php-fpm,启动这个就是启动php进程管理器。

启动php进程管理器之后,就返回到nginx的nginx.conf文件,在server进行如下的编辑:

1
2
3
4
5
6
7
 location ~ \.php$
        {
            fastcgi_pass    127.0.0.1:9000;
            fastcgi_index   index.php;
           fastcgi_param   SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;
           include         fastcgi_params;
        }

这段代码的意思是,匹配到所有的.php 文件就交给fastcgi处理,默认主页是index.php,fastcgi_param很重要,配不对就会502,这个是指向路径,比如用户要请求的是abc.php,那么nginx就把它转到/usr/local/nginx/html/abc.php。

保存退出之后,在/usr/local/nginx/html/下建立一个叫test.php文件,里面的内容就是:

<?php

phpinfo();

保存退出之后,在浏览器输入地址:localhost/test.php,就会看到php的主页了。里面成功与gd和mysql勾搭上了:

本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1770922

Nginx与php的整合相关推荐

  1. Nginx+Springboot+Security+CAS 整合方案-XML 实现SSO客户端

    javaconfig版本: https://www.cnblogs.com/question-sky/p/7068511.html 以下使用的是SpringBoot 2.1.1进行测试 0 Maven ...

  2. Nginx实现负载均衡(整合SpringBoot小demo)

    目录 1.前言 2.什么是负载均衡 3.准备工作 3.1 关于Mac系统安装Nginx 3.2 测试项目说明 4.Nginx负载均衡的集中方式介绍 4.1 轮询 4.2 权重 4.3 iphash 4 ...

  3. nginx trac mysql svn_TRAC 整合已有的SVN目录

    这次TRAC安装配置是在另外一个项目的服务器上.偷了个懒,在安装好所有必备软件后(关于如何安装TRAC,请自行谷歌百度,教程太多了..),将以前配置好的一个初版trac直接拷贝了过去.哈哈.简单方便粗 ...

  4. 配置nginx对php的支持

    配置nginx对php的支持 案例声明:本次案例所有软件包用的都是源码包 一.基本环境: 因为nginx与httpd服务用的是同一个端口,所以在安装nginx之前必须要停止apache服务,释放80端 ...

  5. Linux安装配置php7+nginx

    1.安装php7.0 下载 # wget  http://cn2.php.net/distributions/php-7.0.4.tar.gz 解压安装 # tar zxvf php-7.0.4.ta ...

  6. nginx+tomcat集群负载均衡中的多虚拟主机配置

    虽然夜深了,但是还是解决了这个困扰我一个晚上的问题,记录下来备查. 接着我前不久写的这一篇来的:Linux下nginx和tomcat的整合http://hi.baidu.com/gnaiqeh/blo ...

  7. centos6.2 64位LNMP(linux+nginx+mysql+php)实现

    现在nginx运用越来越广泛.这是因为NGINX在某些方面优于apache.并且NGINX在web服务当中占有一定的比例,我们有必要了解和学习.下面步入正题,看LNMP架构怎么搭建.       首先 ...

  8. nginx怎么用_后端服务老是重启,前端该如何拯救自己?nginx的妙用

    背景 当前软件开发中,绝大部分团队都已经实现了前后端分离,不过实施的过程中并不总是甜头,前端和后端的协作过程中总是会遇到让人头疼的问题. 比如,前端的同学正在全神贯注的调试着代码,突然后端把服务停了( ...

  9. CentOS搭建全功能服务器(Nginx+Tomcat+PHP+SSL)

    本文将介绍Linux环境下如何安装Web服务基础运行环境,包括以下内容: 安装jdk 安装Tomcat 安装MySQL 安装PHP 安装Nginx 安装SSL证书 整合Nginx和Tomcat 整合完 ...

最新文章

  1. 多线程:什么是ThreadLocal?应用场景?
  2. 大陆居民身份证验证方法(java)
  3. Source Generator 单元测试
  4. 百度地图infowindow的close事件_百度地图蒙圈:车主要加油误导母婴店 跑偏理由令人啼笑皆非...
  5. 解决写文档对于图片边框的强迫症
  6. 实践 | kafka 基本使用
  7. 小强同学,去当老师吧!
  8. Linux工作笔记035---设置连接Linux Centos 超时连接时间_空闲的等待时间 -bash: TMOUT: readonly variable
  9. 使用for循环遍历文件、使用while循环遍历文件
  10. [再学Python] - 4 - 循环
  11. 物联网大数据如何改善农业运营
  12. centos java进程号_centos中分析java占用大量CPU资源的原因
  13. Web页面引入思源黑体
  14. 校园学生疫情防范监控小程序 毕业设计-附源码281444
  15. Alpha版本冲刺(七)
  16. js两种拼接字符串方法
  17. java算法int型整数反转的另类解法
  18. 【Acm】算法之美—Crashing Balloon
  19. 中电丽声推出全新一代硅麦
  20. avi格式该怎么转换?高效无损转换avi格式的方法

热门文章

  1. jax-rs的客户端完整实例
  2. ORACLE建视图 授权的 例子
  3. [diary]一下子更新了这么多
  4. linux安装android sdk
  5. Compute API 关键概念 详解
  6. MarkDown编辑器基础使用教程
  7. java 图片灰度化
  8. EventBus简单分析
  9. Django Web开发学习笔记(4)
  10. Android 数据库之Cursor