1、Nginx简介
Nginx是一款高性能、轻量级Web服务软件,特点是稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,许多知名网站都使用Nginx提供Web服务,如新浪、网易、腾讯、运维网、人人网等,其源于俄罗斯,市场占有率第三,Apache第一,微软的IIS第二。
2、LEMP(LNMP)网站平台
LEMP也称为LNMP平台,代表Linux下Nginx、MySQL、PHP这种网站服务器架构,同LAMP一样,LEMP也是应用越为广泛的网站服务器架构,受到许多Linux系统工程师的青睐。
一、编译安装Nginx
1、编译安装Nginx
①安装支持软件、创建运行用户
yum -y install pcre-devel zlib-devel
useradd -M -s /sbin/nologin nginx
②编译安装Nginx,启用http_ stub_status_module模块以支持状态统计
tar zxf nginx-1.0.8.tar.gz -C /usr/src/
cd /usr/src/nginx-1.0.8/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make install
③调整、启动Nginx服务
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
nginx
netstat -ntpl | grep "80"
④安装文本模式浏览器elinks并访问web服务,按q退出
yum -y install elinks
elinks http://localhost

⑤编写Nginx服务脚本并添加为系统服务,方便管理
vi /etc/init.d/nginx
chmod a+x /etc/init.d/nginx
chkconfig --add nginx
chkconfig --list nginx
service nginx restart
注:elinks文本模式浏览器,速度快,但不显示图像等多媒体内容
二、状态统计及虚拟主机应用
1、访问状态统计
编辑Nginx服务的主配置文件,添加如下内容,以指定访问位置并打开状态统计功能
vi /usr/local/nginx/conf/nginx.conf

service nginx restart
在浏览器访问http://192.168.1.1/status,查看访问状态统计信息

Active connections表示当前的活动连接数,server accepts handled requests表示已处理的连接信息,三个数字分别表示已处理的连接数、成功的TCP握手次数、已处理的请求数
2、基于域名的虚拟主机
①准备网站目录及测试文件
mkdir -p /var/www/benet
mkdir -p /var/www/accp
echo www.benet.com > /var/www/benet/index.html
echo www.accp.com > /var/www/accp/index.html
②调整主配置文件,添加如下内容
vi /usr/local/nginx/conf/nginx.conf

service nginx restart
③分别输入www.benet.com和www.accp.com进行访问,验证虚拟WEB主机,如下所示

注:域名的解析可以自行搭建DNS服务,也可通过修改/etc/hosts文件实现
三、构建LEMP网站平台
1、安装MySQL数据库
yum -y remove mysql-server mysql
yum -y install compat-lib* termcap ncurses-devel
①编译安装MySQL
useradd -M -u 27 -s /sbin/nologin mysql
tar zxf mysql-5.1.55.tar.gz -C /usr/src
cd /usr/src/mysql-5.1.55/
./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312
make && make install
②初始化数据库
cp support-files/my-medium.cnf /etc/my.cnf
/usr/local/mysql/bin/mysql_install_db --user=mysql
chown -R root:mysql /usr/local/mysql/
chown -R mysql /usr/local/mysql/var/
ln -s /usr/local/mysql/bin/* /usr/local/bin/
ln -s /usr/local/mysql/lib/mysql/* /usr/lib/
ln -s /usr/local/mysql/include/mysql/* /usr/include/
③配置启动脚本,启动服务
cp support-files/mysql.server /etc/init.d/mysqld
chmod a+x /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start
netstat -anptu | grep mysql
mysqladmin -u root password 123
mysql -u root -p
2、安装PHP环境
yum -y remove php
yum -y install libxml2-devel libpng-devel pcre-devel
①编译安装PHP
tar zxf php-5.3.6.tar.gz -C /usr/src
cd /usr/src/php-5.3.6/
./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --with-gd --with-zlib --enable-mbstring --enable-fpm
make && make install
注:FPM(FastCGI Process Manager,FastCGI进程管理器)用来对解析实例进行管理,优化解析效率,单服务器的LEMP架构通常使用这种方式,配置时应启用此模块。
②调整及配置
cp php.ini-development /usr/local/php5/php.ini
ln -s /usr/local/php5/bin/* /usr/local/bin/
ln -s /usr/local/php5/sbin/* /usr/local/sbin/
③安装PHP加速器ZendGuardLoader,提高PHP解析效率
tar zxf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
cd ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/
cp ZendGuardLoader.so /usr/local/php5/lib/php/
vi /usr/local/php5/php.ini -----添加如下内容
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1
3、配置Nginx支持PHP环境
①建立php-fpm.conf配置文件并进行修改,启动php-fpm程序
cd /usr/local/php5/etc/
cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf
pid = run/php-fpm.pid -----确认pid文件位置
user = nginx -----运行用户
group = nginx -----运行组
pm.start_servers = 20 -----启动时开启的进程数
pm.min_spare_servers = 5 -----最少空闲进程数
pm.max_spare_servers = 35 -----最多空闲进程数
/usr/local/sbin/php-fpm
netstat -anptu | grep "php-fpm"
②修改Nginx服务脚本,以便启动/停止Nginx服务时也自动启动/停止php-fpm
vi /etc/init.d/nginx

③配置Nginx支持PHP解析
vi /usr/local/nginx/conf/nginx.conf
 
service nginx restart
4、创建PHP测试页面
①编辑测试页测试Nginx是否支持php功能
vi /var/www/benet/t.php
访问测试页面,输入http://www.benet.com/t.php,如下所示表示Nginx已支持PHP

②编辑测试页测试Nginx、MySQL、PHP是否协同工作
vi /var/www/benet/test.php

访问测试页面,输入http://www.benet.com/test.php,如下所示则表示PHP解析及数据库连接均正常(可能需要稍等会才会正常显示)。

四、使用LEMP平台部署“天空网络电影系统”
服务器:192.168.1.1
客户机:192.168.1.200
1、部署程序代码
tar jxf SKYUC_3.2.2_Free_For_PHP5.3.tar.bz2
mv SKYUC_3.2.2_Free_For_PHP5.3/wwwroot/ /var/www/benet/skyuc
cd /var/www/benet/skyuc/
chown -R nginx:nginx admincp/ data/ templates/ upload/
2、创建数据库和专用账户
mysql -u root -p
create database skyucdb;
grant all on skyucdb.* to runskyuc@localhost identified by '123';
3、安装Web应用
在客户端访问http://www.benet.com/skyuc/install/index.php进行安装

确保系统环境、目录权限、缓存可写性等检测通过,否则安装将无法继续。

配置数据库连接信息,并设置管理账号和密码

转移install/目录并调整其权限,避免重复安装
mv install install.lock
chmod 600 install.locak
访问http://www.benet.com/skyuc/index.php站点,可以看到“天空网络电影系统”站点的首页

访问http://www.benet.com/skyuc/admincp/index.php输入管理账号,可登陆管理后台

结束!
补充:
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。
无需一个一个的输入命令,无需值守,编译安装优化编译参数,提高性能,解决不必要的软件间依赖,特别针对VPS用户进行了优化。
下载站点:http://lnmp.org/
附:
Nginx快速入门视频课程:http://edu.运维网.com/course/14606.html
|