Debian上Node.js的部署流程是怎样的
导读:Debian上Node.js部署完整流程 1. 更新系统包 部署前需确保系统包为最新版本,避免依赖冲突: sudo apt update && sudo apt upgrade -y 2. 安装Node.js与npm No...
Debian上Node.js部署完整流程
1. 更新系统包
部署前需确保系统包为最新版本,避免依赖冲突:
sudo apt update &
&
sudo apt upgrade -y
2. 安装Node.js与npm
Node.js的部署需先安装运行环境,推荐以下两种方式(根据需求选择):
- 方式一:通过NodeSource仓库安装(推荐,支持自定义版本)
以安装Node.js 18.x(LTS版本)为例,执行以下命令添加NodeSource仓库并安装:curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs - 方式二:使用系统默认APT仓库安装(版本较旧)
若无需特定版本,可直接通过APT安装:sudo apt install -y nodejs npm
验证安装:
node -v # 查看Node.js版本(如v18.x.x)
npm -v # 查看npm版本(如9.x.x)
3. 创建项目目录与初始化
- 创建项目目录:
选择一个存放项目的路径(如用户主目录下的my-node-app):mkdir ~/my-node-app & & cd ~/my-node-app - 初始化Node.js项目:
运行npm init -y生成package.json文件(包含项目元数据与依赖配置):npm init -y
4. 安装项目依赖
根据项目需求安装依赖包(以Express框架为例):
npm install express --save # --save参数将依赖写入package.json的dependencies
若需安装开发依赖(如nodemon),使用--save-dev:
npm install nodemon --save-dev
5. 配置进程管理(PM2)
为确保应用在后台持续运行、自动重启及监控状态,推荐使用PM2:
- 全局安装PM2:
sudo npm install pm2 -g - 启动应用:
假设入口文件为app.js,执行以下命令启动:pm2 start app.js --name "my-node-app" - 常用PM2命令:
pm2 list # 查看运行中的应用列表 pm2 logs # 查看应用日志 pm2 save # 保存当前进程列表(便于系统重启后恢复) pm2 startup # 设置PM2开机自启动(需根据提示执行后续命令)
6. 配置Nginx反向代理(可选但推荐)
Nginx可作为反向代理,处理HTTP请求转发、负载均衡及SSL卸载,提升应用性能与安全性:
- 安装Nginx:
sudo apt install -y nginx - 配置反向代理:
编辑Nginx默认站点配置文件(或新建自定义配置):
添加以下内容(将sudo nano /etc/nginx/sites-available/my-node-appyour_domain_or_ip替换为服务器域名或IP,3000替换为Node.js应用端口):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 ln -s /etc/nginx/sites-available/my-node-app /etc/nginx/sites-enabled sudo nginx -t # 测试配置语法是否正确 sudo systemctl restart nginx
7. 配置防火墙
允许HTTP(80)与HTTPS(443)流量通过防火墙(若使用UFW):
sudo ufw allow 'Nginx Full' # 允许Nginx的全部流量(HTTP+HTTPS)
sudo ufw enable # 启用防火墙(若未启用)
8. (可选)配置SSL证书
为应用启用HTTPS加密,推荐使用Let’s Encrypt免费证书:
- 安装Certbot:
sudo apt install -y certbot python3-certbot-nginx - 获取并配置证书:
按提示完成证书申请,Certbot会自动修改Nginx配置以支持HTTPS。sudo certbot --nginx -d your_domain.com -d www.your_domain.com
9. 部署验证
- 通过IP/域名访问:
在浏览器输入服务器IP或域名,若看到应用页面(如Express的“Hello World”),则部署成功。 - 查看PM2状态:
pm2 status # 确认应用处于“online”状态
以上流程覆盖了Debian系统上Node.js从环境安装到生产部署的关键步骤,可根据实际需求调整(如切换Node.js版本、添加更多依赖或优化Nginx配置)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian上Node.js的部署流程是怎样的
本文地址: https://pptw.com/jishu/743092.html
