溫馨提示×

溫馨提示×

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

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

如何在Linux服務器中部署Nodejs項目

發布時間:2021-05-06 15:49:12 來源:億速云 閱讀:195 作者:Leah 欄目:web開發

如何在Linux服務器中部署Nodejs項目?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

什么是Linux系統

Linux是一種免費使用和自由傳播的類UNIX操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,使用Linux能運行主要的Unix工具軟件、應用程序和網絡協議。

登錄服務器

采用 GitBash 或者 Xshell 或者 CMD 等終端登錄連接到服務器

ssh 用戶名@ip地址

假如第一次使用服務器先更新下,以下程序基本采用 Yum 源的安裝方式:

yum update -y

Yum 命令

// 1 安裝 
yum install package  // 安裝指定的安裝包package 

// 2 更新和升級 
yum update  // 全部更新 
yum update package  // 更新指定程序包package
yum check-update  // 檢查可更新的程序 
yum upgrade package  // 升級指定程序包package 

// 3 查找和顯示 
yum info // 列出所有可以安裝或更新的包的信息
yum info package //顯示安裝包信息package 
yum list // 顯示所有已經安裝和可以安裝的程序包 
yum list package  // 顯示指定程序包安裝情況package
yum search package // 搜索匹配特定字符的package的詳細信息

// 4 刪除程序 
yum remove | erase package  // 刪除程序包package
yum deplist package  // 查看程序package依賴情況

// 5 清除緩存 
yum clean packages  // 清除緩存目錄下的軟件包 
yum clean headers // 清除緩存目錄下的 headers 
yum clean oldheaders // 清除緩存目錄下舊的 headers 
yum clean, yum clean all  // (= yum clean packages; yum clean oldheaders) 清除緩存目錄下的軟件包及舊的headers

Git 安裝

服務器下安裝 git;開發源碼上傳服務器的方式可以使用 傳統的 scp 或者 ftp 方式,但這里使用 Git 流來管理,在服務器端執行 git 操作;

2.1、查看是否安裝了git

rpm -qa|grep git
或者
 git --version
或者
 yum info git

如何在Linux服務器中部署Nodejs項目

如何在Linux服務器中部署Nodejs項目

若已經安裝,需要先卸載。卸載命令如下:rpm -e --nodeps git  或者  rpm -e git

如何在Linux服務器中部署Nodejs項目

2.2、安裝Git

yum install git

如何在Linux服務器中部署Nodejs項目

輸入y,并回車

如何在Linux服務器中部署Nodejs項目

再使用 rpm -qa|grep git 來 或者 git version 查看是否已經安裝好了Git。

如何在Linux服務器中部署Nodejs項目

2.3、克隆遠程項目到服務器

Node 安裝

服務器下安裝,選擇以下任意一種方法部署Node.js環境;

3.1、使用二進制文件安裝

該部署過程使用的安裝包是已編譯好的二進制文件。解壓之后,在bin文件夾中就已存在nodenpm,無需重復編譯。 完成以下操作,使用二進制文件部署Node.js環境: 下載Node.js安裝包

wget nodejs.org/dist/v6.9.5…

解壓文件

tar xvf node-v6.9.5-linux-x64.tar.xz

創建軟鏈接,您就可以在任意目錄下直接使用nodenpm命令

ln -s /root/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm

查看 node、npm 版本

node -v
npm -v

至此,Node.js環境已安裝完畢。軟件默認安裝在/root/node-v6.9.5-linux-x64/目錄下

如果需要將該軟件安裝到其他目錄(例如:/opt/node/)下,請進行如下操作:

mkdir -p /opt/node/
mv /root/node-v6.9.5-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

3.2、使用 NVM 管理多版本(yum 安裝)

NVM(Node Version Manager)是Node.js的版本管理軟件,使您可以輕松在Node.js各個版本間進行切換。適用于長期做node開發的人員或有快速更新node版本、快速切換node版本的場景

完成以下操作,使用NVM安裝多個 Node.js 版本:

使用git將源碼克隆到本地的~/.nvm目錄下,并檢查最新版本

yum install git

