本文将介紹如何給騰訊雲上的 Ubuntu Server 12.04 LTS 64位主機安裝 node 及 nginx,并簡單配置反向代理。
筆者在整個安裝過程中遇到不少麻煩(不贅述),如果你希望少踩坑,可以按本文的步驟進行安裝部署。

一. 新版 nodejs 安裝
這裡強烈推薦使用 nvm (Node版本管理器),其它方式的安裝或多或少都有些問題。
具體步驟如下:
1. 通過 git 指令下載下傳nvm
執行指令如下,我們把nvm下載下傳到 /root/git/ 中去(記得要先安裝 git):
2. 配置環境變量
這裡是要修改 .bashrc 檔案,如果不清楚其位置,可以回到根目錄執行
來搜尋和擷取結果:
然後通過 vim 修改 ./etc/skel/.bashrc 檔案,在檔案開頭加入下面兩行:
其中第一行是修改nvm鏡像路徑到阿裡,第二行才是把 nvm 添加到系統環境中去。
儲存後執行指令讓配置生效(或者重新開機伺服器):
3. 直接用nvm安裝nodejs
執行指令
便可安裝新版本的nodejs,安裝成功後,最新版的node就裝在伺服器上了:

二. 安裝 nginx
這裡和node一樣不推薦使用 apt-get/aptitude 形式安裝,建議走源碼編譯安裝。
1. 依賴安裝和下載下傳
確定安裝了 gcc-c++ 和 libpcre3-dev:
然後咱定位到 /home/ubuntu 去下載下傳一些依賴包,并解壓縮到該檔案夾下:
這裡咱們下載下傳的是 nginx 子產品所依賴的 pcre/zlib/openssl,壓縮包的下載下傳位址都是在它們對應官網中找到的。
需要留意的點是,pcre 不要下載下傳使用 pcre2 的,否則會導緻 nginx 編譯過程報錯:
推薦使用上方代碼段提供的 pcre-8.38 版本。
留意下,如果在終端下載下傳的速度太慢了,推薦用迅雷下載下傳在本地後,再通過 FileZilla 把檔案同步到雲主機上去,百試不爽~
2. 下載下傳和解壓 nginx
先到nginx官網找最新的源碼包下載下傳路徑(截止本文時間,穩定版是 http://nginx.org/download/nginx-1.10.2.tar.gz),然後下載下傳下來(我個人是下載下傳到 /root 路徑下):
然後解壓此壓縮包,并進入到檔案夾 /nginx-1.10.2 去:
3. 編譯和安裝
按順序執行如下三條指令:
它們的作用分别是:生成C源碼檔案和Makefile檔案、生成二進制檔案、将nginx安裝到指定目錄(/home/ubuntu/nginx)。
注意 ./configure 指令後的參數分别指定了 nginx 的安裝目錄及相關依賴子產品位址。
自此,nginx 就安裝完畢啦~

三. 啟動 nginx
執行
可直接啟動 nginx 服務,這時候在任意地方執行:
都可以下載下傳到一份 index.html:
這時候我們直接通路雲主機公網 ip 位址,就能直接看到該預設頁面:
注意!如果這時無法通過公網ip通路頁面,請確定雲主機所處的安全組是允許所有端口通路的。

四. 執行一個node服務,并通過 nginx 配置實作反向代理
這裡我們簡單實作一個 node 頁面,監聽3000端口。
我們在本地先寫一個 index.js 檔案來耍一耍:
執行 node index 的話,通路 http://localhost:3000/ 會有“Hello World”的輸出:
然後咱們把這個檔案放到雲主機去。
鑒于我已經挂到 github上,讀者們可以直接通過如下指令來下載下傳該檔案:
p.s. 我個人下載下傳到了“/root/node-project/”檔案夾下,要執行node的話指令為:

OK,咱們接着先修改 nginx 配置。如果你忘了 nginx 的配置在哪裡,可以執行這條指令來确定:
本文的nginx是安裝在 /home/ubuntu 下的,是以其配置檔案路徑是“/home/ubuntu/nginx/conf/nginx.conf”,我們這樣編輯它(加上紅框部分的代碼):
這意味着當有請求路徑為“/hello”時,nginx 會将請求代理到伺服器的3000端口去(即node監聽的端口)。

五. 重新開機 nginx 和 node
到這一步的時候别忘了兩點 —— 1. 咱們修改 nginx 配置後還沒重新開機nginx服務;2. 咱們還沒有在雲主機上跑node服務(上文僅僅是在本地電腦上跑了一次)。
是以我們分别執行如下指令(重新開機nginx+跑node):
這時候直接通路 http://公網ip/hello,就能直接看到node跑起來的頁面内容了:
本文送給使用騰訊雲的前端童鞋,若操作過程遇到問題歡迎留言咨詢。共勉~