Debian系统部署Node.js项目完整步骤
1. 更新系统包
首先确保Debian系统包为最新版本,避免依赖冲突:
sudo apt update && sudo apt upgrade -y
2. 安装Node.js与npm
通过NodeSource仓库安装指定版本的Node.js(以16.x为例,可根据需求替换为14.x、18.x等):
# 导入NodeSource库的GPG密钥并添加仓库
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
# 安装Node.js(包含npm)
sudo apt install -y nodejs
# 验证安装
node -v # 查看Node.js版本
npm -v # 查看npm版本
3. 准备项目文件
- 本地创建项目:在本地机器初始化Node.js项目并开发,完成后通过
scp或SFTP上传至服务器:# 本地操作(示例) mkdir my-nodejs-app && cd my-nodejs-app npm init -y npm install express body-parser # 安装依赖 # 创建app.js(示例代码) echo "const express = require('express'); const app = express(); const port = 3000; app.get('/', (req, res) => res.send('Hello World')); app.listen(port, () => console.log(\`App running on port \${port}\`));" > app.js # 上传至服务器(替换为你的服务器IP和用户名) scp -r my-nodejs-app username@your_server_ip:/home/username/ - 服务器端操作:进入项目目录:
cd /home/username/my-nodejs-app
4. 安装项目依赖
在项目目录下运行以下命令,安装package.json中定义的依赖:
npm install
5. 使用PM2管理进程
PM2是Node.js进程管理工具,可实现后台运行、自动重启、日志管理等功能:
# 全局安装PM2
sudo npm install pm2 -g
# 启动应用(--name指定应用名称)
pm2 start app.js --name "my-node-app"
# 设置开机自启动(避免服务器重启后应用停止)
pm2 startup
# 保存当前进程列表(确保重启后恢复)
pm2 save
# 常用命令:查看状态(pm2 status)、查看日志(pm2 logs)、重启应用(pm2 restart my-node-app)
6. 配置Nginx反向代理(可选但推荐)
Nginx可作为反向代理,处理HTTP请求转发、SSL卸载及静态文件服务,提升应用性能与安全性:
# 安装Nginx
sudo apt install nginx -y
# 配置反向代理(编辑默认站点配置)
sudo nano /etc/nginx/sites-available/default
在配置文件中修改server块(替换your_domain_or_ip为你的域名或公网IP):
server {
listen 80;
server_name your_domain_or_ip;
location / {
proxy_pass http://localhost:3000; # 转发至Node.js应用的端口
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;
}
}
保存后测试Nginx配置并重启:
sudo nginx -t # 测试配置语法
sudo systemctl reload nginx # 重启Nginx
7. 配置防火墙
若服务器启用了ufw防火墙,需开放HTTP(80)和HTTPS(443)端口:
sudo ufw allow 'Nginx Full' # 允许Nginx的全部流量(包括80/443端口)
sudo ufw enable # 启用防火墙(若未启用)
8. 可选:配置SSL证书(免费版)
使用Let’s Encrypt为站点配置免费SSL证书,实现HTTPS加密:
# 安装Certbot及Nginx插件
sudo apt install certbot python3-certbot-nginx -y
# 获取证书并自动配置Nginx
sudo certbot --nginx -d your_domain.com # 替换为你的域名
# 按提示完成验证(通常需修改DNS记录或输入邮箱)
证书会自动续期,无需手动操作。
通过以上步骤,你的Node.js项目已在Debian系统上完成部署,可通过http://your_domain_or_ip(或HTTPS)访问。
以上就是关于“Debian Node.js项目怎么部署”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm