debian

JS应用在Debian上如何部署

小樊
40
2025-09-30 04:51:48
栏目: 编程语言

1. 更新系统包
在部署前,确保Debian系统的软件包是最新的,避免兼容性问题:

sudo apt update && sudo apt upgrade -y

2. 安装Node.js和npm
Node.js是JS应用的运行环境,npm是其包管理器。推荐通过NodeSource仓库安装特定版本(如16.x/18.x),或使用NVM(Node版本管理器)管理多版本:

安装完成后,验证版本:

node -v  # 查看Node.js版本
npm -v   # 查看npm版本

3. 上传JS应用代码
将本地JS应用(如通过Git克隆或FTP/SFTP上传)放置到服务器目录(如/var/www/your-app):

git clone https://github.com/yourusername/your-app.git /var/www/your-app
cd /var/www/your-app

4. 安装应用依赖
JS应用通常通过package.json管理依赖,进入项目目录运行以下命令安装:

npm install
# 若需生产环境精简依赖,可添加--production参数
npm install --production

5. 配置环境变量
若应用需要敏感配置(如数据库密码、API密钥),建议使用.env文件(需安装dotenv包)或在服务器环境变量中设置:

6. 使用PM2管理应用进程
PM2是Node.js进程管理工具,可实现后台运行、自动重启、日志管理等功能:

# 全局安装PM2
sudo npm install -g pm2
# 启动应用(假设入口文件为app.js)
pm2 start app.js --name "your-app"
# 保存当前进程列表(系统重启后自动恢复)
pm2 save
# 设置开机自启
pm2 startup

查看应用状态:

pm2 status
# 查看实时日志
pm2 logs your-app

7. 配置Nginx反向代理(可选但推荐)
Nginx可作为反向代理,处理HTTP请求转发、静态文件服务及SSL加密,提升应用性能和安全性:

8. 配置防火墙
若服务器启用了ufw防火墙,需开放HTTP(80)和HTTPS(443)端口:

sudo ufw allow 'Nginx Full'  # 允许HTTP和HTTPS
sudo ufw enable              # 启用防火墙(若未启用)

9. 可选:配置HTTPS(推荐)
使用Let’s Encrypt免费获取SSL证书,加密应用流量:

# 安装Certbot和Nginx插件
sudo apt install certbot python3-certbot-nginx -y
# 获取证书并自动配置Nginx
sudo certbot --nginx -d your_domain.com
# 按提示完成验证(需域名解析至服务器IP)

证书会自动续期,无需手动操作。

10. 验证部署
打开浏览器访问http://your_domain.com(或IP地址),若看到应用页面则表示部署成功。可通过PM2日志排查问题:

pm2 logs your-app

0
看了该问题的人还看了