# 如何把React.js 項目部署到服務器
## 前言
React.js 作為當前最流行的前端框架之一,開發完成后如何部署到生產環境是開發者必須掌握的技能。本文將詳細介紹從項目構建到服務器部署的全流程,涵蓋本地打包、服務器配置、Nginx部署、HTTPS配置等核心環節。
---
## 一、項目構建準備
### 1. 優化生產環境配置
在部署前需確保項目已針對生產環境優化:
```bash
# 檢查package.json中的生產依賴
npm install --only=prod
# 清理無用依賴
npm prune
創建.env.production文件配置生產環境變量:
REACT_APP_API_BASE_URL=https://api.yourdomain.com
REACT_APP_ENV=production
npm run build
構建完成后會在項目根目錄生成build/文件夾,包含所有靜態資源。
# Ubuntu示例
sudo apt update
sudo apt install -y nginx nodejs npm
通過SFTP/SCP或Git將build/目錄上傳至服務器:
scp -r build/ user@your_server_ip:/var/www/react-app/
/etc/nginx/sites-available/yourdomain.com:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/react-app/build;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
# 靜態資源緩存
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 1y;
add_header Cache-Control "public, no-transform";
}
}
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled
sudo nginx -t # 測試配置
sudo systemctl restart nginx
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
證書默認90天有效期,添加自動續期:
sudo certbot renew --dry-run
npm install -g pm2
pm2 serve /var/www/react-app/build 3000 --spa
pm2 startup
pm2 save
創建Dockerfile:
FROM node:16-alpine as builder
WORKDIR /app
COPY . .
RUN npm install && npm run build
FROM nginx:alpine
COPY --from=builder /app/build /usr/share/nginx/html
EXPOSE 80
構建并運行:
docker build -t react-app .
docker run -d -p 80:80 react-app
白屏問題
try_files配置basename時)API請求404
location /api/ {
proxy_pass https://api.yourdomain.com;
}
緩存更新失效
build/asset-manifest.json中檢查文件哈希值通過以上步驟,您的React應用已成功部署到生產環境。建議定期: - 監控服務器資源使用情況 - 設置CI/CD自動化部署流程 - 啟用Gzip壓縮和CDN加速提升性能
部署只是開始,持續優化才能保證最佳用戶體驗! “`
注:實際部署時請根據項目具體情況調整配置參數,不同服務器環境可能存在細微差異。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。