Nginx与php的整合
"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的整合相关推荐
- Nginx+Springboot+Security+CAS 整合方案-XML 实现SSO客户端
javaconfig版本: https://www.cnblogs.com/question-sky/p/7068511.html 以下使用的是SpringBoot 2.1.1进行测试 0 Maven ...
- Nginx实现负载均衡(整合SpringBoot小demo)
目录 1.前言 2.什么是负载均衡 3.准备工作 3.1 关于Mac系统安装Nginx 3.2 测试项目说明 4.Nginx负载均衡的集中方式介绍 4.1 轮询 4.2 权重 4.3 iphash 4 ...
- nginx trac mysql svn_TRAC 整合已有的SVN目录
这次TRAC安装配置是在另外一个项目的服务器上.偷了个懒,在安装好所有必备软件后(关于如何安装TRAC,请自行谷歌百度,教程太多了..),将以前配置好的一个初版trac直接拷贝了过去.哈哈.简单方便粗 ...
- 配置nginx对php的支持
配置nginx对php的支持 案例声明:本次案例所有软件包用的都是源码包 一.基本环境: 因为nginx与httpd服务用的是同一个端口,所以在安装nginx之前必须要停止apache服务,释放80端 ...
- 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 ...
- nginx+tomcat集群负载均衡中的多虚拟主机配置
虽然夜深了,但是还是解决了这个困扰我一个晚上的问题,记录下来备查. 接着我前不久写的这一篇来的:Linux下nginx和tomcat的整合http://hi.baidu.com/gnaiqeh/blo ...
- centos6.2 64位LNMP(linux+nginx+mysql+php)实现
现在nginx运用越来越广泛.这是因为NGINX在某些方面优于apache.并且NGINX在web服务当中占有一定的比例,我们有必要了解和学习.下面步入正题,看LNMP架构怎么搭建. 首先 ...
- nginx怎么用_后端服务老是重启,前端该如何拯救自己?nginx的妙用
背景 当前软件开发中,绝大部分团队都已经实现了前后端分离,不过实施的过程中并不总是甜头,前端和后端的协作过程中总是会遇到让人头疼的问题. 比如,前端的同学正在全神贯注的调试着代码,突然后端把服务停了( ...
- CentOS搭建全功能服务器(Nginx+Tomcat+PHP+SSL)
本文将介绍Linux环境下如何安装Web服务基础运行环境,包括以下内容: 安装jdk 安装Tomcat 安装MySQL 安装PHP 安装Nginx 安装SSL证书 整合Nginx和Tomcat 整合完 ...
最新文章
- 多线程:什么是ThreadLocal?应用场景?
- 大陆居民身份证验证方法(java)
- Source Generator 单元测试
- 百度地图infowindow的close事件_百度地图蒙圈:车主要加油误导母婴店 跑偏理由令人啼笑皆非...
- 解决写文档对于图片边框的强迫症
- 实践 | kafka 基本使用
- 小强同学,去当老师吧!
- Linux工作笔记035---设置连接Linux Centos 超时连接时间_空闲的等待时间 -bash: TMOUT: readonly variable
- 使用for循环遍历文件、使用while循环遍历文件
- [再学Python] - 4 - 循环
- 物联网大数据如何改善农业运营
- centos java进程号_centos中分析java占用大量CPU资源的原因
- Web页面引入思源黑体
- 校园学生疫情防范监控小程序 毕业设计-附源码281444
- Alpha版本冲刺(七)
- js两种拼接字符串方法
- java算法int型整数反转的另类解法
- 【Acm】算法之美—Crashing Balloon
- 中电丽声推出全新一代硅麦
- avi格式该怎么转换?高效无损转换avi格式的方法