溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

詳解從買域名到使用pm2部署node.js項目全過程

發(fā)布時間:2020-09-07 16:13:17 來源:腳本之家 閱讀:238 作者:梧桐葉_ 欄目:web開發(fā)

作為一個前端,對寫好的項目怎么部署到服務(wù)器是一臉蒙圈的,但還是對這個很感興趣,決定嘗試一下,說干就干。

一、買域名和服務(wù)器

要部署項目肯定要買域名,這點是必不可少的,發(fā)現(xiàn)騰訊云上邊有免費的服務(wù)器可用(只免費7天),于是就到騰訊云買了域名,又在騰訊云領(lǐng)了免費的服務(wù)器,當(dāng)然這期間會讓你實名認(rèn)證。

詳解從買域名到使用pm2部署node.js項目全過程

買域名

詳解從買域名到使用pm2部署node.js項目全過程

領(lǐng)服務(wù)器

在騰訊云選擇了CentOS服務(wù)器,接下來進行域名解析,然后對服務(wù)器進行設(shè)置(賬號密碼之類的)

詳解從買域名到使用pm2部署node.js項目全過程

域名解析

二、部署Node.js環(huán)境

(一)登錄服務(wù)器,先更新一下(第一次使用服務(wù)器先更新下)

yum update -y

(二)安裝node 和 pm2

wget命令下載Node.js安裝包。該安裝包是編譯好的文件,解壓之后,在bin文件夾中就已存在node和npm,無需重復(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命令全局有效。通過創(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/)下,請進行如下操作:

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

三、將項目用git部署到服務(wù)器上

首先進入到服務(wù)器根目錄,顯示根目錄文件夾內(nèi)容,然后進入var目錄下邊,在var目錄下邊新建一個www的文件夾,顯示var文件夾下邊內(nèi)容,再進入www文件夾下邊,依次命令為

cd /
ls
cd var
ls
mkdir www
cd www

上個圖片

詳解從買域名到使用pm2部署node.js項目全過程

然后將你的倉庫里面的項目git clone 下來

首先要安裝git,使用下邊命令

yum install git
y

進入到你的項目中

詳解從買域名到使用pm2部署node.js項目全過程

上圖中可以看到有一個不是express項目的文件,它是pm2的配置文件pm2的配置方法為http://pm2.keymetrics.io/docs/usage/cluster-mode/

下邊是我項目里面的配置(新手,有問題大神可以指點下)

{
 "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
  }
 ]
}

四、啟動項目

pm2 start processes.json

關(guān)閉項目

先查找ID
pm2 status
然后,停止相應(yīng)項目的id
pm2 stop id

再啟動相應(yīng)項目

先查找ID
pm2 status
然后,開啟相應(yīng)項目的id
pm2 start id

設(shè)置pm2開機自動啟動

pm2 startup
pm2 save

之所以使用pm2啟動項目,是因為這樣退出服務(wù)器鏈接,node項目依舊可以運行。

這樣項目已經(jīng)部署完成,但是項目中的端口只能是80端口。后臺大神告訴可以用nginx做代理服務(wù)器。并告訴了安裝方法。

五、安裝nginx 并配置nginx

安裝nginx

yum install nginx

配置nginx

進入配置的文件夾目錄,編輯nginx.conf 文件,也可以在conf.d文件夾下新建后綴名為.conf的文件

cd /
cd etc/nginx
vim nginx.conf

來張圖

詳解從買域名到使用pm2部署node.js項目全過程

這里用到了vim編輯器的使用方法,可在網(wǎng)上搜使用方法

簡單提幾個使用方法,直接按鍵盤

i  編輯
Esc 退出編輯
:q  退出vim編輯器
:wq 保存并退出vim編輯器

下邊是我的nginx配置(新手,有問題大神可以指點下)

詳解從買域名到使用pm2部署node.js項目全過程

啟動nginx

service nginx start

這樣nginx就運行了。

每次修改完nginx配置都要重啟下,用下邊的命令

service nginx reload

設(shè)置nginx開機自動啟動

ln -s /bin/systemctl /usr/local/bin/systemcel
systemcel enable nginx

至此,node項目在服務(wù)器部署結(jié)束,直接訪問網(wǎng)址即可。再次感謝公司php大神的指導(dǎo),感謝網(wǎng)上大家的技術(shù)分享。也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI