詳解從買域名到使用pm2部署node.js項(xiàng)目全過(guò)程
作為一個(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ù)編譯。
wget https://nodejs.org/dist/v8.9.3/node-v8.9.3-linux-x64.tar.xz
解壓文件。
tar xvf node-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/node ln -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/node rm -f /usr/local/bin/npm ln -s /opt/node/bin/node /usr/local/bin/node ln -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 / ls cd var ls mkdir www cd www
上個(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)目
pm2 start processes.json
關(guān)閉項(xiàng)目
先查找ID pm2 status 然后,停止相應(yīng)項(xiàng)目的id pm2 stop id
再啟動(dòng)相應(yīng)項(xiàng)目
先查找ID pm2 status 然后,開啟相應(yīng)項(xiàng)目的id pm2 start id
設(shè)置pm2開機(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 / cd etc/nginx vim 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開機(jī)自動(dòng)啟動(dòng)
ln -s /bin/systemctl /usr/local/bin/systemcel systemcel enable nginx
至此,node項(xiàng)目在服務(wù)器部署結(jié)束,直接訪問(wèn)網(wǎng)址即可。再次感謝公司php大神的指導(dǎo),感謝網(wǎng)上大家的技術(shù)分享。也希望大家多多支持腳本之家。
相關(guān)文章
win7下安裝配置node.js+express開發(fā)環(huán)境
windows7下安裝nodejs及框架express,從誕生至今一直被熱捧,筆者最近也裝了個(gè)環(huán)境打算了解一下。安裝步驟簡(jiǎn)單比較簡(jiǎn)單,這里分享給大家,希望大家能夠喜歡。2015-12-12node微信開發(fā)之獲取access_token+自定義菜單
這篇文章主要介紹了node微信開發(fā)之獲取access_token+自定義菜單,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03connect中間件session、cookie的使用方法分享
今天大象哥用了下connect的session和cookie,感覺(jué)還挺好用的,分享一下(里面坑挺多的,文檔寫的太模糊了,費(fèi)了哥不少時(shí)間)。2014-06-06在Node.js中使用Express框架和Mongoose庫(kù)實(shí)現(xiàn)視頻評(píng)論功能
本文我們將詳細(xì)介紹如何在Node.js應(yīng)用中使用Express框架和Mongoose庫(kù)來(lái)實(shí)現(xiàn)一個(gè)視頻評(píng)論功能,這個(gè)功能允許用戶對(duì)視頻內(nèi)容添加評(píng)論,并將評(píng)論數(shù)實(shí)時(shí)更新,以下是逐步的實(shí)現(xiàn)過(guò)程,包括代碼示例和說(shuō)明,需要的朋友可以參考下2024-04-04Google官方支持的NodeJS訪問(wèn)API,提供后臺(tái)登錄授權(quán)
Google官方支持的NodeJS集成客戶端,用以訪問(wèn)Google APIs, 支持OAuth 2.0授信及登錄認(rèn)證。登錄以后即可在后臺(tái)訪問(wèn)例如 Google Drive(云存儲(chǔ)), Google Analytics, Gmail等服務(wù)。2014-07-07使用nodejs、Python寫的一個(gè)簡(jiǎn)易HTTP靜態(tài)文件服務(wù)器
這篇文章主要介紹了使用nodejs、Python寫的一個(gè)簡(jiǎn)易HTTP靜態(tài)文件服務(wù)器,分為nodejs和Python兩個(gè)版本,用類似淘寶的CSS、JS文件加載方式處理靜態(tài)文件加載,需要的朋友可以參考下2014-07-07nodejs實(shí)現(xiàn)的http、https 請(qǐng)求封裝操作示例
這篇文章主要介紹了nodejs實(shí)現(xiàn)的http、https 請(qǐng)求封裝操作,結(jié)合實(shí)例形式分析了node.js針對(duì)http、https 請(qǐng)求的封裝與使用相關(guān)操作技巧,需要的朋友可以參考下2020-02-02