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需配合前端構建工具)調整配置,但核心流程一致。