Centos Nginx+PHP Install 史上最完美

周氏一族,整理技术文档,给下一代留点教程...

Nginx 的功能就不多说了,不懂的请直接百度,Nginx + php 安装是比较负责,经常会出错,网上也是大家说的千篇一律,没有一个比较完美的做法

下面是我自己研究的一种最简单化的安装方式,记录一下,以防自己忘记。

先说明哦,这个是用yum安装,但是他们是公用yum,而不像哪些人,要把机器的repo修改掉,再来yum,我这个yum是所有机器,不需要修改任何yum源就行的,也就是公用资源yum,但是nginx,必须用源码,源码到官网获取

1、安装Nginx+php之前呢,需要先安装PHP,我一条命令搞定,大家请看

[[email protected]_server ~]# yum -y install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel php php-devel php-fpm

千万不要去学人家源代码搞的,一塌糊涂,又是php,又是php-fpm,很糟糕,直接yum搞定,又稳定,除非你是需要修改php的源代码,那么,你就开始蛋疼的php-fpm源代码吧!

2、查看一下php是否安装成功,很明显,直接看看php-fpm有没有起来

最好是把他设置成开机,自动启动,这个你懂得,这么简单的事情

3、下面开始安装Nginx,安装之前,先安装一下环境,yum即可

[[email protected]_server ~]# yum -y install pcre* openssl* zlib*

4、上传Nginx文件到指定目录,/usr/tmp下面

5、开始安装

[[email protected]_server ~]# cd nginx-1.6.0

[[email protected]_server nginx-1.6.0]# ./configure --prefix=/usr/local/nginx --user=apache --group=apache --with-http_ssl_module --with-http_gzip_static_module --with-http_spdy_module --with-http_stub_status_module --with-pcre

[[email protected]_server nginx-1.6.0]# make && make install

注意咯,这里configure,因为php采用yum安装,那么php官网的默认用户和组用户都是apache,所以,我们就要保证nginx的运行用户也是apache,故在编译的时候,就要指定--user=apache --group=apache

6、启动nginx

网页打开测试看看

7、测试PHP,按照Apache正常思路,我们直接上传一个php文件到nginx目录,应该就能打开

[[email protected]_server ~]# cd /usr/local/nginx/html/

[[email protected]_server html]# touch test.php

[[email protected]_server html]# vi test.php

<?php

phpinfo();

?>

现在网页打开看看,有没有问题

竟然,提示我下载?那就是说,php它还没解析到,如果可以解析到,或者说支持的话,它是直接执行php内部代码的,所以,得改。因为nginx默认只是解析html,这也就是为什么本文标题 nginx+php

8、修改配置,完成php+nginx

[[email protected]_server html]# vi /usr/local/nginx/conf/nginx.conf

user  nobody;      改成  user apache apache;

worker_processes  2;     你服务器cpu有多少个就搞多少个吧,越多越好

#location ~ \.php$ {

#    root           html;

#    fastcgi_pass   127.0.0.1:9000;

#    fastcgi_index  index.php;

#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

#    include        fastcgi_params;

#}

把他们的前面  #  号全部去掉,然后修改成下面

location ~ \.php$ {

root           html;

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

include        fastcgi_params;

}

至于为什么要这样改,你可以自己测试一下,我这里不讲

看到前面这个配置,我想大家现在的思路应该比较清晰了,首先是调用9000端口服务,也就是php-fpm,所以说嘛,php对nginx来说,就只不过是一个模块来的而已。

9、让nginx重新加载一下配置

[[email protected]_server html]# /usr/local/nginx/sbin/nginx -s reload

10、搞定

时间: 2024-10-31 11:02:41

Centos Nginx+PHP Install 史上最完美的相关文章

揭秘史上最完美一步到位的搭建Andoriod开发环境

Windows环境下Android开发环境搭建虽然不难而且网上资料众多,但是众多资料如出一折 忽略了很多细节,最终还是没能达到满意效果. 基本步骤如下:JDK安装.环境变量配置.Eclipse下载.AndoriodSDK下载安装.下载配置ADT但是到这里还不算完美搞定,还需要配置HOST文件,否则之后使用Andoriod SDK Manager 时会很郁闷,因为google的一些网址被和谐了.并且Eclipse下载.AndoriodSDK下载安装.下载配置ADT 这几步太复杂耗费时间,乐居猫在此

在阿里云 CentOS 服务器(ECS)上搭建 nginx + mysql + php-fpm 环境

