close

 

 

前情提要:

 

Part 2 一個方便作業的Fedora 29 Server

 

 

對於一個網頁伺服器,你應該要有的認識:

 

  • 預設的情形下 HTTP執行在埠80,而更安全的HTTPS執行在443
  • HTTP/HTTPS 可以執行在別的埠號上,不是硬性在80443
  • 可以以服務形式存在系統,也可以讓使用者以普通應用程式的方式執行服務
  • Linux上,網頁伺服器通常都會有自己獨立的執行帳號,有些是系統安裝好時便預先建立,有些是安裝了網頁伺服器,才會建立,使用者也可以規定其他執行帳號。

 

 

Linux 上最為原先的網頁伺服器是由NCSA HTTPd衍生而來的Apache,改用Nginx 的理由是什麼 ?

 

Nginx 的當初寫出來的設計目的就是超越Apache HTTP Server 的執行效能,就以服務靜態HTML來說,Nginx 使用了比Apache 還要少非常多的記憶體,就達成了每秒鐘能處理比Apache 多四倍的要求,但Nginx 為了高效能而設計的架構便犧牲了像Apache 的高靈活性 (例如Apache可以只要透過Web Folder 裡面個別的.htxx檔案來達成靈活的存取與網站執行特性設定,但Nginx 不行)。不過就一般網站的需求而言(像是限制特定目錄存取(IP或帳號密碼),開GZip壓縮等等)Nginx都能勝任,故相對於ApacheNginx 是一個更好的選擇。

 

 

Nginx 的執行在Fedora 29 Server上的重要資訊:

 

  • 服務名稱: nginx
  • 預設的執行帳號: nginx
  • 設定檔案位置: /etc/nginx/
  • Log檔案位置: /var/log/nginx/
  • 預設的網頁檔案置放位置: /usr/share/nginx/html/
  • 服務預設狀態: 不開機啟動,停止

 

 

來亂的軼事:

 

其實依照官網的說明,Nginx 不念 En-jinx 是念Engine-X

 

 

安裝Nginx

 

Nginx Fedora 上倒是意外的安穩,沒有出什麼大亂子,所以基本上只要按照正常程序: 安裝、開防火牆、開機啟動、啟動服務,就可以了。

 

 

安裝Nginx:

 

# dnf install nginx

 

 

 

nginx 能夠通過防火牆:

 

# firewall-cmd --zone=FedoraServer --add-service=http --permanent

# firewall-cmd --zone=FedoraServer --add-service=https --permanent

 

由於httphttps 是防火牆中預設的Service Profile,這樣打等同於以下:

# firewall-cmd --zone=FedoraServer --add-port=80/tcp --permanent

# firewall-cmd --zone=FedoraServer --add-port=443/tcp –permanent

 

有人也許會對Service Profile的管理方式感到好奇,但我們可以這樣理解:

FTP服務需要20 21兩個TCP埠,而如果又使用了PASV,那還要額外規定一部份的埠給FTP使用,(假定60000 ~ 60020)。這代表要讓FTP正常運作,光只有Add Port 的方式就要三次,也容易造成事後不清楚這些規則的作用是什麼。我們可以把這些東西統整為一個稱為FTPService Profile,所以當防火牆執行 add-service=ftp時 實際上已經完成了add-port 20, 21 60000~60020),而在規則清單上也較容易理解。

 

zone (領域) 你可以理解為防火牆的Profile,正如你的電腦在不同的網路下需要不同的Profile 來提供不同的安全程度。

Fedora 29 Server 預設的Profile FedoraServer

 

而當新增或減少防火牆的規則清單時,請務必讓防火牆做重新整理:

# firewall-cmd --reload

 

 

 

Nginx開機啟動:

 

# systemctl enable nginx

 

 

 

啟動Nginx服務:

 

# systemctl start nginx

 

 

 

測試Nginx 服務:

 

隨便找一台電腦,網址輸入http://[主機IP],就可以看到Nginx 的歡迎畫面:

 

 

如果能看到這個畫面的話,請給自己一個掌聲吧 ?

arrow
arrow

    狼志浩 發表在 痞客邦 留言(0) 人氣()