git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`

激活NVM

echo ". ~/.nvm/nvm.sh" >> /etc/profile
source /etc/profile

列出Node.js的所有版本

nvm list-remote

安裝多個Node.js版本

nvm install v14.0.0 -g
nvm install v14.10.0 -g

運行nvm ls查看已安裝的 Node.js 版本,當前使用的版本為v7.4.0。返回結果如下所示

[root@iZXXXXZ .nvm]# nvm ls
      v6.9.5
->    v7.4.0
      system
stable -> 7.4 (-> v7.4.0) (default)
unstable -> 6.9 (-> v6.9.5) (default)

運行nvm use v7.4.0切換Node.js版本至v7.4.0。返回結果如下所示。

[root@iZXXXXZ .nvm]# nvm use v7.4.0
Now using node v7.4.0

Nginx 部署

服務器下安裝;

sudo yum install -y nginx
// 檢測是否安裝成功,驗證 Nginx 配置是否正確;
nginx -t

啟動命令 service nginx start
停止命令 service nginx stop
重啟命令 service nginx restart
# config: /etc/nginx/nginx.conf 安裝目錄
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
日志文件在var/log/nginx

Pm2 安裝

工程項目內安裝,cd 至項目內;

npm i pm2 -g

啟動項目

pm2 start app // 實際執行文件在app 工程下的 index.js

pm2 常用命令:

// 安裝
sudo npm i pm2 -g
 --watch:監聽文件變化
 // 2表示啟動多少實例
pm2 start app.js --watch i 2
 // 根據機器cpu核心數最大限度利用資源
pm2 start app -i max

 // 查看運行的進程
pm2 ls

 // 關閉
pm2 stop app
pm2 stop all

// 重啟
pm2 restart app

我們也可以在項目中建一個 process.yml 配置文件

apps:
  - script : app.js
    intance : 2
    watch : true
    env : 
      NODE_ENV : production

然后執行

pm2 start process.yml

MongoDB 安裝

工程項目內安裝;使用 Yum 源安裝;

配置系統yum源

vi /etc/yum.repos.d/mongodb-org-4.4.repo 添加以下信息:

[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc


name         # 名稱
baseurl      # 獲得下載的路徑
gpkcheck=1   # 表示對從這個源下載的rpm包進行校驗;
enable=1     # 表示啟用這個源。
gpgkey       # gpg驗證

最新 MongoDB 配置地址:

docs.mongodb.com/manual/tuto…

保存退出:
:wq

退出不保存
:wq!

安裝MongoDB

sudo yum install -y mongodb-org

驗證

rpm -qa |grep mongodb

rpm -ql mongodb-org-server

運行結果分別如下圖:

如何在Linux服務器中部署Nodejs項目

啟動MongoDB(常用指令)

// 開啟MongoDB
sudo service mongod start  或者
systemctl start mongod.service  

sudo chkconfig mongod on  # 加入開機啟動
sudo service mongod restart # 重啟MongoDB

// 關閉MongoDB
sudo service mongod stop  # 關閉防火墻

// 卸載MongoDB
sudo yum erase $(rpm -qa | grep mongodb-org)    # 卸載MongoDB
sudo rm -r /var/log/mongodb  # 刪除日志文件
sudo rm -r /var/lib/mongo    # 刪除數據文件

實現遠程連接Mongodb

修改綁定 ip 默認127.0.0.1 只允許本地連接, 所以修改為 bindIp:0.0.0.0,退出保存;.1

vi /etc/mongod.conf

// 編輯以下內容
// network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

重啟MongoDB

sudo service mongod restart 
復制代碼

開放對外端口,關閉防火墻

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT

遠程連接

// 啟動 MongoDB 服務,后面是服務器公網 ip 地址 + 默認端口 27017
mongo 10.128.218.14:27017
1.0 創建用戶,設置賬號,密碼,權限
// admin數據庫(管理使用)
> use admin
switched to db admin
> db.createUser({ user:"root", pwd:"123456", roles:["root"] })
Successfully added user: { "user" : "root", "roles" : [ "root" ] }

// 其他數據庫 test (用作開發使用)
> use test
switched to db test
> db.createUser({ user:"admin", pwd:"123456", roles:["readWrite", "dbAdmin"] })
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
2.0 修改 mongodb.conf 文件,啟用身份驗證
vi /etc/mongod.conf

security:
  authorization: "enabled"   # disable or enabled
3.0 重啟 MongoDB
sudo service mongod restart
4.0 用戶認證
> use admin
switched to db admin
> db.auth("root", "123456")
1 // 授權成功
 
// 其他常用命令
db.updateUser(user, writeConcern) # 更新用戶
db.dropUser('test') # 刪除用戶
5.0 遠程連接
// 終端連接
mongo 10.128.218.14:27017/database -u username -p password

// mongoose方式連接(項目內的方式)
mongoose.connect('mongodb://admin:123456@10.128.218.14:27017/test?options...', {useNewUrlParser: true});

# 用戶名:密碼@域名或者服務器公網IP:端口/數據庫名稱?配置項

Window本地啟動 MongoDB:

1.0 管理員身份打開 cmd ;

2.0 進入本地 MongoDB 安裝目錄 cd C:\Program Files\MongoDB\Server\4.4

3.0 執行 net start mongodb

如何在Linux服務器中部署Nodejs項目

其他命令

1、端口被占用了:檢查端口占用命令. 根據報錯提示, 我這里檢查的是 4000 端口:

lsof -i:4000

如何在Linux服務器中部署Nodejs項目

2、殺掉當前進程

kill 2805

在執行

npm run dev

可以了?。?! 查看服務器個程序占用內存大小

du -h --max-depth=1

如何在Linux服務器中部署Nodejs項目

Linux shell 腳本

自己編寫服務運行腳本,直接在服務器上運行,下面是運行指令,腳本內容這里就不展示了,可以自己補充 xshell 腳本相關知識。

sh run.sh // 啟動服務腳本;
sh stop.sh // 啟動服務腳本;
netstat -nltp  // 當前服務器端口狀態;

看完上述內容,你們掌握如何在Linux服務器中部署Nodejs項目的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女