作為一個(gè)前端往扔,對(duì)寫好的項(xiàng)目怎么部署到服務(wù)器是一臉蒙圈的旋膳,但還是對(duì)這個(gè)很感興趣澎语,決定嘗試一下,說(shuō)干就干。
一验懊、買域名和服務(wù)器
要部署項(xiàng)目肯定要買域名擅羞,這點(diǎn)是必不可少的,發(fā)現(xiàn)騰訊云上邊有免費(fèi)的服務(wù)器可用(只免費(fèi)7天)义图,于是就到騰訊云買了域名减俏,又在騰訊云領(lǐng)了免費(fèi)的服務(wù)器秦效,當(dāng)然這期間會(huì)讓你實(shí)名認(rèn)證案站。
買域名
領(lǐng)服務(wù)器
在騰訊云選擇了CentOS服務(wù)器,接下來(lái)進(jìn)行域名解析桩匪,然后對(duì)服務(wù)器進(jìn)行設(shè)置(賬號(hào)密碼之類的)
域名解析
二怕篷、部署Node.js環(huán)境
(一)登錄服務(wù)器草慧,先更新一下(第一次使用服務(wù)器先更新下)
yum update -y
(二)安裝node 和 pm2
wget命令下載Node.js安裝包。該安裝包是編譯好的文件匙头,解壓之后,在bin文件夾中就已存在node和npm仔雷,無(wú)需重復(fù)編譯蹂析。
wgethttps://nodejs.org/dist/v8.9.3/node-v8.9.3-linux-x64.tar.xz
解壓文件。
tarxvfnode-v8.9.3-linux-x64.tar.xz
創(chuàng)建軟鏈接碟婆,使node和npm命令全局有效电抚。通過(guò)創(chuàng)建軟鏈接的方法,使得在任意目錄下都可以直接使用node和npm命令:
ln -s /root/node-v8.9.3-linux-x64/bin/node /usr/local/bin/nodeln -s /root/node-v8.9.3-linux-x64/bin/npm /usr/local/bin/npm
查看node竖共、npm版本蝙叛。
node -v
npm -v
至此,Node.js環(huán)境已安裝完畢公给。軟件默認(rèn)安裝在/root/node-v8.9.3-linux-x64/目錄下借帘。如果需要將該軟件安裝到其他目錄(如:/opt/node/)下,請(qǐng)進(jìn)行如下操作:
mkdir -p /opt/node/mv /root/node-v8.9.3-linux-x64/* /opt/node/rm -f /usr/local/bin/noderm -f /usr/local/bin/npmln -s /opt/node/bin/node /usr/local/bin/nodeln -s /opt/node/bin/npm /usr/local/bin/npm
安裝pm2
npm install pm2@latest-g
創(chuàng)建軟鏈接淌铐,使pm2命令全局有效
ln -s /root/node-v8.9.3-linux-x64/bin/pm2 /usr/local/bin/pm2
三肺然、將項(xiàng)目用git部署到服務(wù)器上
首先進(jìn)入到服務(wù)器根目錄,顯示根目錄文件夾內(nèi)容腿准,然后進(jìn)入var目錄下邊际起,在var目錄下邊新建一個(gè)www的文件夾,顯示var文件夾下邊內(nèi)容,再進(jìn)入www文件夾下邊街望,依次命令為
cd/lscdvarlsmkdir wwwcdwww
上個(gè)圖片
然后將你的倉(cāng)庫(kù)里面的項(xiàng)目git clone 下來(lái)
首先要安裝git校翔,使用下邊命令
yum install git
y
進(jìn)入到你的項(xiàng)目中
上圖中可以看到有一個(gè)不是express項(xiàng)目的文件,它是pm2的配置文件pm2的配置方法為http://pm2.keymetrics.io/docs/usage/cluster-mode/
下邊是我項(xiàng)目里面的配置(新手灾前,有問(wèn)題大神可以指點(diǎn)下)
{"apps": [? ? {"name":"app1","script":"bin/www","log_date_format":"YYYY-MM-DD HH:mm:SS","log_file":"logs/app1.log","error_file":"logs/app1-err.log","out_file":"logs/app1-out.log","pid_file":"pids/app1.pid","instances":1,"min_uptime":"200s","max_restarts":10,"max_memory_restart":"1M","cron_restart":"1 0 * * *","watch":false,"merge_logs":true,"exec_interpreter":"node","exec_mode":"cluster_mode","autorestart":true,"vizion":false}? ]}
四防症、啟動(dòng)項(xiàng)目
pm2startprocesses.json
關(guān)閉項(xiàng)目
先查找IDpm2 status然后,停止相應(yīng)項(xiàng)目的idpm2 stopid
再啟動(dòng)相應(yīng)項(xiàng)目
先查找IDpm2 status然后豫柬,開(kāi)啟相應(yīng)項(xiàng)目的idpm2 startid
設(shè)置pm2開(kāi)機(jī)自動(dòng)啟動(dòng)
pm2 startup
pm2 save
之所以使用pm2啟動(dòng)項(xiàng)目告希,是因?yàn)檫@樣退出服務(wù)器鏈接,node項(xiàng)目依舊可以運(yùn)行烧给。
這樣項(xiàng)目已經(jīng)部署完成燕偶,但是項(xiàng)目中的端口只能是80端口。后臺(tái)大神告訴可以用nginx做代理服務(wù)器础嫡。并告訴了安裝方法指么。
五、安裝nginx 并配置nginx
安裝nginx
yum install nginx
配置nginx
進(jìn)入配置的文件夾目錄榴鼎,編輯nginx.conf 文件伯诬,也可以在conf.d文件夾下新建后綴名為.conf的文件
cd/cdetc/nginxvim nginx.conf
來(lái)張圖
這里用到了vim編輯器的使用方法,可在網(wǎng)上搜使用方法
簡(jiǎn)單提幾個(gè)使用方法,直接按鍵盤
i? ? 編輯Esc? 退出編輯:q退出vim編輯器:wq保存并退出vim編輯器
下邊是我的nginx配置(新手巫财,有問(wèn)題大神可以指點(diǎn)下)
啟動(dòng)nginx
service nginx start
這樣nginx就運(yùn)行了盗似。
每次修改完nginx配置都要重啟下,用下邊的命令
service nginx reload
設(shè)置nginx開(kāi)機(jī)自動(dòng)啟動(dòng)
ln -s /bin/systemctl /usr/local/bin/systemcelsystemcelenablenginx
至此平项,node項(xiàng)目在服務(wù)器部署結(jié)束赫舒,直接訪問(wèn)網(wǎng)址即可。再次感謝公司php大神的指導(dǎo)闽瓢,感謝網(wǎng)上大家的技術(shù)分享接癌。
【參考文章】
https://help.aliyun.com/document_detail/50775.html?spm=a2c4g.11186623.6.763.Fu3b9R
https://www.cnblogs.com/lxg0/p/7771229.html
http://www.reibang.com/p/d2a640b8661c
http://www.reibang.com/p/43525232b03b
https://cnodejs.org/topic/556f02a98ce3684b284b55ad
如果文中有不對(duì)之處,煩請(qǐng)指正扣讼。如果你覺(jué)得文章不錯(cuò)或?qū)δ阌兴鶐椭泵停p杯茶,鼓勵(lì)我創(chuàng)作更多優(yōu)質(zhì)內(nèi)容椭符!
作者:梧桐葉_
鏈接:http://www.reibang.com/p/70ced477e5bd
來(lái)源:簡(jiǎn)書
簡(jiǎn)書著作權(quán)歸作者所有荔燎,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。