將nodejs代碼部署到阿里云服務(wù)器

概述

最近在做一個(gè)小項(xiàng)目雷蹂,其中用nodejs做了個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)的接口览效,之后需要將這部分代碼部署到服務(wù)器上面,并使用Nginx做反向代理敛熬。期間使用搜索引擎大量查閱了其他同鞋的經(jīng)驗(yàn),不過(guò)寫(xiě)的大多很籠統(tǒng)第股,因此踩了不少小坑应民。千辛萬(wàn)苦終于搞定,回顧一下其實(shí)很簡(jiǎn)單夕吻,我的實(shí)現(xiàn)思路大致如下:

  • 將nodejs項(xiàng)目上傳至服務(wù)器(這沒(méi)什么好說(shuō)的)
  • 使用pm2運(yùn)行nodejs項(xiàng)目(開(kāi)啟服務(wù))
  • 使用Nginx做反向代理(能夠從公網(wǎng)通過(guò)映射訪問(wèn)到接口)

下面我會(huì)一步一步地具體說(shuō)明操作的步驟诲锹。

具體步驟

首先,你得有個(gè)服務(wù)器涉馅。我以阿里云(操作系統(tǒng): Ubuntu 14.04 64位)為例归园,這里我假設(shè)你的服務(wù)器環(huán)境是初始的:

第一步:搭建nodejs環(huán)境
注意:阿里云Ubuntu服務(wù)器進(jìn)入系統(tǒng)后的默認(rèn)文件夾是/root,個(gè)人建議先進(jìn)入/root文件夾的上層文件夾后再進(jìn)行下面的操作稚矿,輸入cd ..回車(chē)
  1. 如果你的服務(wù)器是全新的庸诱,那么首先更新源:
    輸入apt-get update回車(chē)
  2. 安裝curl,用來(lái)下載資源:
    輸入apt-get install -y curl回車(chē)
  3. 下載node安裝腳本:
    輸入curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -回車(chē)
  4. 安裝nodejs:
    輸入apt-get install nodejs回車(chē)
  5. 分別查看node和npm 是否安裝了:
    輸入node -v回車(chē)
    輸入npm -v回車(chē)

至此nodejs環(huán)境已搭建完成晤揣。

第二步:安裝Nginx
注意:這里我使用源碼安裝Nginx
  1. 選定源碼目錄桥爽,原則上可以是任何目錄。這里我選擇/usr/local/src
    輸入cd /usr/local/src回車(chē)
  2. 安裝PCRE庫(kù)昧识,zlib庫(kù)钠四,ssl(某些vps默認(rèn)沒(méi)裝ssl):
    輸入sudo apt-get install libpcre3 libpcre3-dev libpcrecpp0v5 libssl-dev zlib1g-dev回車(chē)
  3. 安裝Nginx:
    Nginx 一般有兩個(gè)版本,分別是穩(wěn)定版和開(kāi)發(fā)版跪楞,您可以根據(jù)您的目的來(lái)選擇這兩個(gè)版本的其中一個(gè)缀去,下面是把 Nginx 安裝到 /usr/local/nginx 目錄下的詳細(xì)步驟:(注意:需要在sudo下)
    輸入cd /usr/local/src回車(chē)
    輸入wget http://nginx.org/download/nginx-1.13.1.tar.gz回車(chē)
    輸入tar -zxvf nginx-1.13.1.tar.gz回車(chē)
    輸入cd nginx-1.13.1回車(chē)
    輸入./configure回車(chē)
    輸入make回車(chē)
    輸入make install回車(chē)
  4. 查看端口狀態(tài):
    輸入netstat -ano|grep 80回車(chē)
  5. 啟動(dòng)Nginx:sudo /usr/local/nginx/sbin/nginx
  6. 打開(kāi)瀏覽器訪問(wèn)機(jī)器的IP,如果看到如下圖甸祭,恭喜你安裝成功了缕碎!
Welcome to nginx.jpg

至此,我們完成了Nginx的安裝淋叶。

第三步:使用xftp5上傳nodejs項(xiàng)目

上傳文件到服務(wù)器的方法很多阎曹,這里我使用了xftp5將項(xiàng)目上傳到服務(wù)器伪阶。這步基本是傻瓜式的我就不多寫(xiě)了〈ο樱總之栅贴,我最后把項(xiàng)目上傳到了這里/usr/local/deployment

第四步:安裝pm2并啟動(dòng)nodejs項(xiàng)目

