Debian作为稳定、安全的Linux发行版,是JS框架(如Express、Sails.js、Vue等)部署的理想基础环境。两者的完美结合需涵盖环境准备、框架安装、项目配置、性能优化及安全加固等环节,以下是具体步骤:
JS框架的运行依赖Node.js环境,Debian需先通过以下方式安装:
sudo apt update && sudo apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
source ~/.bashrc
nvm install 18 # 安装最新18.x版本
nvm use 18 # 切换至该版本
node --version # 输出版本号(如v18.16.0)
npm --version # 输出npm版本号(如10.4.0)
注:确保Node.js版本符合框架要求(如Sails.js 1.5需Node.js 14+)。
根据项目需求选择框架,常见场景及操作如下:
sudo npm install -g express-generator
express my-express-app # 生成项目骨架
cd my-express-app
npm install # 安装依赖
npm start # 默认监听3000端口
sudo yarn global add sails # 或使用npm:sudo npm install -g sails
sails new my-sails-app
cd my-sails-app
sails lift # 启动服务(默认端口1337)
npm init vue@latest # Vue 3官方脚手架
cd my-vue-app
npm install
npm run dev # 启动开发服务器(默认端口5173)
注:前端框架(如Vue)通常需配合Nginx等Web服务器部署,避免直接暴露Node.js端口。
.env文件存储敏感信息(如数据库密码、API密钥),通过dotenv库加载:npm install dotenv
在项目入口文件(如app.js)顶部添加:require('dotenv').config();
.env文件示例:NODE_ENV=production
PORT=3000
DATABASE_URL=mongodb://localhost:27017/mydb
sudo npm install -g pm2
pm2 start app.js --name "my-app" # 启动应用
pm2 save # 保存当前进程列表
pm2 startup # 设置开机自启
常用命令:pm2 logs(查看日志)、pm2 restart my-app(重启)。为提升安全性(隐藏Node.js端口)、提高可扩展性(负载均衡),需用Nginx作为反向代理:
sudo apt install nginx
/etc/nginx/sites-available/default):server {
listen 80;
server_name your_domain_or_ip; # 替换为域名或IP
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;
}
}
sudo systemctl restart nginx
注:配置完成后,可通过
http://your_domain_or_ip访问应用。
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain_or_ip # 自动配置Nginx HTTPS
sudo ufw allow 'Nginx Full'
sudo ufw allow 3000/tcp # 若Nginx与Node.js不同机
sudo ufw enable
npm audit fix # 修复已知漏洞
pm2 logs查看应用日志;通过以上步骤,Debian系统可与JS框架(如Express、Sails.js、Vue)完美结合,实现从开发到生产的全生命周期管理。需根据具体框架(如Vue需配合前端构建工具)调整配置,但核心流程一致。