在阿里云轻量应用服务器上部署前端项目通常涉及以下步骤,以 Vue/React 等现代前端框架为例:
1. 准备前端项目
- 本地构建:确保项目在本地可正常打包
# Vue 项目示例 npm run build生成
dist或build目录(包含静态文件)。
2. 上传文件到服务器
方式一:手动上传(适合小项目)
- 通过 WinSCP/FileZilla 将
dist目录上传到服务器(如/home/www目录)。
方式二:Git 自动化(推荐)
- 服务器安装 Git:
sudo apt update && sudo apt install -y git - 克隆项目到服务器:
git clone your-repo.git /home/www/project - 设置钩子(如 GitHub Webhook)实现自动拉取更新。
3. 配置 Web 服务器
选项1:Nginx(推荐)
- 安装 Nginx:
sudo apt install -y nginx -
修改配置文件(示例):
sudo nano /etc/nginx/conf.d/your-domain.confserver { listen 80; server_name your-domain.com; # 替换为域名或IP root /home/www/dist; # 前端构建目录 index index.html; location / { try_files $uri $uri/ /index.html; # 支持前端路由(如 Vue Router) } } - 重启 Nginx:
sudo systemctl restart nginx
选项2:Apache
- 安装 Apache:
sudo apt install -y apache2 -
配置虚拟主机:
sudo nano /etc/apache2/sites-available/your-domain.conf<VirtualHost *:80> ServerName your-domain.com DocumentRoot /home/www/dist <Directory /home/www/dist> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> - 启用配置并重启:
sudo a2ensite your-domain.conf sudo systemctl restart apache2
4. 域名与 HTTPS(可选)
- 域名解析:在阿里云DNS控制台将域名A记录指向服务器IP。
- HTTPS 证书:
- 使用 Let’s Encrypt 免费证书:
sudo apt install -y certbot python3-certbot-nginx sudo certbot --nginx -d your-domain.com - 证书会自动续期。
- 使用 Let’s Encrypt 免费证书:
5. 自动化部署(进阶)
- CI/CD 工具:通过 GitHub Actions/Aliyun DevOps 实现提交代码后自动构建部署。
# GitHub Actions 示例 - name: Deploy to Aliyun uses: easingthemes/ssh-deploy@main with: SSH_PRIVATE_KEY: ${{ secrets.SSH_KEY }} SOURCE: "dist/" REMOTE_HOST: "your-server-ip" REMOTE_USER: "root" TARGET: "/home/www"
常见问题
- 403 Forbidden:检查文件权限(确保 Nginx/Apache 用户有读取权限):
sudo chown -R www-data:www-data /home/www - 路由404:确保 Web 服务器配置了重定向到
index.html(单页应用需此配置)。 - 端口未开放:在阿里云控制台检查 防火墙规则,放行 80/443 端口。
按照以上步骤,你的前端项目应该能正常访问。如果有特殊需求(如 SSR 或 Docker 部署),可进一步调整方案。
云服务器