3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
Web 伺服器的首選,大概不是 Nginx 就是 Apache 了。這篇文章說明為什麼我偏向使用 Nginx 而不是 Apache。 常常有人問我為什麼我使用 Nginx(念作 Engine-X) 而不用 Apache,雖然早期在用一些虛擬主機時都用 Apache,但後來自己買 VPS 後就習慣都用 Nginx 了。簡單列幾點我自己的理由: 效能問題 早期做很多東西大部分都是靜態的,沒有需要很多動態改寫的東西,而 Nginx 的靜態處理效能比 Apache 還要好。根據 ServerGuy 的文章,在處理靜態內容時 Nginx 比 Apache 可以高達兩倍以上的效能,而動態內容則大同小異,這樣不管是在大型 Server 上,還是小到 Raspberry Pi,都可以有好的效能可以使用。文章也提到,處理大流量時 Nginx 會比 Apache 好一些。 小主機上想省效能?用 C++ 寫 RESTful API 也是個不錯的選擇:Pistache:用 C++ 寫 RESTful API Server 設定檔 另外,設定檔的寫法,我也比較喜歡 Nginx 的。首先看一下 Apache 預設的設定檔: ServerAdmin webmaster@localhost DocumentRoot /var/www Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all 這是 Nginx 的: server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } } 我個人是比較偏向使用大括號的語法,而不是 XML 的語法;我個人也覺得 Nginx 的語法比較人性化,雖然 Routing 的寫法大同小異就是了。 不過,有 Apache 支援在網頁資料夾裡面使用 .htaccess 檔案動態修改設定;Nginx 就沒辦法了。Apache 這樣做好處是方便、使用者不需要經過系統管理員也可以寫一些簡單的設定,壞處是可能危險、另外設定檔全部都放在一起也比較好管理,但這邊就見仁見智。 模組 不過 Nginx 的模組就是缺點了。Nginx 當初開發可能考量到效能問題,模組都是靜態的──也就是說每次你需要新增一個新的模組時,你可能就要重新編譯(或重新安裝)Nginx,還記得當初為了讓自己優先支援 HTTP/2,也是要另外編譯 Nginx;要做某個東西支援 FFMPEG 時也是另外編譯。但 Apache 的模組是動態的,額外安裝模組後,隨時可以載入或解除安裝那些模組,這點 Nginx 就比較比不上。 最後,如果你還是不知道該用哪種 Web 伺服器的話,我會建議你:從 Nginx 開始嘗試看看吧!。附上 Netcraft 調查的,最近 10 年前一百萬網站使用的 Web server 品牌: 本篇文章同步發表在 iT邦幫忙。 延伸閱讀 用 Nginx 伺服器建立反向代理

本文由noobtw提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