windows下nodejs前端網站搭建及nginx部署


假設你已經用nodejs開發了一個前端網站,Vue.js框架Whatever,本文教你如何部署到服務端。

第一步:編譯項目

一般的nodejs項目結構如下:

先用npm編譯nodejs項目,進入nodejs項目文件夾運行命令:

npm run build

會生成dist文件夾,這就是我們打包后所需要的項目文件,放到服務器上。

但此文件是不能雙擊打開的,需要部署到一個web服務器中,如iis,nginx等,下面介紹以nginx的部署方式。

第二步:安裝nginx

以Windows服務器為例,下載Nginx:http://nginx.org/en/download.html

解壓之后只需要修改config/nginx.conf,修改如下圖:

啟動nginx。命令窗口cd進入nginx安裝目錄,輸入start nginx啟動nginx。

現在通過瀏覽器訪問http://127.0.0.1:8088/訪問。你在nginx里配的什么端口就是什么端口。

但是這個窗口不能關閉,一旦關閉網站就無法訪問了。

這樣就完了嗎,肯定不行,每個程序員都應該有潔癖,就看不得服務器上有個黑色窗口在那里杵着。萬一關了呢網站不就掛了。

第三步:將Nginx部署成服務

window系統的服務是沒有界面的,而且支持開機自啟動,安全穩定。

nginx官方沒有發布win服務版,可能就沒想過讓你在window中用,呵呵。

這里需要用到一個小工具Windows Service Wrapper(winsw.exe),其實自己也可以寫一個就是包裝nginx.exe程序,啟動的時候設置為后台運行即可。

下載地址:https://github.com/winsw/winsw

下載完成之后將其放到nginx的安裝目錄,並改名為nginx-service.exe

創建配置文件nginx-service.xml(名字要和工具的名字一樣)


nginx-service.xml內容如下:

<?xml version="1.0" encoding="utf-8" ?>
<service>
    <id>nginx-rtmp-win32-master</id> 
    <name>Nginx Service</name> 
    <description>High Performance Nginx Service</description>  <logpath>C:\Users\asus\Desktop\nginx-rtmp-win32-master\logs</logpath> 
    <log mode="roll-by-size">
        <sizeThreshold>10240</sizeThreshold>   
        <keepFiles>8</keepFiles> 
    </log> 
    <executable>C:\Users\asus\Desktop\nginx-rtmp-win32-master\nginx.exe</executable> 
    <startarguments>-p C:\Users\asus\Desktop\nginx-rtmp-win32-master</startarguments>  <stopexecutable>C:\Users\asus\Desktop\nginx-rtmp-win32-master\nginx.exe</stopexecutable> 
    <stoparguments>-p C:\Users\asus\Desktop\nginx-rtmp-win32-master -s stop</stoparguments>
</service>

注意把其中的地址都改成你的nginx.exe解壓地址。

接下來以管理員管理員管理員(重要的事情說三遍)的身份打開cmd,切換到nginx安裝目錄下

執行命令:nginx-service.exe install

恭喜你,服務已經安裝成功了,打開服務管理器,設置為自動方式,並啟動服務即可。

至此,沒用nginx窗口,你的網站依然可以打開,而且是開機自動啟動的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM