眾所周知,LAMP 平臺(tái)是目前應(yīng)用最為廣泛的網(wǎng)站服務(wù)器架構(gòu),其中的“A”對(duì)應(yīng)著Web服務(wù)軟件Apache HTTP Server。隨著Nginx在企業(yè)中的使用越來(lái)越多,LNMP(或LEMP)架構(gòu)也受到越來(lái)越多Linux系統(tǒng)工程師的青睞,其中的“E”就來(lái)自于Nginx的發(fā)音[engine x]。就像構(gòu)建LAMP平臺(tái)一一樣, 構(gòu)建LNMP平臺(tái)也需要Linux服務(wù)器、MySOL數(shù)據(jù)庫(kù)和PHP解析環(huán)境,區(qū)別主要在Nginx與PHP的協(xié)作配置上。
第一步:安裝Nginx
1.編譯安裝Nginx
——–安裝依賴(lài)包——-
yum -y install pcre-devel zlib-devel gcc gcc-c++ cmake
//創(chuàng)建nginx用戶
useradd -M -s /sbin/nologin nginx
//解壓到/opt
tar xzvf nginx-1.6.0.tar.gz -C /opt
———配置編譯安裝——–
cd /opt/nginx-1.6.0/
./configure
–prefix=/usr/local/nginx
–user=nginx
–group=nginx
–with-http_stub_status_module //開(kāi)啟stub_status狀態(tài)統(tǒng)計(jì)模塊//
make
make install
2.制作啟動(dòng)腳本
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //讓系統(tǒng)識(shí)別命令
—–檢查、啟動(dòng)、重啟、停止——–
nginx -t //檢查
nginx //啟動(dòng)
killall -1 nginx //重啟
killall -3 nginx //停止
——-制作管理角本——–
vi /etc/init.d/nginx
#!/bin/bash
# chkconfig: – 99 20
# description: Nginx Service Control Script
PROG=”/usr/local/nginx/sbin/nginx”
PIDF=”/usr/local/nginx/logs/nginx.pid”
case “$1” in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF)
;;
*)
echo “Usage: $0 {start|stop|restart|reload}”
exit 1
esac
exit 0
chmod +x /etc/init.d/nginx
chkconfig –add nginx //開(kāi)機(jī)自啟動(dòng)
service nginx start
第二步:安裝MySQL
這里以版本5.5.24為例
1.編譯安裝MySQL
yum -y install ncurses-devel //ncurses是字符終端下屏幕控制的基本庫(kù)//
tar xzvf mysql-5.5.24.tar.gz -C /opt
cd /opt/mysql-5.5.24
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=all
-DSYSCONFDIR=/etc
-DMYSQL_DATADIR=/home/mysql/
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DENABLED_LOCAL_INFILE=1
-DWITH_SSL=system
-DMYSQL_TCP_PORT=3306
-DENABLE_DOWNLOADS=1
-DWITH_SSL=bundled
make && make install
2.優(yōu)化調(diào)整
cp support-files/my-medium.cnf /etc/my.cnf //復(fù)制配置文件
cp support-files/mysql.server /etc/init.d/mysqld //復(fù)制啟動(dòng)腳本
chmod +x /etc/init.d/mysqld
chkconfig –add mysqld
chkconfig –level 35 mysqld on
echo “PATH=$PATH:/usr/local/mysql/bin/” >> /etc/profile //配置環(huán)境變量
. /etc/profile (注意:”.”后面有空格)
3.初始化數(shù)據(jù)庫(kù)
useradd -s /sbin/nologin mysql
chown -R mysql.mysql /usr/local/mysql
/usr/local/mysql/scripts/mysql_install_db
–user=mysql
–ldata=/var/lib/mysql
–basedir=/usr/local/mysql
–datadir=/home/mysql
ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock
4.啟動(dòng)MySQL服務(wù)
vi /etc/init.d/mysqld //配置啟動(dòng)腳本
basedir=/usr/local/mysql
datadir=/home/mysql
service mysqld start
mysqladmin -u root -p password “abc123” //為root用戶設(shè)置密碼
第三步:安裝PHP解析環(huán)境
•Nginx配置網(wǎng)頁(yè)動(dòng)靜分離、解析PHP,有兩種方法可以選擇:使用PHP的FPM模塊,或者將訪問(wèn)PHP頁(yè)面的Web請(qǐng)求轉(zhuǎn)交給Apache服務(wù)器去處理。
•較新版本的PHP已經(jīng)自帶FPM (FastCGI Process Manager, FastCGI進(jìn)程管理器)模塊,用來(lái)對(duì)PHP解析實(shí)例進(jìn)行管理和優(yōu)化解析效率。FastCGI 將靜態(tài)請(qǐng)求和動(dòng)態(tài)腳本語(yǔ)言分離開(kāi),Nginx 專(zhuān)門(mén)處理靜態(tài)請(qǐng)求,并轉(zhuǎn)發(fā)動(dòng)態(tài)請(qǐng)求給PHP-FPM。單服務(wù)器的
LNMP架構(gòu)通常使用FPM的方式來(lái)解析PHP。
1.使用yum工具安裝PHP的依賴(lài)包。
//首先安裝GD庫(kù)及GD庫(kù)關(guān)聯(lián)程序
yum -y install
gd
libxml2-devel
libjpeg-devel
libpng-devel
zlib-devel
fontconfig-devel
openssl-devel
bzip2-devel
2.編譯安裝PHP
tar jxvf php-5.4.5.tar.bz2 -C /opt
cd /opt/php-5.4.5
./configure
–prefix=/usr/local/php5
–with-gd
–with-zlib
–with-mysql=/usr/local/mysql
–with-config-file-path=/usr/local/php5
–enable-mbstring
–with-jpeg-dir
–with-openssl
–disable-ipv6
–enable-fpm //添加fpm模塊
make && make install
3.復(fù)制模板文件作為PHP的主配置文件
cp php.ini-development /usr/local/php5/php.ini
4.為PHP安裝加速器,用于提高PHP的解析效率
tar xzvf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /opt
cd /opt/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x
cp ZendGuardLoader.so /usr/local/php5/lib/php
修改PHP的主配置文件,開(kāi)啟ZendGuardLoader模塊
vi /usr/local/php5/php.ini
[Zend Guard Loader]
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1 //1表示開(kāi)啟
第四步:配置Nginx支持PHP環(huán)境
1.PHP-FPM模塊配置
(1)復(fù)制模板文件php-fpm.conf.default作為PHP-FPM的配置文件
cd /usr/local/php5/etc/
cp php-fpm.conf.default php-fpm.conf
(2)修改php-fpm.conf配置文件
useradd -M -s /sbin/nologin php //創(chuàng)建php用戶
vi php-fpm.conf //修改
pid = run/php-fpm.pid //確定pid文件位置
user = php //表示由php用戶調(diào)用
group = php
pm.max_children=50 //fpm模塊的最大進(jìn)程數(shù)
pm.start_servers = 20 //啟動(dòng)時(shí)開(kāi)啟的進(jìn)程數(shù)
pm.min_spare_servers = 5 //最小空閑進(jìn)程數(shù)
pm.max_spare_servers = 35 //最大空閑進(jìn)程數(shù)
(3)啟動(dòng)PHP-FPM模塊,進(jìn)程使用9000端口
//設(shè)置軟鏈接,方便命令使用
ln -s /usr/local/php5/bin/* /usr/local/bin/
ln -s /usr/local/php5/sbin/* /usr/local/sbin/
/usr/local/sbin/php-fpm
netstat -lntup | grep 9000
2.配置Nginx支持PHP解析
(1)在Nginx的主配置文件中的server{}配置段,將PHP的網(wǎng)頁(yè)請(qǐng)求轉(zhuǎn)發(fā)給FPM模塊處理
cd /usr/local/nginx/conf/
cp nginx.conf nginx.conf.bak //修改前做備份
vi nginx.conf
location ~ .php$ {
root /var/www/benet; //php文件所在目錄
fastcgi_pass 127.0.0.1:9000; //php文件轉(zhuǎn)發(fā)給FPM模塊
fastcgi_index index.php; //默認(rèn)文件是index.php
include fastcgi.conf; //包含fastcgi.conf配置文件
}
nginx -t //檢測(cè)語(yǔ)法
(2)在/var/www/benet下創(chuàng)建php測(cè)試頁(yè)面
service nginx restart //重啟服務(wù)
mkdir -p /var/www/benet //創(chuàng)建目錄
vi /var/www/benet/index.php //創(chuàng)建php文件
<?php
phpinfo();
?>
在瀏覽器中訪問(wèn)PHP文件
第五步:創(chuàng)建論壇
1.創(chuàng)建bbs數(shù)據(jù)庫(kù)并授權(quán)
mysql -u root -p
mysql> CREATE DATABASE bbs; //創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)//
mysql> GRANT all ON bbs.* TO ‘bbsuser’@’%’ IDENTIFIED BY ‘admin123’; //把bbs數(shù)據(jù)庫(kù)里面所有表的權(quán)限授予給bbSUSEr,并設(shè)置密碼//
mysql>flush privileges; //刷新數(shù)據(jù)庫(kù)//
2.測(cè)試數(shù)據(jù)庫(kù)
vi /var/www/benet/index.php
<?php
$link=mysql_connect(‘192.168.26.153′,’bbsuser’,’admin123′);
if($link) echo “Success!!”;
else echo “Fail!!”;
mysql_close();
phpinfo();
?>
3.安裝論壇
unzip Discuz_X3.3_SC_UTF8.zip -d /opt/dis //解壓Discuz
cd /opt/dis
cp -r upload/ /var/www/benet/bbs
cd /var/www/benet/bbs
chown -R php ./config //修改屬性
chown -R php ./data
chown -R php ./uc_client
chown -R php ./uc_server/data
4.訪問(wèn)瀏覽器,安裝論壇
http://192.168.26.153/bbs/install/index.php