今天在网上查资料时,看到一信息是有关centos6.4的,官方还没有测试LNMP能否安装在centos6.4环境中,而我恰好刚在虚拟机上安装了centos6.4系统,带着一颗倔强而又兴奋的心开始了在centos上的探测。结果,我是满载而归,其安装配置和在centos5.8上大致相同,但是有些细节不注意的话,是跑步起来的。由此把我的方法贴出来,一来是个笔记,但愿可以帮助有心学习的人。首先我们要对这方面的知识做一简单的说明。 LNMP 指的是什么呢,这里可以“望文生义”,其是linux NGINX Mysql PHP的组合。每一种工具的安装都有其特长来吸引我们去使用它,对此就要了解其组合的各个工具的特点: Linux:不用多说,这是我们都熟知的以开源系统,是一类Unix计算机操作系统的统称,是目前最流行的免费的操作系统。 NGINX:是一个高性能的HTTP和反向代理服务器,是一个小巧而高效的Linux下的Web服务器软件。Nginx性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗资源极少。 Mysql:是一个小型关系型数据库管理系统,现在市场份额也在不断的扩大。 PHP:一种在服务器段执行的嵌入HTML文档的脚本语言,市场需求在不断攀升。 简单了解了LNMP后,下来就是来搭建了 搭建之前呢,要先到相应的官网下载相应的源码,这里我已下载下来了,他们是 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要依赖NGINX和Mysql模块的,所以,要先对NGINX和Mysql来进行安装 这里,为了可以使用到各模块的最新功能,采用源码来安装。而Mysql的源码安装,其官方还为我们提供了二进制版的,为我们省去了不少“麻烦”,对于我这样的懒人,当然不会“自找麻烦了”,这里就采用二进制版来安装。 首先来进行拆包: 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(正则表达式库)和libevent(提高应用程序的性能) 安装pcre-devel就采用rpm包来安装就好 然后源码安装libevent 在安装时,会检测gcc环境,所以要先安装gcc环境。由于是用虚拟机做的,首先要挂载光盘。这里为了解决依赖关系,对懒人我来说,利用yum来安装是不二之选。所以要先配置本地yum。其中在centos6.4系统中,yum的配置文件有4个,其中有三个网络yum的配置文件,这里只是用本地yum,所以在做之前要把三个网络yum的配置文件移到其他地方,以防止干扰。 vim /etc/yum.repos.d/CentOS-Media.repo
yum - y install gcc 然后依旧先拆包 tar -zxvf libevent-2.0.18-stable.tar.gz -C /usr/local/src/,切换到解压的目录 执行以下命令 ./configure --prefix=/usr/local/libevent 接下来要make了,但是centos6.4好像默认没有安装make,所以这里就要先安装make,用什么安装呢?当然先把光盘挂载然后用yum啦
yum - y install make
然后就可以执行make啦
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/然后切换到解压的目录中去 创建组和用户:
安装前会需要 OpenSSL 模块的,所以依然要用yum把openssL模块装起来 yum -y install openssl-devel 接下来执行如下命令: ./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 接着启动nginx:service nginx start然后测试nginx是否启动成功
然后来安装php(fastcgi) 首先依旧进行拆包: tar -jxvf php-5.4.14.tar.bz2 -C /usr/local/src/ 安装前,要把xml库文件装上,依旧用yum来装,现在发现yum的强大了吧,是不是有点嫉妒羡慕恨呀,哈哈,赶快搭建yum吧 yum -y install libxml2-devel 切换到刚解压的目录,执行如下老三部的命令: ./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文件,来更好的说明nginx与php 的关联:mv index.html index.php编辑这个php文件,在后面追加如下图的内容:
重启nginx,在浏览器里测试:
接下来测试与mysql的连接性,同样要先编辑这个php文件,在后面追加如下图内容(内容自己编辑,只要达到测试的目的即可)
重启服务,利用浏览器进行测试:
当把mysql停掉时
看来各模块已经成功衔接了。 下面来做php加速 首先依旧是拆包:tar -zxvf xcache-3.0.1.tar.gz -C /usr/local/src/ 然后切换到源码目录,首先要利用yum来安装另一个包,这样才可以顺利进行下去 yum -y install autoconf 由安装文档知,然后切换到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/) 然后整合xcache与php,已达到加速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中
然后重启服务,并测试
到此,基于基于Centos6.4的nginx的LNMP就大功告成啦
|