阿里云的云服务器(ECS)可以选择多种操作系统,打算用它运行 Drupal或者 WordPress ,你最好选择 Linux 系统,这篇文章的演示是基于阿里云的 CentOS 操作系统的服务器.我们在上面搭建一个 nginx + mysql + php-fpm 的环境,这就是常说的 LNMP .我们不过多解释什么是什么,而是着重讲流程与方法,想了解具体的细节,去搜索下吧:)这个手册是在阿里云上测试的,不过应该也适用于其它使用 CentOS 系统的服务器. 背景 宁皓网的< CentOS:在阿里云

1分钟完美安装最新CentOS+Nginx+PHP-FPM+MySQL

PHP 5.3.1 MySQL 5.0.89 Nginx 0.8.33 或 0.7.65 (可选) 现在,我们可以快速全自动搞定 CentOS + Nginx + PHP-FPM + MySQL 的安装了 这个可比网上流传的什么一键安装包要好得多,强烈推荐此法安装,适合所有菜鸟和高手 我服务器上全用的源代码编译安装,也好不到哪去,还很费劲 我这个装完已经包含PHP的一些常用扩展, PDO,eaccelerator,memcache,tidy等等 先新建一个 repo # vi /etc/yum.

史上最简单的软件破解——5行脚本代码完美破解99%的过期软件

如果你看到了这篇博文,绝对保证不虚此行.仅仅5行脚本代码,即可破解99%的过期软件. 这件事的背景:最近在找了一些学习资料,其中有Rational Rose画的图,好久没用过它了.今天安装好,导入许可文件,结果问题出现了,提示没有激活.怎么回事??仔细一看,原来许可文件到2013年12月份就过期了(乌鸦飘过...) 在网上找了半天也没有找到一个新的许可文件,结果一狠心,手动改了一下日期,再启动,ok了,把时间再改回来.本来事儿到这儿就完了.但是结果光今天一天就手动改了好几次系统时间,这就太让人无

centos+nginx+php-fpm+php include fastcgi_params php页面能访问但空白,被fastcgi_params与fastcgi.conf害惨了

今天在centos上折腾这块是发现老是访问页面时,浏览器中提示是200 ok.且访问html后缀却是正常出现内容. 但是访问php后缀却返回空白页面,同时查看所有的log没有发现任何出错信息; 再在nginx.conf中的server中写如果 路径不存在就return 405这样的断句来调试,发现我的配置还是正常能走到那个405. 就是没有内容返回.... 找了几个小时.头都快晕了. 还是没有搞明白怎么回事. 最后想想和比较了下fastcgi_params与fastcgi.conf,头已经晕了,

centos+nginx+php-fpm+php include fastcgi_params php页面能訪问但空白,被fastcgi_params与fastcgi.conf害慘了

今天在centos上折腾这块是发现老是訪问页面时,浏览器中提示是200 ok.且訪问html后缀却是正常出现内容. 可是訪问php后缀却返回空白页面,同一时候查看全部的log没有发现不论什么出错信息; 再在nginx.conf中的server中写假设 路径不存在就return 405这种断句来调试,发现我的配置还是正常能走到那个405. 就是没有内容返回.... 找了几个小时.头都快晕了. 还是没有搞明确怎么回事. 最后想想和比較了下fastcgi_params与fastcgi.conf,头已经

CentOS+Nginx+PHP+MySQL详细配置(图解)

原文地址: http://www.jb51.net/article/26597.htm CentOS+Nginx+PHP+MySQL详细配置(带有图解),需要的朋友可以参考下. 一.安装MySQL 目前web服务器已经很少有跑静态页面的,如果要跑动态网站那当然就离不开数据库,虽然在以前文章中有写MySQL是怎么安装的,但是感觉好久没装MySQL,现在只把步骤贴出来,就不做过多的讲解了 #useradd mysql #tar zxvf mysql-5.0.40.tar.gz #cd mysql-5

[zz]阿里云计算:CentOS+nginx+Django+Postgresql web环境搭建

原文链接: http://www.cnblogs.com/AllStarGIS/p/3788518.html 参考链接: 1. http://www.cnblogs.com/zhouej/archive/2012/03/25/2379646.html 2. http://ec58.com/archives/2836 最近在在万网和阿里云上分别购买了一个域名和一台云服务器,打算用来做点什么.昨天吃完晚饭稍作休息开始对这个新奇的玩意作了些了解并着手配置其运行环境,今早凌晨4点多才弄得7788,为此也

CentOS+Nginx+Tomcat+Mysql+PHP 环境搭建及系统部署

==============安装centos 7.0=======================选择最小安装,将相关的"调试工具"."兼容性程序库"."开发工具"选中.此操作是为了减少后期安装或编译相关服务时出现依赖.或环境的问题.硬盘分区,可根据个人的习惯而定,不清楚的可以直接选择系统自动分区,由于个人的习惯,本人的分区如下,仅供参考:/boot 500M 用于启动Linux的核心文件swap 5120M(5G) Linux下的交换分区,又称