網(wǎng)站空間多久續(xù)一次費(fèi)seo優(yōu)化團(tuán)隊(duì)
以下是在Ubuntu系統(tǒng)上部署Node.js項(xiàng)目的完整流程,分為系統(tǒng)初始化、環(huán)境配置、項(xiàng)目部署三個(gè)部分:
一、系統(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# 驗(yàn)證安裝
node -v && npm -v# 4. 全局安裝PM2進(jìn)程管理工具
sudo npm install -g pm2# 設(shè)置PM2開機(jī)自啟
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項(xiàng)目
方式1:通過SCP上傳(本地→服務(wù)器)
bash
# 本地終端執(zhí)行(非服務(wù)器)
scp -r /本地/項(xiàng)目路徑 ubuntu@服務(wù)器IP:/目標(biāo)路徑
方式2:通過Git克隆
bash
# 服務(wù)器操作
git clone https://github.com/你的倉(cāng)庫(kù)地址.git
cd 項(xiàng)目目錄
三、項(xiàng)目部署流程
bash
# 1. 進(jìn)入項(xiàng)目目錄
cd /path/to/your/project# 2. 安裝項(xiàng)目依賴
npm install# 3. 配置環(huán)境變量(按需)
# 方式1:直接寫入
echo "PORT=3000" > .env
# 方式2:手動(dòng)創(chuàng)建.env文件并填寫配置# 4. 啟動(dòng)項(xiàng)目(任選其一)
pm2 start app.js # 直接啟動(dòng)js文件
pm2 start "npm start" --name "my-app" # 啟動(dòng)npm腳本
pm2 start ecosystem.config.js # 使用配置文件# 5. 保存PM2進(jìn)程列表
pm2 save# 6. 查看運(yùn)行狀態(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
五、常用維護(hù)命令
bash
# 查看實(shí)時(shí)日志
pm2 logs# 重啟應(yīng)用
pm2 restart app-name# 停止應(yīng)用
pm2 stop app-name# 刪除應(yīng)用
pm2 delete app-name# 更新項(xiàng)目代碼后的操作
git pull
npm install
pm2 restart all
注意事項(xiàng):?
- 確保項(xiàng)目中的監(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)境部署的完整流程。