Debian JS如何部署到服务器
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 -v
和npm -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
文件管理:
- 在项目根目录创建
.env
文件,添加变量:NODE_ENV=production DATABASE_URL=mongodb://user:pass@localhost:27017/yourdb API_KEY=your_api_key_here
- 确保
.env
不被提交至版本控制(在.gitignore
中添加.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加密和静态文件服务,提升应用性能和安全性:
- 安装Nginx:
sudo apt-get install nginx
- 创建代理配置:
编辑/etc/nginx/sites-available/yourapp
(若目录不存在则创建),添加以下内容(替换yourdomain.com
为域名/IP,3000
为Node.js应用端口):server { listen 80; server_name yourdomain.com www.yourdomain.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; } }
- 启用配置并重启Nginx:
sudo ln -s /etc/nginx/sites-available/yourapp /etc/nginx/sites-enabled/ sudo nginx -t # 测试配置语法 sudo systemctl restart nginx
7. 设置防火墙
若服务器启用了ufw
防火墙,需开放HTTP(80)和HTTPS(443)端口:
sudo ufw allow 'Nginx Full' # 允许HTTP和HTTPS
sudo ufw enable # 启用防火墙(若未启用)
8. 配置SSL证书(可选但强烈推荐)
使用Let’s Encrypt免费获取SSL证书,实现HTTPS加密:
- 安装Certbot:
sudo apt-get install certbot python3-certbot-nginx
- 获取证书并自动配置Nginx:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
- 按提示完成验证,证书会自动续期。
9. 前端项目特殊处理(若为纯前端项目)
若部署的是React/Vue等前端项目,需先构建生产环境代码,再用Nginx服务静态文件:
- 构建项目:
npm run build # 生成dist/build目录
- 配置Nginx:
修改/etc/nginx/sites-available/yourapp
,将root
指向构建目录:server { listen 80; server_name yourdomain.com; root /var/www/yourapp/dist; # 构建后的静态文件目录 index index.html; location / { try_files $uri $uri/ /index.html; # 支持前端路由 } }
- 重启Nginx:
sudo systemctl restart nginx
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian JS如何部署到服务器
本文地址: https://pptw.com/jishu/734010.html