您好,欢迎来到九壹网。
搜索
您的当前位置:首页Centos 5.5 Nginx+php+mysql

Centos 5.5 Nginx+php+mysql

来源:九壹网
Centos 5.5 Nginx+php+mysql成功安装案例

其实在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 2、yum安装mysql

先检查mysql是否安装: rpm -qa | grep mysql

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

yum install mysql-bench mysql-test mysql-devel mysql-server mysql 3、yum安装prce

先检查prce是否安装: rpm -qa | grep pcre

如果没有安装执行下列yum Yum install pcre

二、安装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查看看到welcome to nginx就算安装成功

三、 编译安装php

这个地方是最重要的地方,因为默认情况下Nginx和PHP他俩之间是一点感觉没

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

首先我们把PHP和PHP-FPM下载到同一目录下,此次用的为php-5.2.14.tar.gz和php-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

#cp /usr/local/php/sbin/php-fpm /etc/init.d/ #service php-fpm start

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

#vi /etc/init.d/php-fpm 修改内容如下:

Unix user of processes

nobody Unix group of processes

nobody #/usr/local/php/sbin/php-fpm start #ps -aux | grep php

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

四、整合Nginx与PHP

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

#vi /etc/nginx/nginx.conf //标的部分是我们后面要修改的 修改内容如下:

location ~ \\.php$ {

root html;

fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; include fastcgi_params; }

注:上面的/usr/share/nginx/html 是我们PHP网站放置的路径 那么只有Nginx自己知道咋找PHP了还不行,还需要PHP知道咋找Nginx,PS:你见过大街上的JJMM约会时有不是相互认识对方,或者是不知道用啥方法和对方接头的?这点我们不需要担心,PHP-FPM已经在配置文件中定义了从哪接受PHP请求,我们可以打开配置文件看一下 #vi /usr/local/php/etc/php-fpm.conf

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

Address to accept fastcgi requests on.

Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket'

127.0.0.1:9000

五、测试

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

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

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务