關(guān)于pm2我就不多介紹了,類(lèi)似的還有forever熏迹,不了解的可以利用搜索引擎查詢(xún)^ ^檐薯。步驟如下:

  1. 使用npm全局安裝pm2:
    輸入npm install -g pm2回車(chē)
  2. 進(jìn)入nodejs項(xiàng)目目錄,我剛才把項(xiàng)目上傳到了/usr/local/deployment注暗,所以:
    輸入cd /usr/local/deployment/nodejs的項(xiàng)目目錄回車(chē)坛缕,進(jìn)入項(xiàng)目目錄
  3. 啟動(dòng)nodejs項(xiàng)目,我們nodejs項(xiàng)目的入口文件是app.js捆昏,所以:
    輸入pm2 start app.js回車(chē)
  4. 檢查nodejs項(xiàng)目是否啟動(dòng):
    輸入pm2 list回車(chē)赚楚,
    如果出現(xiàn)下面的東東,就說(shuō)明nodejs項(xiàng)目已經(jīng)順利的在后臺(tái)建立了服務(wù)
    pm2后臺(tái)服務(wù).png

至此骗卜,我們已經(jīng)把服務(wù)啟動(dòng)起來(lái)了宠页。還有最后一步,我們就可以在外網(wǎng)訪問(wèn)到這個(gè)服務(wù)寇仓。

第五步:配置Nginx反向代理:

這一步其實(shí)不難举户,但是需要細(xì)心,本人是在這里卡了好久遍烦。請(qǐng)各位一定注意俭嘁。

  1. 找到Nginx配置文件:我們安裝完Nginx之后,可以在/usr/local/nginx/conf文件夾下面找到nginx.conf這個(gè)文件服猪,這個(gè)是Nginx服務(wù)器的配置文件供填,關(guān)于服務(wù)器的配置都在這里:

    圖片.png

    2.輸入vi nginx.conf進(jìn)入編輯nginx.conf文件。進(jìn)入后什么都不用管蔓姚,在http{}下面加上如下代碼:

server {
        listen    8080;
        server_name    localhost;
        location  /  {
                proxy_pass    http://127.0.0.1:8899;        
        }
}

這段代碼說(shuō)明捕虽,我監(jiān)聽(tīng)公網(wǎng)地址的8080端口慨丐,并將通過(guò)此端口的請(qǐng)求代理到服務(wù)器本地nodejs服務(wù)的8899端口上面(為什么是本地的8899端口坡脐?這個(gè)是你的nodejs服務(wù)啟動(dòng)時(shí)所啟用的端口,具體是你自己定的)房揭,如此备闲,就完成了nodejs服務(wù)在Nginx下的反向代理。
3. 別忘了重新載入Nginx配置:
輸入sudo /usr/local/nginx/sbin/nginx -s reload回車(chē)

如此捅暴,我們便成功地將nodejs代碼部署到阿里云服務(wù)器恬砂。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蓬痒,隨后出現(xiàn)的幾起案子泻骤,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狱掂,死亡現(xiàn)場(chǎng)離奇詭異演痒,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)趋惨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)鸟顺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人器虾,你說(shuō)我怎么就攤上這事讯嫂。” “怎么了兆沙?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵欧芽,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我葛圃,道長(zhǎng)渐裸,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任装悲,我火速辦了婚禮昏鹃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘诀诊。我一直安慰自己洞渤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布属瓣。 她就那樣靜靜地躺著载迄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪抡蛙。 梳的紋絲不亂的頭發(fā)上护昧,一...
    開(kāi)封第一講書(shū)人閱讀 52,268評(píng)論 1 309
  • 那天,我揣著相機(jī)與錄音粗截,去河邊找鬼惋耙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛熊昌,可吹牛的內(nèi)容都是我干的绽榛。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼婿屹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼灭美!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起昂利,我...
    開(kāi)封第一講書(shū)人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤届腐,失蹤者是張志新(化名)和其女友劉穎铁坎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體犁苏,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡厢呵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了傀顾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片襟铭。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖短曾,靈堂內(nèi)的尸體忽然破棺而出寒砖,到底是詐尸還是另有隱情,我是刑警寧澤嫉拐,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布哩都,位于F島的核電站,受9級(jí)特大地震影響婉徘,放射性物質(zhì)發(fā)生泄漏漠嵌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一盖呼、第九天 我趴在偏房一處隱蔽的房頂上張望儒鹿。 院中可真熱鬧,春花似錦几晤、人聲如沸约炎。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)圾浅。三九已至,卻和暖如春憾朴,著一層夾襖步出監(jiān)牢的瞬間狸捕,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工众雷, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留灸拍,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓报腔,卻偏偏與公主長(zhǎng)得像株搔,于是被迫代替她去往敵國(guó)和親剖淀。 傳聞我的和親對(duì)象是個(gè)殘疾皇子纯蛾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359