系統環境:Centos6.4X64
安裝方式:yum安裝
tengine是由淘寶網發起的Web伺服器項目。它在tengine的基礎上,針對大通路量網站的需求,添加了很多進階功能和特性。tengine的性能和穩定性已經在大型的網站如淘寶網,天貓商城等得到了很好的檢驗。它的最終目标是打造一個高效、穩定、安全、易用的Web平台。
tengine不支援對外部程式的直接調用或者解析,所有的外部程式(包括PHP)必須通過FastCGI接口來調用。FastCGI接口在Linux下是socket,(這個socket可以是檔案socket,也可以是ip socket)。為了調用CGI程式,還需要一個FastCGI的wrapper(wrapper可以了解為用于啟動另一個程式的程式),這個wrapper綁定在某個固定socket上,如端口或者檔案socket。當tengine将CGI請求發送給這個socket的時候,通過FastCGI接口,wrapper接納到請求,然後派生出一個新的線程,這個線程調用解釋器或者外部程式處理腳本并讀取傳回資料;接着,wrapper再将傳回的資料通過FastCGI接口,沿着固定的socket傳遞給tengine;最後,tengine将傳回的資料發送給用戶端,這就是tengine+FastCGI的整個運作過程。
1.安裝MariaDB
由于Oracle進一步對mysql閉源的舉措讓人難以安心,衆多網際網路公司紛紛開始尋求MySQL的替代方案。而MariaDB是一個向後相容、替代MySQL的資料庫伺服器。它包含所有主要的開源存儲引擎。是以建議使用MariaDB
1.先解除安裝系統中mysql資料庫
[[email protected] ~]#yum remove mysql mysql-*
2.配置Mariadb安裝源
在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下:
[[email protected] ~]# vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl =http://yum.mariadb.org/10.0.4/centos6-amd64/
gpgkey=http://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
3.使用YUM安裝MariaDB
[[email protected] ~]#yum -y install MariaDB-client MariaDB-server MariaDB-devel
4.啟動資料庫
[[email protected] ~]#service mysql start
5.修改Root的密碼
[[email protected] ~]# mysqladmin -uroot password 'password'
2.關閉selinux和設定iptable防火牆
1.關閉selinux
[[email protected] ~]# vi /etc/selinux/config
把SELINUX= enforcing更改為SELINUX=disable
[[email protected] ~]#setenforce 0
2.設定iptable
[[email protected] ~]# vi /etc/sysconfig/iptables
增加
-AINPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
3.添加一個nginx使用者
[[email protected] ~]#groupadd nginx
[[email protected] ~]#useradd -s /sbin/nologin -g nginx nginx
4.安裝pcre
1.下載下傳pcre
[[email protected] ~]#wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz
2.安裝pcre用于支援tengine僞靜态
[[email protected] ~]#tar -zxvf pcre-8.33.tar.gz
[[email protected] ~]#mkdir /usr/local/pcre
[[email protected] ~]#cd pcre-8.33
[[email protected] pcre-8.33]#./configure --prefix=/usr/local/pcre
[[email protected] pcre-8.33]#make
[[email protected] pcre-8.33]#make install
5.安裝tengine
1.下載下傳tengine1.51
[[email protected]]#cd ~
[[email protected] ~]#yum install openssl openssl-devel
[[email protected] ~]#wget http://tengine.taobao.org/download/tengine-1.5.1.tar.gz
2.安裝tengine
[[email protected] ~]#mkdir /usr/local/nginx
[[email protected] ~]#tar -zxvf tengine-1.5.1.tar.gz
[[email protected] ~]#cd tengine-1.5.1
[[email protected] tengine-1.5.1]# ./configure--prefix=/usr/local/nginx --with-http_stub_status_module --with-pcre=/root/pcre-8.33
注:--with-pcre=/root/pcre-8.33指向的是源碼包解壓的路徑,而不是安裝的路徑,否則會報錯。
[[email protected]]#make
[[email protected]]#make install
[[email protected]~]#chown nginx.nginx -R /usr/local/nginx/html
[[email protected]~]#chmod 700 -R /usr/local/nginx/html
6.設定tengine服務
[[email protected] ~]# vi /etc/rc.d/init.d/nginx
#!/bin/bash
# Tengine Startup script# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/usr/local/nginx/logs/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "tengine already running...."
exit 1
fi
echo -n $"Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid
}
reload() {
echo -n $"Reloading $prog: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL
[root@tengine ~]# chmod 775 /etc/rc.d/init.d/nginx
[root@tengine ~]# chkconfig nginx on
[root@tengine ~]# service nginx start
7.安裝PHP及相關元件
1.安裝PHP
[[email protected] ~]#yum -y install php
2.安裝PHP元件,使PHP支援FastCGI模式
[[email protected] ~]#yum -y install php-mysql php-gd libjpeg* php-imap php-ldap php-odbcphp-pear php-xml php-xmlrpc php-mbstring php-bcmath php-fpm
8.整合Nginx與PHP
[[email protected] ~]#vi /usr/local/nginx/conf/nginx.conf
把第二行注釋去掉并把nobody更改為nginx
worker_processes 根據cpu個數進行設定
把71行到77行的注釋去掉,并把/scripts替換為/usr/local/nginx/html
注:上面的/usr/local/nginx/html 是我們PHP網站放置的路徑
[[email protected] ~]#vi /etc/php-fpm.d/www.conf
把39行和41行的apache更改為nginx
9.下載下傳Discuz測試tengine、php和Mariadb
1.測試tengine
在浏覽器輸入http://175.102.13.55
2.測試php
[[email protected] ~]#vi /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
在浏覽器輸入http://175.102.13.55/index.php
3.下載下傳DiscuzX測試Mariadb
[[email protected]~]#wget http://download.comsenz.com/DiscuzX/3.1/Discuz_X3.1_SC_UTF8.zip
[[email protected]~]# unzip Discuz_X3.1_SC_UTF8.zip
[[email protected]~]# mv upload/* /usr/local/nginx/html
[[email protected]~]# chown nginx.nginx -R /usr/local/nginx/html
轉載于:https://blog.51cto.com/hao360/1371958