基于centos5.8源码安装nginx之LNMP

LNMP 指的是什么呢,这里能够“望文生义”,其是linux  NGINX  Mysql  PHP的组合。每一种工具的安装都有其特长来吸引咱们去使用它,对此就要了解其组合的各个工具的特色: php

Linux:不用多说,这是咱们都熟知的以开源系统,是一类Unix计算机操做系统的统称,是目前最流行的免费的操做系统。 html

NGINX:是一个高性能的HTTP和反向代理服务器,是一个小巧而高效的Linux下的Web服务器软件。Nginx性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗资源极少。 mysql

Mysql:是一个小型关系型数据库管理系统,如今市场份额也在不断的扩大。 linux

PHP:一种在服务器段执行的嵌入HTML文档的脚本语言,市场需求在不断攀升。 nginx

简单了解了LNMP后,下来就是来搭建了正则表达式

 

搭建以前呢,要先到相应的官网下载相应的源码,这里我已下载下来了,它们是sql

 

libevent-2.0.18-stable.tar.gz
mysql-5.5.15-linux2.6-i686.tar.gz
nginx-1.3.16.tar.gz
php-5.4.14.tar.bz2
xcache-3.0.1.tar.gz
数据库

 

对于各个部分的搭建顺序,每一一个一成不变的次序,但因为PHP要依赖NGINXMysql模块的,因此,要先对NGINXMysql来进行安装 vim

这里,为了可使用到各模块的最新功能,采用源码来安装。而Mysql的源码安装,其官方还为咱们提供了二进制版的,为咱们省去了很多“麻烦”,对于我这样的懒人,固然不会“自找麻烦了”,这里就采用二进制版来安装。 api

首先来进行拆包: tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/切换到解压的目录能够看到解压出的目录名字很长,为了操做的方便,这里为其作一个软链接:

ln -s mysql-5.5.15-linux2.6-i686/  mysql

而后切换到mysql目录下,能够看到官方提供的安装文档INSTALL-BINARY,根据里面的步骤作就好

建立组:groupadd -r mysql

建立用户:useradd -r -g mysql mysql -M

改变全部者:chown -R mysql .

改变所属组:chgrp -R mysql .

初始化:scripts/mysql_install_db --user=mysql

而后把权限改回来:  chown -R root .   chown -R mysql data

而后拷贝并生成mysql配置文档:cp support-files/my-medium.cnf /etc/my.cnf

拷贝并生成mysql的控制文件:cp support-files/mysql.server /etc/init.d/mysqld,赋予其可执行权限:chmod a+x /etc/init.d/mysqld

利用 chkconfig --add mysqld来把其加入开机启动进程。

启动mysql

profile文件中加入mysql环境变量

把库文件的路径加入变量里vim /etc/ld.so.conf.d/mysql.conf/usr/local/mysql/lib

而后执行ldconfig命令来刷新,接着来看能不能找到库文件

而后对头文件include作一个软链接:ln -s include /usr/include/mysql

启动mysql,且为root用户设置密码:mysqladmin -u root -p password 'wgz0224gz'

到此,mysql的搭建就完成了。

下面来搭建NGINX

安装nginx以前,首先要安装pcre(正则表达式库)和livevent(提升应用程序的性能)

安装pcre-devel就采用rpm包来安装就好

而后源码安装livevent

首先依旧先拆包 tar -zxvf libevent-2.0.18-stable.tar.gz  -C /usr/local/src/,切换到解压的目录

执行如下命令

 ./configure --prefix=/usr/local/libevent

make

make install

切换到安装目录,对库文件作相应的处理

vim /etc/ld.so.conf.d/libevent.conf 加入路径/usr/local/libevent/lib

而后执行如图示命令

而后对头文件作软链接: ln -s /usr/local/libevent/include/  /usr/include/libevent

而后来安装nginx

首先拆包 tar -zxvf nginx-1.3.16.tar.gz -C /usr/local/src/而后切换到解压的目录中去

建立组和用户:

接下来执行以下命令:

./configure \

  --conf-path=/etc/nginx/nginx.conf \

 --error-log-path=/var/log/nginx/error.log \

  --http-log-path=/var/log/nginx/access.log \

  --pid-path=/var/run/nginx/nginx.pid \

  --lock-path=/var/lock/nginx.lock \

  --user=nginx \

 --group=nginx \

  --with-http_ssl_module \

  --with-http_flv_module \

  --with-http_stub_status_module \

  --with-http_gzip_static_module \

  --http-client-body-temp-path=/var/tmp/nginx/client/ \

 --http-proxy-temp-path=/var/tmp/nginx/proxy/ \

  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \

  --with-pcre

make

make install

而后在/etc/init.d/目录下作一个控制脚本nginx

而后为其附加可执行权限:chmod a+x nginx

而后把其加入chkconfig管理:chkconfig --add nginx而后建立一个目录:

mkdir -pv /var/tmp/nginx/client

接着启动nginxservice nginx start而后测试nginx是否启动成功

而后来安装phpfastcgi

首先依旧进行拆包: tar -jxvf php-5.4.14.tar.bz2 -C /usr/local/src/

切换到刚解压的目录,执行以下老三部的命令:

./configure    \

      --prefix=/usr/local/php \

       --enable-fpm   \

       --enable-sockets  \

       --with-mysql=/usr/local/mysql \

        --with-mysqli=/usr/local/mysql/bin/mysql_config  \

        --enable-mbstring  \

        --enable-xml  \

        --with-png-dir \

        --with-png  \

        --with-jpeg-dir  \

        --with-zlib  \

         --with-freetype-dir \

        --with-config-file-path=/etc/php \

         --with-config-file-scan-dir=/etc/php5.d

make

make install

建立两个目录: mkdir /etc/php /etc/php5.d

拷贝生成php.ini文件:进入源码目录 cp php.ini-production  /etc/php/php.ini

拷贝生成php-fpm的控制脚本:进入源码目录cp sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm赋予其可执行权限chmod  a+x /etc/init.d/php-fpm

拷贝产生php-fpm配置文件进入php的安装目录下的etc目录 

  cp php-fpm.conf.default php-fpm.conf

启动php-fpm

service  php-fpm  start

chkconfig  --add php-fpm

接下来为了让nginx能解析php的请求,须要编辑nginx的配置文件vim /etc/nginx/nginx.conf

而后进行测试:

首先要在/usr/local/nginx/html/目录下编辑一个php文件,这里我把index.html改成php文件,来更好的说明nginxphp 的关联:mv index.html index.php编辑这个php文件,在后面追加以下图的内容:

重启nginx,在浏览器里测试:

接下来测试与mysql的链接性,一样要先编辑这个php文件,在后面追加以下图内容(内容本身编辑,只要达到测试的目的便可)

重启服务,利用浏览器进行测试:

当把mysql停掉时

看来各模块已经成功衔接了。

下面来作php加速

首先依旧是拆包:tar -zxvf xcache-3.0.1.tar.gz -C /usr/local/src/

而后切换到源码目录,由安装文档知,首先切换到php安装目录里执行/usr/local/php/bin/phpize(为了生成configure文件),接着就是执行咱们所熟知的老三部了:

./configure --enable-xcache  --with-php-config=/usr/local/php/bin/php-config

make

make install(执行完后会出现一条目录,要记下来后面要用:

  /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

而后整合xcachephp,已达到加速php的目的:cp xcache.ini  /etc/php5.d

而后编辑该文件:vim /etc/php5.d/xcache.ini 

为了方便管理xcache,能够进行以下操做

cd /usr/local/src/xcache-3.0.1/

 cp -r htdocs/ /usr/local/nginx/html/

cd /usr/local/nginx/html/htdocs/

chmod a+r index.php 

而后编辑文件vim /etc/php5.d/xcache.ini 

添加帐号和密码,可是密码须要md5加密的,因此先要生成一个md5加密的密码

而后把帐号和密码(本身定)加入/etc/php5.d/xcache.ini

而后重启服务,并测试

到此,基于nginxLNMP就大功告成啦

相关文章
相关标签/搜索