網(wǎng)站空間多久續(xù)一次費seo優(yōu)化團隊
以下是在Ubuntu系統(tǒng)上部署Node.js項目的完整流程,分為系統(tǒng)初始化、環(huán)境配置、項目部署三個部分:
一、系統(tǒng)初始化 & 環(huán)境準(zhǔn)備
bash
# 1. 更新系統(tǒng)軟件包
sudo apt update && sudo apt upgrade -y# 2. 安裝基礎(chǔ)工具
sudo apt install -y build-essential git curl# 3. 安裝Node.js(推薦使用LTS版本)
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs# 驗證安裝
node -v && npm -v# 4. 全局安裝PM2進程管理工具
sudo npm install -g pm2# 設(shè)置PM2開機自啟
pm2 startup systemd
# 根據(jù)提示執(zhí)行生成的命令(例如)
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u ubuntu --hp /home/ubuntu
二、上傳Node.js項目
方式1:通過SCP上傳(本地→服務(wù)器)
bash
# 本地終端執(zhí)行(非服務(wù)器)
scp -r /本地/項目路徑 ubuntu@服務(wù)器IP:/目標(biāo)路徑
方式2:通過Git克隆
bash
# 服務(wù)器操作
git clone https://github.com/你的倉庫地址.git
cd 項目目錄
三、項目部署流程
bash
# 1. 進入項目目錄
cd /path/to/your/project# 2. 安裝項目依賴
npm install# 3. 配置環(huán)境變量(按需)
# 方式1:直接寫入
echo "PORT=3000" > .env
# 方式2:手動創(chuàng)建.env文件并填寫配置# 4. 啟動項目(任選其一)
pm2 start app.js # 直接啟動js文件
pm2 start "npm start" --name "my-app" # 啟動npm腳本
pm2 start ecosystem.config.js # 使用配置文件# 5. 保存PM2進程列表
pm2 save# 6. 查看運行狀態(tài)
pm2 list
pm2 logs
四、網(wǎng)絡(luò)配置(可選)
1. 開放防火墻端口
bash
sudo ufw allow 22 # SSH端口(已默認(rèn)開放)
sudo ufw allow 3000 # 應(yīng)用端口
sudo ufw enable
2. 配置Nginx反向代理(推薦)
bash
# 安裝Nginx
sudo apt install -y nginx# 創(chuàng)建配置文件
sudo nano /etc/nginx/sites-available/your-domain.conf
配置文件內(nèi)容示例:
nginx
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;}
}
啟用配置并重啟Nginx:
bash
sudo ln -s /etc/nginx/sites-available/your-domain.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
3. 配置SSL證書(Let's Encrypt)
bash
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com
五、常用維護命令
bash
# 查看實時日志
pm2 logs# 重啟應(yīng)用
pm2 restart app-name# 停止應(yīng)用
pm2 stop app-name# 刪除應(yīng)用
pm2 delete app-name# 更新項目代碼后的操作
git pull
npm install
pm2 restart all
注意事項:?
- 確保項目中的監(jiān)聽地址為?
0.0.0.0
?而非?127.0.0.1
- 生產(chǎn)環(huán)境建議使用
NODE_ENV=production
- 敏感信息(如API密鑰)務(wù)必通過
.env
文件管理 - 建議使用
npm ci
代替npm install
保持依賴一致性
按照以上步驟操作,即可完成從零開始到生產(chǎn)環(huán)境部署的完整流程。