1、Nginx簡介
Nginx是一款高性能、輕量級Web服務軟件,特點是穩定性和低系統資源消耗,以及對HTTP併發連接的高處理能力,許多知名網站都使用Nginx提供Web服務,如新浪、網易、騰訊、51CTO、人人網等,其源於俄羅斯,市場佔有率第三,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
<?php
phpinfo();
?>
訪問測試頁面,輸入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/
附: