2022/04/20

Web網頁伺服器-Nginx實作架在Windows上

Photo credit:Pexels

文、意如老師

科普一下Nginx是一個輕量級的Http網頁反向代理伺服器,優點是支持多國語言、暫存少、併發強,同時間連線次數可以比較於Apache -httpd伺服器 來的更多,例Apache的連結數預設最大為250個連線,但一旦超過200以上,網頁開啟速度就會變的超級慢,反之如利用工具Docker-Nginx 則可承受大約1024個連線。

另外Nginx它有一個最大的特點是在處理靜態(多文字Html、圖片等)的性能,足足能比Apache高3倍以上,所以如果專案偏向多靜態處理,建議一定要試試看Nginx伺服器。

Nginx相較於其它的網頁伺服器也更方便於工程師開發與部署,我們直接馬上來實作將伺服器架到windows上。

任務一:下載、安裝與啟動、關閉
    任務1-1.下載 nginx
    任務1-2.啟動 nginx
    任務1-3.查詢啟動是否成功
    任務1-4.關閉 nginx
任務二:使用winsw部署將程式改成開機時自動啟動服務
    任務2-1.先安裝 .NET Framework 3.5 以上
    任務2-2.下載winsw
    任務2-3.基本設定(複製winsw.exe 及 建立 winsw.xml 檔)
    任務2-4.安裝及卸載指令
    任務2-5.部署將程式改成開機時自動啟動服務

任務一:下載、安裝與啟動、關閉

任務1-1.下載 nginx
下載網址:https://nginx.org/en/download.html
找到windows版本的檔案下載回來

下載後是一個壓縮檔,解壓後檔案如下圖


任務1-2.啟動 nginx
下載成功後就可以準備啟動nginx伺服器了
首先開啟cmd.exe(命令提示字元)

1. cd進入 nginx-1.19.6資料夾
輸入指令:cd nginx-1.19.6

2. 更新檔名
#ren 舊檔案 新檔名
輸入指令:ren nginx-1.19.6 nginx

3. cd進入 nginx資料夾
輸入指令:cd nginx

4. 啟動nginx
輸入指令:start nginx

此時會跳出Windows安全性警訊 → 按下允許存取即可

任務1-3.查詢啟動是否成功
最後查詢啟動是否成功。
輸入指令:tasklist /fi "imagename eq nginx.exe

也可以在瀏覽器輸入127.0.0.1 如果出現以下畫面代表安裝成功

任務1-4.關閉 nginx
輸入指令:強制停止 nginx -s stop 或 正常程序的停止 nginx -s quit

任務二:使用winsw部署將程式改成開機時自動啟動服務

任務2-1.先安裝 .NET Framework 3.5 以上功能
首先需要安裝 .NET Framework 3.5 以上功能,不然裝到一半會跑出以下畫面,還是得安裝。


任務2-2.下載winsw
下載路徑:http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.9.0/

目前安裝的版本為winsw-2.9.0.exe

任務2-3. 基本設定(複製winsw.exe 及 建立 winsw.xml 檔)
步驟一:將下載後的文件(如 winsw-2.9.0-bin.exe )拷貝至nginx資料夾下,將重新命名為nginx-winsw.exe

步驟二:在nginx資料夾下創建 nginx-winsw.xml 文件,並輸入以下內容後存檔

nginx-winsw.xml

<?xml version="1.0" encoding="UTF-8" ?>

<service>

 <id>Nginx</id>

 <name>Nginx</name>

 <description>本服務用於加載Nginx服務,請確保開機啟動。</description>

 <logpath>C:UsersyiruDownloadsnginx-1.19.6nginxlogs</logpath>

 <executable>nginx.exe</executable>

 <stopexecutable>nginx.exe</stopexecutable>

 <stopargument>-s</stopargument>

 <stopargument>stop</stopargument>

 <logmode>rotate</logmode>

</service>

建好這兩個檔案之後,目錄檔案如下:

任務2-4.安裝及卸載指令
開啟cmd (命令提示字元)→ 接著cd 到 nginx 目錄
輸入安裝指令:nginx-winsw.exe install

輸入卸載 指令:nginx-winsw.exe uninstall

任務2-5.部署將程式改成開機時自動啟動服務
方法一:首先開啟應用程式 → 服務

開啟服務視窗後,這邊已經多了 Nginx 服務了

按下右鍵 → 直接啟動

當成功啟動時,會自動跳出瀏覽器,並打開127.0.0.1的歡迎畫面。
如果沒有自動跳出,請自己開啟瀏覽器並在網址中輸入127.0.0.1。

方法二:也可以使用指令啟動
首先開啟cmd → 右鍵以系統管理員身分執行

常用指令如下:
啟動服務:net start nginx
查看狀態指令:tasklist /fi "imagename eq nginx.exe"
停止服務:net stop nginx

啟動後,重新開機,這邊會自動執行 nginx,不需要再做其它設定,瀏覽器網址列上直接打 127.0.0.1 ,如果有看到歡迎畫面代表我們已經成功將nginx成功架在windows上了。



加入菜鳥救星官方Line並回覆「我想看文章」,不定期獲得更多知識吧!

不同頻道,不同知識!


Facebook


Instagram


Youtube