linux部署node服务

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 --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

相关推荐
嘟嘟07171 小时前
从浏览器到 hello world:Docker + nginx 反向代理 + Node 最小服务器一次讲清
docker·容器·node.js
FungLeo1 小时前
Node 后端实战 · 老系统数据迁移怎么不出乱子?V1→V2 重构实战与 3 个生产坑
node.js·serverless·数据库迁移·d1 数据库
今日无bug2 小时前
Tool Use 工具调用 —— 让LLM缸中大脑突破物理限制的3个阶段
node.js·llm·agent
To_OC12 小时前
装完 ESLint 它一声不吭?我还以为代码写得多好
后端·node.js·eslint
FungLeo13 小时前
Node 后端实战 · 列表查询到底怎么写?一个通用 DSL 封装,过滤分页排序一次搞定
数据库·node.js·serverless·dsl 封装·通用列表查询
_codemonster15 小时前
npm run dev 是在开发模式运行,怎么在生产环境运行
前端·npm·node.js
渔夫正在掘金20 小时前
Cordis 插件热插拔能力深度解析
后端·node.js
嘟嘟07171 天前
NestJS 入门:从 NestFactory 入口到 Module/Controller/Service 模块化结构一次讲清
typescript·node.js·nestjs
breeze jiang1 天前
NestJS MVC 实战:用 hello 项目 7 个文件讲清分层、装饰器、依赖注入与错误处理
node.js·mvc·js
m0_380743872 天前
从零调用 Claude 教程
开发语言·python·node.js