Debian服务器上js应用部署流程
1. 更新系统包
在开始部署前,确保Debian系统的软件包是最新的,避免因旧版本依赖导致安装冲突:
sudo apt update &
&
sudo apt upgrade -y
2. 安装Node.js与npm
Node.js是JavaScript应用的运行环境,npm是其包管理工具。推荐通过NodeSource仓库安装特定版本(如16.x/18.x),确保兼容性:
# 添加NodeSource仓库(以16.x为例)
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. 上传应用代码
将本地JavaScript应用(如通过Git管理的仓库)上传至服务器。常用方法:
- SCP命令(本地→服务器):
scp -r ./local-app user@server-ip:/path/to/deploy
- Git克隆(若代码托管在GitHub/GitLab):
git clone https://github.com/yourusername/your-app.git /path/to/deploy
进入应用目录:
cd /path/to/deploy
4. 安装应用依赖
应用目录中的package.json
文件记录了项目依赖,通过以下命令安装:
npm install
# 若需安装生产环境依赖(忽略devDependencies),可添加--production参数
npm install --production
5. 配置环境变量
若应用需要敏感配置(如数据库密码、API密钥),建议使用.env
文件管理(需安装dotenv
包)。创建.env
文件并添加变量:
# 示例:.env文件内容
NODE_ENV=production
DB_HOST=localhost
DB_USER=root
DB_PASS=yourpassword
在代码中通过require('dotenv').config()
加载(需在入口文件顶部添加)。
6. 使用PM2管理应用进程
PM2是Node.js进程管理工具,可实现后台运行、自动重启、日志管理等功能。安装PM2并启动应用:
# 全局安装PM2
sudo npm install -g pm2
# 启动应用(假设入口文件为app.js)
pm2 start app.js --name "my-js-app"
# 保存当前进程列表(确保服务器重启后自动恢复)
pm2 save
# 查看应用状态
pm2 status
# 查看实时日志
pm2 logs my-js-app
7. 配置Nginx反向代理(可选但推荐)
Nginx可作为反向代理,处理HTTP请求转发、静态文件服务及SSL加密。安装Nginx:
sudo apt install -y nginx
创建Nginx配置文件(如/etc/nginx/sites-available/my-js-app
),添加以下内容(替换your-domain.com
为域名/IP):
server {
listen 80;
server_name your-domain.com;
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;
}
}
# 启用配置(创建软链接至sites-enabled目录)
sudo ln -s /etc/nginx/sites-available/my-js-app /etc/nginx/sites-enabled
# 测试Nginx配置语法
sudo nginx -t
# 重启Nginx生效
sudo systemctl restart nginx
8. 设置防火墙规则
若服务器启用了ufw
防火墙,需开放HTTP(80)和HTTPS(443)端口:
sudo ufw allow 'Nginx Full' # 允许HTTP和HTTPS
sudo ufw enable # 启用防火墙(若未启用)
9. 配置HTTPS(可选但强烈推荐)
使用Let’s Encrypt免费获取SSL证书,实现HTTPS加密。安装Certbot及Nginx插件:
sudo apt install -y certbot python3-certbot-nginx
# 获取证书并自动配置Nginx
sudo certbot --nginx -d your-domain.com
# 按提示完成验证(如输入邮箱、同意条款)
证书会自动续期,无需手动操作。
10. 监控与维护
- 日志管理:通过
pm2 logs
查看应用日志,或配置Nginx日志分析(如使用GoAccess)。 - 依赖更新:定期运行
npm outdated
检查过时依赖,使用npm update
更新。 - Node.js版本升级:若需升级Node.js,重复“安装Node.js”步骤(替换版本号即可)。
以上流程覆盖了Debian服务器上JavaScript应用部署的核心步骤,可根据实际需求调整(如使用Docker容器化、配置数据库等)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian服务器上js应用部署流程
本文地址: https://pptw.com/jishu/723143.html