謝謝邀請,那么我來說一下步驟:
第一步當然是購買云服務器了,然后就是搭建環境安裝node
在安裝node之前,被迫安裝了一個360瀏覽器(服務器上的IE實在是受不了),然后去nodejs官網下載對應的版本。
下載node-8.1.2 32 位 版本安裝失敗,提示此版本只支持win7以及window server 2008 R2以上本服務器剛好比R2低下載6.11.0也是提示相同的內容下載4.4.4 版本安裝成功
PS: 下載的都是.msi
安裝mongodb
服務器版本為windows server 2008與windows server 2008 R2的區別在于一個是基區windows vista 而R8基于windows7
所以在選擇mongodb安裝包時,選擇windows vista版本(只有32位)
安裝的版本為: mongodb-win32-i386-3.2.16-signed
安裝完畢之后 在monodb安裝目錄下的bin文件下 執行cmd
此處的文件路徑是你要做為啟動的數據庫的存儲路徑(需提前創建)
報錯:
表示32bit版本的mongodb默認不開journal記錄,如果你需要的話,需要在運行時加上--journal開關
于是重新輸入cmd命令:
報另一個錯:
wiredTiger 儲存啟動引擎在32位上不被支持,需要將儲存啟動引擎設置為mmapv1或者將你的系統升級為64位
于是輸入命令
程序成功運行,在瀏覽器輸入localhost:27017顯示如下字段:
配置nginx
將自己之前做得一個nodejs+angular的項目copy到服務器上嘗試運行,沒想到直接成功了。原本以為node項目能跑起來就萬事大吉,然而還是太年輕。跑起來只能通過localhost訪問,輸入公網IP一點卵用的沒有,于是去查了一下node http模塊的文檔,發現:于是改了改打碼:
prot = '你想要的端口',host = '你對應的公網IP';
結果運行時報錯:
EADDRNOTAVAIL 表示 error address not available地址無法獲取將host改為本服務器的ip地址之后,能成功打開。
于是得出一個結論:需要通過一種手段來使項目支持公網IP訪問,這種手段————就是ngxin反向代理
隨便去下載一個ngxin,然后在ngxin/conf文件夾下新建一個node.conf。
然后在同級目錄下的nginx.conf中include。
node項目還是在localhost上運行,mongodb也開啟,在使用localhost:3000能訪問項目的情況下,雙擊執行ngxin或者在ngxin目錄下打開cmd執行nginx.exe。
然后使用公網IP訪問,非常完美。(就是網速有點慢,還偶爾會重定向,可能是ngxin配置有問題);
三、搞一個域名
在萬網上隨便買了一個域名,online后綴,很便宜 7塊錢能用一年呢。然后配置一下域名解析,這一步也很完美。
但是!過幾天再去訪問的的域名返現無法訪問了。
查了下原因是因為我沒有備案(我去還要備案。。。);然后照著教程準備備案了,結果輸入域名時提示域名后綴無法提交備案。才發現又踩了一個坑 online后綴不支持備案....不能備案又不能用,還不能轉賣,這個域名買了有毛用啊。