Linux+Nginx+MySQL+PHP-Ty
小编:这几年随着电子商务的蓬勃发展,也带动Web的高速发展。人们对于网站的要求已经不仅仅是用于浏览新闻、消遣娱乐这么简单了,更注重的是网站的安全和效率.是否能提供更加人性化、贴心的服务俨然已经成为了现代电商竞争的筹码.举个很简单的例子:现在网上最火的是什么?每天的茶余饭后,大家讨论最多的话题是什么?亲,你抢到XXX手机了吗?往往这个时候,论坛是最火的,大家都在不停跟帖、刷心情,说什么呢?神马都有。前几年讨论较多往往是:XXX网站,你进去了没?真受不了这网站了?等了XXX时间,还没进去,好不容易进去了,网站又卡死掉了,然后。。。。这几年讨论较多的往往是:我很轻松就进去了,抢了一台XXX手机,然后晒单,发微博,发心情,欢呼雀跃。。。。想必这样的经历,对于90后的我们并不陌生吧。小编有幸也体验过几把,也是几多欢喜几多愁.不过,随着Web的高速发展,已经基本能满足我们的需求了,相信未来的网站会让我们的生活更加美好!言归正传,网站的稳定高速发展来不开环境的支持,一个稳定的环境能提供Web发展的不竭动力.现在我们大多数门户网站使用较多的架构有两种:LAMP(Linux+Apache+MySQL+PHP);LNMP(Linux+Nginx+MySQL+PHP).
我们比较熟悉的基于LAMP环境开发的门户网站:Yahoo、Facebook、Sina、YouTube等;基于LNMP环境开发的门户网站:淘宝Tengine等.在前面的博客《LAMP环境源码构建》中,小编用最新的源码搭建了LAMP环境,有兴趣的博友可以看下。
博客地址:http://tywangpanpan.blog.51cto.com/6264315/1177325
今天我们来用源码搭建一下LNMP环境,可以熟悉一下两种架构环境的差别.比较学习一下,下面一起开始我们今天的配置吧!!!
【系统环境】
Red Hat Enterprise Linux Server release 5.4
内核版本(2.6.18-164.e15)
最新稳定版(3.8.6)可以自行编译升级
Linux内核官网: http://www.kernel.org/
【准备工作】
①下载Nginx最新版源码包:http://www.nginx.org/ (nginx-1.3.16.tar.gz)
②下载Libevent最新版源码包:http://www.libevent.org/
(libevent-2.0.18-stable.tar.gz)
③下载MySQL 源码包:http://www.mysql.com/downloads/
(mysql-5.5.15-linux2.6-i686.tar.gz)
说明:本次用的Mysql为绿色版(已经cmake编译过的),如果你下的是未编译的源码,还需要先安装cmake工具进行Mysql编译.
具体的过程可以参考:
http://tywangpanpan.blog.51cto.com/6264315/1177325
④下载PHP源码包:http://www.php.net/(php-5.4.14.tar.bz2)
⑤下载Xcache最新版源码包:http://xcache.lighttpd.net/
(xcache-3.0.1.tar.gz)
【配置详情】
一:MySQL的安装
Step1:创建Mysql需要的组和服务账号(nologin)
groupadd -r mysql
useradd-r-g mysql mysql-M -s /sbin/nologin
Step2:解压缩源码包到指定目录.
tar zxvfmysql-5.5.15-linux2.6-i686.tar.gz-C/usr/local/
cd/usr/local/
ln-smysql-5.5.15-linux2.6-i686mysql
cdmysql
vimINSTALL-BINARY(MySQL安装配置的说明文件,下面按此步骤进行就OK了)
cd/usr/local/mysql
chown-Rmysql .
chgrp-Rmysql .
scripts/mysql_install_db--user=mysql(执行初始化mysql数据库脚本)
chown-Rroot .
chown-Rmysql data
Step3:拷贝生成MySQL的主配置文件和服务的启动控制脚本.
cpsupport-files/my-medium.cnf/etc/my.cnf
cpsupport-files/mysql.server/etc/init.d/mysqld
chmoda+x/etc/init.d/mysqld
Step4:进行MySQL的相关优化操作.
①将MySQL/bin路径加入到系统环境变量.
vim/etc/frofile
. /etc/profile ( source/etc/profile ):让新加入的环境变量生效.
②将MySQL/bin库文件路径加入到系统库.
vim/etc/ld.so.conf.d/mysql.conf
ldconfig(将MySQL库加入到系统库中)
③将MySQL/inchude头文件路径加入到系统路径.
ln-sinclude//usr/include/mysql
Step4:启动服务,修改启动级别,添加MySQL管理员密码.
servicemysqldstart
mysqladmin-uroot-ppassword‘123456’
二:Nginx的源码安装
Step1:RPM安装Red Hat光盘上的pcre-devel软件包.
rpm-ivhpcre-devel-6.6-2.e15_1.7.i386.rpm
Step5:源码安装libevent.
vim /etc/profile
. /etc/profile
vim /etc/ld.so.conf.d/libevent.conf
ldconfig
ln -s /usr/local/libevent/include/ /usr/include/libevent
Step3:创建Nginx服务的nologin系统账号
groupadd-r nginx
useradd -r-gnginx-Mnginx
Step4:解压缩源码.
tarzxvfnginx-1.3.16.tar.gz-C /usr/local/src/
cd/usr/local/src/nginx-1.3.16
Step5:源码安装Nginx.
./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
Step5:编写Nginx的服务启动控制脚本,并能接受chkconfig的管理.
cpnginx/etc/init.d/
Step6:启动服务,查询状态.
三:PHP的源码安装
Step1:解压缩源码包.
tarjxvfphp-5.4.14.tar.bz2-C /usr/local/src/
cd/usr/local/src/php-5.4.14
Step2:编译安装.
./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-caonfig-file-scan-dir=/etc/php5.d
make&&make install
Step3:创建php的主配置文档目录和Xcache的主配置文档存放目录.
mkdir/etc/php /etc/php5.d
cd/usr/local/src/php-5.4.14
cpphp.ini-production /etc/php/php.ini
Step4:拷贝生成链接Nginx的接口php-fpm控制脚本和主配置文件.
cpsapi/fpm/init.d.php-fpm/etc/init.d/php-fpm
chmoda+x/etc/init.d/php-fpm
cd/usr/local/php/etc/
cpphp-fpm.conf.defaultphp-fpm.conf
Step5:启动php-fpm服务,查看端口状态.
servicephp-fpmstart
chkconfig--addphp-fpm
四:整合Nginx配置,测试Nginx和PHP,PHP和MySQL的链接情况.
vim/etc/nginx/nginx.conf
cd/usr/local/nginx/html/
vimindex.php 添加php的测试代码.
测试PHP链接Nginx是否正常.
vimindex.php
测试PHP链接MySQL数据库是否正常.
五:Xcache的源码安装
Step1:解压缩Xcache源码包,编译安装.
tarxcache-3.0.1.tar.gz-C /usr/local/src/
cd/usr/local/src/xcache-3.0.1
使用php的phpize工具生成configure文件.
/usr/local/php/bin/phpize
编译安装
./configure--enable-xcache
--enable-xcache--with-php-config=/usr/local/php/bin/php-config
make && make install
Step2:整合php和Xcache(两种方式).
①catxcache.ini >> /usr/local/php/lib/php.ini
vim /usr/local/php/lib/php.ini
编辑下列行:extension =
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so
②cpxcache.ini /etc/php5.d(本次使用的是下面这种方式)
vim/etc/php5.d/xcache.ini
servicenginxrestart
servicephp-fpmrestart
Step3:测试php链接Xcache是否正常.
Step4:为了实现Xcache的Web管理,可以做下列优化.
cp-r /usr/local/src/xcache-3.0.1/htdocs/usr/local/nginx/html/
chmoda+rx/usr/local/nginx/html/htdocs
cd/usr/local/nginx/html/htdocs
chmoda+xindex.php
访问方式(物理目录)
http://服务器地址/htdocs
会出现访问被拒绝的情况,因为Xcache的管理默认是要身份认证的.
Step5:编辑Xcache的主配置文件,添加管理账号.
账号:admin密码:admin(MD5加密后)
vim/etc/php5.d/xcache.ini
servicenginxrastart
servicephp-fpmrastart
Step5:测试Xcache的Web管理.
好了,到现在我们的LNMP环境就算搭建完成了.
不算很复杂,有兴趣的博友可以自己试下,有问题大家讨论一下!!!!!
页:
[1]