淘寶Web服務器Tengine在CentOS下的安裝教程
注:服務器環(huán)境為CentOS
一、簡介
Tengine是由淘寶網(wǎng)發(fā)起的Web服務器項目。它在Nginx的基礎上,針對大訪問量網(wǎng)站的需求,添加了很多高級功能和特性。Tengine的性能和穩(wěn)定性已經(jīng)在大型的網(wǎng)站如淘寶網(wǎng),天貓商城等得到了很好的檢驗。它的最終目標是打造一個高效、穩(wěn)定、安全、易用的Web平臺。
從2011年12月開始,Tengine成為一個開源項目,Tengine團隊在積極地開發(fā)和維護著它。Tengine團隊的核心成員來自于淘寶、搜狗等互聯(lián)網(wǎng)企業(yè)。Tengine是社區(qū)合作的成果,我們歡迎大家參與其中,貢獻自己的力量。
二、特性
繼承Nginx-1.2.9的所有特性,100%兼容Nginx的配置;
動態(tài)模塊加載(DSO)支持。加入一個模塊不再需要重新編譯整個Tengine;
輸入過濾器機制支持。通過使用這種機制Web應用防火墻的編寫更為方便;
動態(tài)腳本語言Lua支持。擴展功能非常高效簡單;
支持管道(pipe)和syslog(本地和遠端)形式的日志以及日志抽樣;
組合多個CSS、JavaScript文件的訪問請求變成一個請求;
更加強大的負載均衡能力,包括一致性hash模塊、會話保持模塊,還可以對后端的服務器進行主動健康檢查,根據(jù)服務器狀態(tài)自動上線下線;
自動根據(jù)CPU數(shù)目設置進程個數(shù)和綁定CPU親緣性;
監(jiān)控系統(tǒng)的負載和資源占用從而對系統(tǒng)進行保護;
顯示對運維人員更友好的出錯信息,便于定位出錯機器;
更強大的防攻擊(訪問速度限制)模塊;
更方便的命令行參數(shù),如列出編譯的模塊列表、支持的指令等;
可以根據(jù)訪問文件類型設置過期時間;
三、安裝
1.yum安裝
yum安裝比較簡單,配置好源以后直接yum install即可。
①配置第三方y(tǒng)um源(CentOS的默認源里是沒有nginx軟件包的)
wget http://www.atomicorp.com/installers/atomic #下載atomic yum源
sh ./atomic #安裝
yum check-update #更新yum軟件包
②安裝配置
service nginx start #啟動
chkconfig nginx on #設為開機啟動
/etc/init.d/nginx restart #重啟
rm -rf /usr/share/nginx/html/* #刪除ngin默認測試頁
2.源碼編譯安裝
源碼安裝稍微復雜一點,有一些相關的依賴包需要單獨編譯
源碼安裝既可以選擇原版的nginx也可以使用淘寶修改過的Tengine,這里推薦使用Tengin,Tengine完全兼容nginx并且加入了許多的新特性,適合日益復雜的業(yè)務擴展。
Tengine官網(wǎng):http://tengine.taobao.org/
①先安裝pcre,用于支持nginx的偽靜態(tài)
# cd /usr/local/src
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz
# tar zxvf pcre-8.21.tar.gz
# mkdir /usr/local/pcre #創(chuàng)建安裝目錄
# cd pcre-8.21
# ./configure --prefix=/usr/local/pcre #配置
# make
# make install
②安裝Tengine
# cd /usr/local/src
# wget http://tengine.taobao.org/download/tengine-1.4.2.tar.gz
# tar zxvf tengine-1.4.2.tar.gz
# cd tengine
# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.21
# make
# make install
# /usr/local/nginx/sbin/nginx #啟動nginx
# chown nobody.nobody -R /usr/local/nginx/html
# chmod 700 -R /usr/local/nginx/html
注意:--with-pcre=/usr/local/src/pcre-8.21指向的是源碼包解壓的路徑,而不是安裝的路徑,否則會報錯。
③設置Tengine開機啟動
#!/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
保存退出
# chmod 775 /etc/rc.d/init.d/nginx #賦予文件執(zhí)行權限
# chkconfig nginx on #設置開機啟動
# /etc/rc.d/init.d/nginx restart
至此,nginx安裝結(jié)束。這里再說一下為什么要使用淘寶的Tengine:
1.繼承Nginx的所有特性,100%兼容Nginx的配置;
2.動態(tài)模塊加載(DSO)支持。加入一個模塊不再需要重新編譯整個Tengine;
3.輸入過濾器機制支持。通過使用這種機制Web應用防火墻的編寫更為方便;
4.動態(tài)腳本語言Lua支持。擴展功能非常高效簡單;
5.支持管道(pipe)和syslog(本地和遠端)形式的日志以及日志抽樣;
6.組合多個CSS、JavaScript文件的訪問請求變成一個請求;
四、成功頁面
安裝并啟動Tengine后,瀏覽器輸入ip地址,看到下圖則說明安裝成功。
五、注意事項
1. –with-openssl=/usr/local/src/openssl-1.0.1e 這步可能會出錯,注意:–with-openssl=/usr/local/src/openssl-1.0.1e 指向的是源碼包解壓的路徑,而不是安裝的路徑,否則會報錯,下載,解壓源碼包,如下:
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
tar zxvf openssl-1.0.1e
然后再重新執(zhí)行 tengine 安裝即可。
2. –with-pcre=/usr/local/src/pcre-8.33 指向的是源碼包解壓的路徑,而不是安裝的路徑,否則會報錯。
相關文章
解決nginx+uwsgi部署Django的所有問題(小結(jié))
本篇文章主要介紹了解決nginx+uwsgi部署Django的所有問題(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04關閉nginx空主機頭 防止nginx空主機頭及惡意域名指向
nginx的默認配置中的虛擬主機允許用戶通過IP訪問,或者通過未設置的域名訪問,比如有人惡意把他自己的域名指向了你的ip,需要的朋友可以參考下2016-09-09Prometheus監(jiān)控實戰(zhàn)篇Nginx、Hbase操作詳解
這篇文章主要介紹了Prometheus監(jiān)控實戰(zhàn)篇Nginx、Hbase,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02