debian

Debian JS如何部署到服务器

小樊
48
2025-10-23 13:22:22
栏目: 云计算

1. 安装Node.js和npm
Node.js是JavaScript应用的运行环境,npm是其包管理工具。推荐通过NodeSource仓库安装特定版本(如16.x/18.x),确保兼容性:

curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - 
sudo apt-get install -y nodejs

安装完成后,通过node -vnpm -v验证版本。

2. 上传应用代码
使用scp(命令行)或FileZilla(图形化工具)将本地项目上传至服务器指定目录(如/var/www/yourapp):

scp -r /local/path/to/yourapp username@server_ip:/var/www/yourapp

或通过Git克隆代码(若项目托管在GitHub/GitLab):

git clone https://github.com/yourusername/yourapp.git /var/www/yourapp

3. 安装项目依赖
进入项目目录,运行npm install自动安装package.json中定义的依赖(如Express、React等):

cd /var/www/yourapp
npm install

若依赖较多,可添加--production标志跳过开发依赖:

npm install --production

4. 配置环境变量
若应用需要敏感信息(如数据库密码、API密钥),建议使用.env文件管理:

5. 启动应用(含进程管理)
直接使用node app.js启动应用会因终端关闭而终止,推荐使用PM2(进程管理器)实现后台运行、自动重启和负载均衡:

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

通过pm2 list查看运行状态,pm2 logs查看日志。

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

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

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

8. 配置SSL证书(可选但强烈推荐)
使用Let’s Encrypt免费获取SSL证书,实现HTTPS加密:

9. 前端项目特殊处理(若为纯前端项目)
若部署的是React/Vue等前端项目,需先构建生产环境代码,再用Nginx服务静态文件:

0
看了该问题的人还看了