Debian JS如何进行部署上线
1. 安装Node.js与npm
在Debian上部署JS应用前,需先安装Node.js(包含npm包管理器)。推荐通过NodeSource仓库安装指定版本(如16.x/18.x),避免系统默认版本的兼容性问题;若需管理多版本,可使用NVM(Node Version Manager)。
- NodeSource方式:运行curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -添加仓库,再执行sudo apt install -y nodejs安装。
- NVM方式:执行curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash安装NVM,然后通过nvm install 16安装指定版本,nvm use 16切换版本。
2. 上传应用代码
将本地JS项目代码传输至Debian服务器。常用方法包括:
- SCP/FTP:使用scp -r ./local-app user@server-ip:/remote/path命令通过SCP传输;或通过FileZilla等FTP工具上传。
- Git:在服务器上克隆代码仓库,如git clone https://github.com/yourusername/your-app.git。
3. 安装项目依赖
进入项目目录,执行npm install命令。该命令会根据package.json文件自动下载并安装所有依赖项(包括生产依赖dependencies和开发依赖devDependencies,生产环境建议通过npm install --production仅安装生产依赖)。
4. 构建项目(如需)
若项目使用Webpack、Vite等工具打包(如React、Vue等前端框架),需执行构建命令生成静态文件。常见命令包括:
- npm run build:生成- dist或- build目录,包含优化后的HTML、CSS、JS文件。
- 构建完成后,需将生成的静态文件目录(如dist)配置为Web服务器的根目录。
5. 启动应用进程
生产环境严禁直接使用node app.js(进程易崩溃、无法自动重启),推荐使用PM2(Node.js进程管理器):
- 全局安装PM2:sudo npm install -g pm2。
- 启动应用:pm2 start app.js --name "my-js-app"(app.js为入口文件,可根据实际修改)。
- 设置开机自启:pm2 startup(按提示执行生成的命令),并保存进程列表pm2 save(防止重启后丢失)。
6. 配置反向代理(可选但推荐)
使用Nginx作为反向代理,将外部HTTP/HTTPS请求转发至Node.js应用的端口(如3000),提升安全性、支持多域名及负载均衡。
- 安装Nginx:sudo apt install nginx。
- 创建配置文件:sudo nano /etc/nginx/sites-available/your-domain.com,添加以下内容(替换your-domain.com为域名/IP,3000为Node.js端口):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/your-domain.com /etc/nginx/sites-enabled/,测试配置有效性sudo nginx -t,重启Nginxsudo systemctl restart nginx。
7. 配置HTTPS(生产环境必选)
使用Let’s Encrypt免费获取SSL证书,实现HTTPS加密。
- 安装Certbot:sudo apt install certbot python3-certbot-nginx(若已安装Nginx)。
- 获取证书:sudo certbot --nginx -d your-domain.com(替换为域名),按提示完成验证。
- 证书自动续期:Let’s Encrypt证书有效期为90天,Certbot会自动添加续期任务(sudo certbot renew --dry-run测试续期)。
8. 防火墙设置(可选)
若服务器启用了UFW(Uncomplicated Firewall),需开放HTTP(80)和HTTPS(443)端口,允许外部访问:
sudo ufw allow 'Nginx Full'(允许HTTP和HTTPS),然后刷新防火墙规则sudo ufw reload。
9. 日志与监控(可选但建议)
- PM2日志:查看应用日志pm2 logs,或保存日志至文件pm2 logs > app.log。
- 性能监控:使用PM2内置监控pm2 monit,或集成第三方工具(如Prometheus+Grafana)。
- 依赖更新:定期运行npm outdated检查过时依赖,使用npm update更新依赖(注意测试兼容性)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian JS如何进行部署上线
本文地址: https://pptw.com/jishu/739066.html
