Centos 5.5 Nginx+php+mysql成功安装案例

来源:互联网 发布:sass node.js 编辑:程序博客网 时间:2024/05/29 11:09

其实在Centos 5.5中安装nginx+php+mysql是非常容易的。只需yum安装环境包和nginx、编译安装php、配置php-fpm文件和nginx.conf文件即可。具体步骤如下

一、         安装环境包

1、首先使用yum命令安装、升级所需的程序库。

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-server krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

2yum安装mysql

先检查mysql是否安装:

rpm -qa | grep mysql

如果没有安装齐全执行下列yum

yum install mysql-bench mysql-test mysql-devel mysql-server mysql

3yum安装prce

先检查prce是否安装:

rpm -qa | grep prce

如果没有安装执行下列yum

Yum install prce

二、         安装yum安装nginx

1、安装nginx的最新稳定版yum

Nginx最新版yum源在EPEL RPM包中,wget下载安装即可

cd /root

wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

rpm –ivh epel-release-5-4.noarch.rpm

2、安装nginx

Yum install nginx

3、启动测试nginx

Service nginx restart

Nginx启动后有两个进程,master为主进程,worker为工作进程,如下

在启动完NGINX后,我们可以在浏览器中输入http://localhost查看,如下图

 

三、         编译安装php

这个地方是最重要的地方,因为默认情况下NginxPHP他俩之间是一点感觉没有的。在之前,很多朋友都搭建过Apache+PHPApache+PHP编译后生成的是模块文件,而Nginx+PHP需要PHP生成可执行文件才可以,所以要利用fastcgi技术来实现N ginxPHP的整合,这个只要我们安装是启用FastCGI即可。此次我们安装PHP不仅使用了FastCGI,而且还使用了PHP-FPM这么一个东东,PHP-FPM说白了是一个管理FastCGI的一个管理器,它作为PHP的插件纯在,在安装PHP要想使用PHP-FPM时就需要把PHP-FPM以补丁的形式安装到PHP中,而且PHP要与PHP-FPM版本一致,这是必须的,切记!

首先我们把PHPPHP-FPM下载到同一目录下,此次用的为php-5.2.14.tar.gzphp-5.2.14-fpm-0.5.14.diff.gz,下载到了同一目录下

#tar xvf php-5.2.14.tar.gz

#gzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p1        

 //php-5.2.14-fpm-0.5.14.diff.gz以补丁形式加到php-5.2.14里面

#cd php-5.2.14

./configure --prefix=/usr/local/php --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-mysql --enable-fastcgi --enable-fpm

注:Nginx+PHP整合,在安装时必须启用–enable-fastcgi –enable-fpm,这两个选项是做什么的上面已经描述。执行完后系统会提示–enable-fastcgi是一个未知选项,我们不必理会

#make && make install

#cp php.ini-dist /usr/local/php/etc/php.ini

下面我们就来启动PHP-FPM

#/usr/local/php/sbin/php-fpm start

在启动PHP-FPM时会报上面这个错误,原因是PHP-FPM自己不知道以那个用户和组运行PHP,所以我们要修改一个文件,把文件中的注释去掉即可(打开文件把红色部分删除),然后PHP-FPM会以nobody用户和组去运行PHP

#vi /usr/local/php/etc/php-fpm.conf

#/usr/local/php/sbin/php-fpm start

#ps -aux | grep php

#echo “/usr/local/php/sbin/php-fpm start”  >>/etc/rc.local

四、         整合NginxPHP

Nginx自己并不处理动态网页的请求,而且Nginx将得到的动态请求转交给PHP,下面我们打开Nginx的配置文件看一下

#vi /etc/nginx/nginx.conf         //标的部分是我们后面要修改的

看上图,Nginx已经知道怎么把得到的请求传达给PHPNginx在得到*.php请求时,会把请求通过9000端口传给PHP。下面我们把这些注释给去掉即可,如下图

注:上面的/usr/share/nginx/html 是我们PHP网站放置的路径

      那么只有Nginx自己知道咋找PHP了还不行,还需要PHP知道咋找NginxPS:你见过大街上的JJMM约会时有不是相互认识对方,或者是不知道用啥方法和对方接头的?这点我们不需要担心,PHP-FPM已经在配置文件中定义了从哪接受PHP请求,我们可以打开配置文件看一下

#vi /usr/local/php/etc/php-fpm.conf

如上图所示,我们在前面已经看到过Nginx是通过本机的9000端口将PHP请求转发给PHP的,而上图我们可以看到PHP自己是从本机的9000端口侦听数据 NginxPHP通过本机的9000端口完成了数据请求。

五、测试

我们在nginx的配置文件里面已经定义了PHP网站的存放路径,默认路径为/usr/share/nginx/html下面我们在这个目录下新建一个PHP页面测试网页,文件名为index.php,内容如下vim /usr/share/nginx/index.php

<? Phpinfo(); ?>

重启PHPnginx(可以用杀死进程的方式关闭,然后在启动)我们在浏览器中输入http://localhost/index.php,出现php安装信息简介算成功

原创粉丝点击