一、描述
晚上剛洗漱完之後聽同學說:B站掛了?woc?真掛了?
嗯!確實掛了,404的狀態碼,懂的都懂。
不過,最下面的tengine字眼吸引了我的注意,一時興起,打算看看它是個什麼東西,起碼搞一個hello world出來,所以特意去購買了一臺伺服器,打算搞一個hello tengine
伺服器就位,準備開幹!
二、官方的介紹
Tengine是由淘寶網發起的Web伺服器專案。它在Nginx的基礎上,針對大訪問量網站的需求,新增了很多高階功能和特性。Tengine的效能和穩定性已經在大型的網站如淘寶網、天貓商城等得到了很好的檢驗。它的最終目標是打造一個高效、穩定、安全、易用的Web平臺。
從2011年12月開始,Tengine成為一個開源專案,Tengine團隊在積極地開發和維護著它。Tengine團隊的核心成員來自於淘寶、搜狗等網際網路企業。Tengine是社群合作的成果,我們歡迎大家參與其中,貢獻自己的力量。
三、下載、編譯、安裝
原始碼下載地址:http://tengine.taobao.org/download.html
解壓:
-rw-r--r-- 1 root root 2848144 7月 13 23:13 tengine-2.3.3.tar.gz
[root@VM-0-4-centos ~]# tar -zxvf tengine-2.3.3.tar.gz
安裝:
# 切換進tengine-2.3.3目錄
# 安裝依賴
$ yum install gcc-devel openssl-devel zlib-devel pcre-devel
# 通過 --prefix 指定安裝目錄
[root@VM-0-4-centos sbin]# ./configure --prefix=/usr/local/tengine
$ make && make install
編譯時有很多可選項,感興趣可以參考這個連結:http://tengine.taobao.org/document_cn/install_cn.html
Tengine預設將安裝在/usr/local/nginx目錄。你可以用'--prefix'來指定你想要的安裝目錄。
四、啟動
# 切換到安裝目錄
$ cd /usr/local/tengine
目錄詳情如下,整體不難看懂,bin檔案、配置檔案、html檔案,大概看起來和使用nginx沒啥區別。預設的配置檔案也是conf/nginx.conf
conf目錄中存放的是配置檔案,看了一下配置檔案中的sever模組,和nginx的配置相當,熟悉的location語法和80埠、熟悉的gzip壓縮傳輸...
再去稍微修改一下它的html程式碼
切換進sbin目錄,通過nginx命令啟動tengine
-rwxr-xr-x 1 root root 6291432 7月 13 23:55 nginx
[root@VM-0-4-centos sbin]# ./nginx
看一下效果:
最後再看一看熟悉的404:
五、小結
哎,搞了一會,發現沒啥難度。從看它的官網再到編譯安裝啟動,大概也就十幾二十分鐘的樣子,使用起來和nginx幾乎沒啥差別,零難度,易上手。感覺用起來還是個nginx
官網也有介紹說tengine相對於nginx有很多優化點如下:
比如有更友好的錯誤提示:比如這次我們都能看到B站出問題的機器到hostname(通過hostname可以獲取機器ip甚至是直接登陸上機器)
更多的好處,大家可以自己去看官網瞄一眼哦~
http://tengine.taobao.org/documentation.html
六、推薦閱讀
- MySQL的修仙之路,圖文談談如何學MySQL、如何進階!(已釋出)
- 面前突擊!33道資料庫高頻面試題,你值得擁有!(已釋出)
- 大家常說的基數是什麼?(已釋出)
- 講講什麼是慢查!如何監控?如何排查?(已釋出)
- 對NotNull欄位插入Null值有啥現象?(已釋出)
- 能談談 date、datetime、time、timestamp、year的區別嗎?(已釋出)
- 瞭解資料庫的查詢快取和BufferPool嗎?談談看!(已釋出)
- 你知道資料庫緩衝池中的LRU-List嗎?(已釋出)
- 談談資料庫緩衝池中的Free-List?(已釋出)
- 談談資料庫緩衝池中的Flush-List?(已釋出)
- 瞭解髒頁刷回磁碟的時機嗎?(已釋出)
- 用十一張圖講清楚,當你CRUD時BufferPool中發生了什麼!以及BufferPool的優化!(已釋出)
- 聽說過表空間沒?什麼是表空間?什麼是資料表?(已釋出)
- 談談MySQL的:資料區、資料段、資料頁、資料頁究竟長什麼樣?瞭解資料頁分裂嗎?談談看!(已釋出)
- 談談MySQL的行記錄是什麼?長啥樣?(已釋出)
- 瞭解MySQL的行溢位機制嗎?(已釋出)
- 說說fsync這個系統呼叫吧! (已釋出)
- 簡述undo log、truncate、以及undo log如何幫你回滾事物! (已釋出)
- 我勸!這位年輕人不講MVCC,耗子尾汁! (已釋出)
- MySQL的崩潰恢復到底是怎麼回事? (已釋出)
- MySQL的binlog有啥用?誰寫的?在哪裡?怎麼配置 (已釋出)
- MySQL的bin log的寫入機制 (已釋出)
- 刪庫後!除了跑路還能幹什麼?(已釋出)
- 自導自演的面試現場,趣學資料庫的10種檔案(已釋出)
- 大型面試現場:一條update sql執行都經歷什麼?(已釋出)
- 大型翻車現場:如何實現記錄存在的話就更新,如果記錄不存在的話就插入。(已釋出)
- 視訊+圖文串講:MySQL 行鎖、間隙鎖、Next-Key-Lock、以及實現記錄存在的話就更新,如果記錄不存在的話就插入如何保證併發安全(已釋出)
- 自導自演的面試現場:說說char 和 varchar的區別你瞭解多少?。(已釋出)
- 自導自演的面試現場之--你竟然不瞭解MySQL的組提交?。(已釋出)
- 全網最清楚的:MySQL的insert buffer和change buffer 串講(已釋出)
- Double Write並不難理解
- 簡述MySQL的三大正規化
- 盤點各種登陸資料庫的方式
- 面試現場:join聯表的注意點、有哪些聯表查詢方式、真題...
- 心裡有點樹
- 心裡有點B樹
- 聚簇索引到底是怎麼回事?是如何長高的?
- 8分鐘回顧MySQL的索引