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

概述

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

將nodejs項(xiàng)目上傳至服務(wù)器(這沒什么好說的)

使用pm2運(yùn)行nodejs項(xiàng)目(開啟服務(wù))

使用Nginx做反向代理(能夠從公網(wǎng)通過映射訪問到接口)

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

具體步驟

首先,你得有個(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 ..回車

如果你的服務(wù)器是全新的,那么首先更新源:

輸入apt-get update回車

安裝curl,用來下載資源:

輸入apt-get install -y curl回車

下載node安裝腳本:

輸入curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -回車

安裝nodejs:

輸入apt-get install nodejs回車

分別查看node和npm 是否安裝了:

輸入node -v回車

輸入npm -v回車

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

第二步:安裝Nginx

注意:這里我使用源碼安裝Nginx

選定源碼目錄,原則上可以是任何目錄。這里我選擇/usr/local/src:

輸入cd /usr/local/src回車

安裝PCRE庫(kù),zlib庫(kù),ssl(某些vps默認(rèn)沒裝ssl):

輸入sudo apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev回車

安裝Nginx:

Nginx 一般有兩個(gè)版本,分別是穩(wěn)定版和開發(fā)版,您可以根據(jù)您的目的來選擇這兩個(gè)版本的其中一個(gè),下面是把 Nginx 安裝到/usr/local/nginx目錄下的詳細(xì)步驟:(注意:需要在sudo下)

輸入cd /usr/local/src回車

輸入wget http://nginx.org/download/nginx-1.13.1.tar.gz回車

輸入tar -zxvf nginx-1.13.1.tar.gz回車

輸入cd nginx-1.13.1回車

輸入./configure回車

輸入make回車

輸入make install回車

查看端口狀態(tài):

輸入netstat -ano|grep 80回車

5.啟動(dòng)Nginx:sudo /usr/local/nginx/sbin/nginx

打開瀏覽器訪問機(jī)器的IP,如果看到如下圖,恭喜你安裝成功了!

Welcome to nginx.jpg

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

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

上傳文件到服務(wù)器的方法很多,這里我使用了xftp5將項(xiàng)目上傳到服務(wù)器。這步基本是傻瓜式的我就不多寫了??傊易詈蟀秧?xiàng)目上傳到了這里/usr/local/deployment里

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

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

使用npm全局安裝pm2:

輸入npm install -g pm2回車

進(jìn)入nodejs項(xiàng)目目錄,我剛才把項(xiàng)目上傳到了/usr/local/deployment,所以:

輸入cd /usr/local/deployment/nodejs的項(xiàng)目目錄回車,進(jìn)入項(xiàng)目目錄

啟動(dòng)nodejs項(xiàng)目,我們nodejs項(xiàng)目的入口文件是app.js,所以:

輸入pm2 start app.js回車

檢查nodejs項(xiàng)目是否啟動(dòng):

輸入pm2 list回車,

如果出現(xiàn)下面的東東,就說明nodejs項(xiàng)目已經(jīng)順利的在后臺(tái)建立了服務(wù)

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

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

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

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

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

server{listen8080;server_namelocalhost;location/? {proxy_passhttp://127.0.0.1:8899;? ? ? ? ? ? }}

這段代碼說明,我監(jiān)聽公網(wǎng)地址的8080端口,并將通過此端口的請(qǐng)求代理到服務(wù)器本地nodejs服務(wù)的8899端口上面(為什么是本地的8899端口?這個(gè)是你的nodejs服務(wù)啟動(dòng)時(shí)所啟用的端口,具體是你自己定的),如此,就完成了nodejs服務(wù)在Nginx下的反向代理。

別忘了重新載入Nginx配置:

輸入sudo /usr/local/nginx/sbin/nginx -s reload回車

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

作者:neromaycry

鏈接:http://www.itdecent.cn/p/dea6a6d773f2

來源:簡(jiǎn)書

著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容