在 Linux 上部署 Node.js 应用可以通过多种方式实现,以下是一些常见的方法:
方法一:使用 PM2 管理 Node.js 应用
PM2 是一个流行的 Node.js 进程管理器,可以帮助你管理和监控 Node.js 应用。
-
安装 PM2:
npm install pm2 -g -
启动应用:
pm2 start app.js --name my-app -
查看应用状态:
pm2 status -
停止应用:
pm2 stop my-app -
重启应用:
pm2 restart my-app -
删除应用:
pm2 delete my-app
方法二:使用 systemd 创建服务
你可以创建一个 systemd 服务来管理你的 Node.js 应用。
-
创建 systemd 服务文件:
sudo nano /etc/systemd/system/my-app.service -
添加以下内容:
[Unit] Description=My Node.js App After=network.target [Service] ExecStart=/usr/bin/node /path/to/your/app.js WorkingDirectory=/path/to/your/app User=your-user Group=your-group Environment=NODE_ENV=production Restart=always [Install] WantedBy=multi-user.target -
重新加载 systemd 配置:
sudo systemctl daemon-reload -
启动服务:
sudo systemctl start my-app -
查看服务状态:
sudo systemctl status my-app -
设置开机自启动:
sudo systemctl enable my-app
方法三:使用 Nginx 反向代理
你可以使用 Nginx 作为反向代理来处理 HTTP 请求并将它们转发到你的 Node.js 应用。
-
安装 Nginx:
sudo apt update sudo apt install nginx -
配置 Nginx: 编辑 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/my-app添加以下内容:
server { listen 80; server_name your-domain.com; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } -
启用配置: 创建符号链接:
sudo ln -s /etc/nginx/sites-available/my-app /etc/nginx/sites-enabled -
测试 Nginx 配置:
sudo nginx -t -
重启 Nginx:
sudo systemctl restart nginx
方法四:使用 Docker 容器化部署
Docker 可以帮助你创建一个隔离的环境来运行你的 Node.js 应用。
-
安装 Docker:
sudo apt update sudo apt install docker.io -
创建 Dockerfile: 在你的应用目录中创建一个
Dockerfile:FROM node:14 WORKDIR /usr/src/app COPY package*.json ./ RUN npm install COPY . . EXPOSE 3000 CMD ["node", "app.js"] -
构建 Docker 镜像:
docker build -t my-node-app . -
运行 Docker 容器:
docker run -p 3000:3000 my-node-app -
查看容器状态:
docker ps -
停止容器:
docker stop
通过以上方法,你可以在 Linux 上部署你的 Node.js 应用。选择哪种方法取决于你的具体需求和偏好。
以上就是关于“Node.js 应用如何在 Linux 上部署”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm