1、安装nvm管理node版本

# 下载、解压到指定目录
wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.1.tar.gz
tar -zxvf nvm-0.39.0.tar.gz -C /opt/nvm
# 配置环境
vim ~/.bashrc
 
	~:这是一个路径简写符号,代表当前用户的主目录。在大多数 Linux 系统中,这通常对应于 /home/username,其中 username 是你的用户名。
	/.bashrc:这是 .bashrc 文件的路径。.bashrc 是一个隐藏文件(文件名以点 . 开头的文件在 Unix 系统中被视为隐藏文件),位于用户主目录中。它包含了用于初始化 Bash shell 的各种配置和自定义设置。
# 在最后面添加
export NVM_DIR=/opt/nvm/nvm-0.39.1
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
# 加载环境变量配置文件
source ~/.bashrc
# 安装
nvm install 14.16.0
nvm install 16.20.2

# 切换node版本 
nvm use 14.16.0

nvm alias default 16.20.2  # 永久生效
 
# 查看版本号
nvm --version
node -v
查看node安装地址
[root@localhost node-test]# whereis node 

node: /opt/nvm/nvm-0.39.1/versions/node/v14.16.0/bin/node

2、node服务部署到linux

2.1 将demo拷贝到linux服务器;

cd /opt/node/node-test
npm config get registry
npm config set registry https://registry.npmmirror.com	## 设置淘宝镜像源

rm package-lock.json  # 删除原有的package-lock.json
npm install

2.2 创建Systemd服务文件,用来管理服务的启动、停止和重启,查看状态。

vi /etc/systemd/system/node-test.service

[Unit]
Description=node-test-server
After=network.target
 
[Service]
ExecStart=/opt/nvm/nvm-0.39.1/versions/node/v14.16.0/bin/node /opt/node/node-test/app.js
Rstart=always
Environment=NODE_ENV=production
WorkingDirectory=/opt/node/node-test

[Install]
WantedBy=multi-user.target
systemctl start node-test.service	## 启动
systemctl stop node-test.service	## 停止
systemctl status node-test.service	## 查看状态
systemctl restart node-test.service	## 重启
systemctl enable node-test.service  ## 开机自启动
systemctl disable node-test.service ## 停止

nohup命令后台运行

nohup node app.js > ./test.log 2>&1 & 

 2.3 浏览器访问  http://192.168.0.118:3001

3、pm2管理

参考博客:https://blog.csdn.net/web_xyk/article/details/81204310

1.安装pm2

npm install pm2 -g

配置环境变量

[root@localhost node-test]# nvm alias default 16.20.2  # 永久生效,使用16.20.2
[root@localhost node-test]# whereis node 
node: /opt/nvm/nvm-0.39.1/versions/node/v16.20.2/bin/node

修改 /etc/profile

NODE_HOME=/opt/nvm/nvm-0.39.1/versions/node/v16.20.2
PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$NODE_HOME/bin

export NODE_HOME

source /etc/profile  #更新

2.直接启动

cd /你的项目路径
pm2 start app.js --name "hello"
pm2 start express_demo.js --name "hello"

还可以在项目目录下

"prod": "NODE_ENV=prod node --trace-deprecation ./index.js",

pm2 start npm --name "nodename" -- run prod

3.用配置文件启动(推荐,更稳定,待测试)

项目根目录创建:ecosystem.config.js

module.exports = {
  apps: [{
    name: "meta-admin-api",
    script: "./app.js",
    instances: "1",
    exec_mode: "fork",
    env: {
      NODE_ENV: "production",
      PORT: 3000  // 你自己的端口
    }
  }]
}
pm2 start ecosystem.config.js

4.开机自启动

pm2 startup  # 开机自启
pm2 save     # 保存当前 PM2 进程列表

5.常用命令

pm2 list             # 查看服务列表
pm2 logs             # 实时查看日志(替代 nohup.out)
pm2 restart 名字      # 重启服务
pm2 stop 名字         # 停止服务
pm2 delete 名字       # 删除服务
pm2 monit            # 监控面板

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