欢迎光临优选殡葬网
详情描述

一、准备阶段

1. 环境准备

# 本地开发环境
npm run build  # 生成 dist 静态文件

# 服务器环境准备
# 需要安装:Nginx、Node.js(可选,如需服务端渲染)

2. 阿里云服务器配置

  • 购买云服务器(ECS)
  • 选择系统:推荐 Ubuntu 20.04+ 或 CentOS 7+
  • 配置安全组规则:
    • 开放 80(HTTP)、443(HTTPS)、22(SSH)端口

二、服务器环境搭建

1. 登录服务器

ssh root@你的服务器IP

2. 安装 Nginx

# Ubuntu/Debian
sudo apt update
sudo apt install nginx -y

# CentOS
sudo yum install nginx -y

3. 配置防火墙

# Ubuntu 使用 ufw
sudo ufw allow 'Nginx Full'
sudo ufw allow ssh
sudo ufw enable

# CentOS 使用 firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

三、上传项目文件

方法1:使用 scp 命令

# 本地终端执行
scp -r dist/* root@服务器IP:/var/www/vue-project

# 如果服务器没有目录,先创建
ssh root@服务器IP "mkdir -p /var/www/vue-project"

方法2:使用 Git(推荐)

# 1. 服务器安装 Git
sudo apt install git -y

# 2. 克隆项目
cd /var/www
git clone 你的仓库地址 vue-project
cd vue-project
npm install
npm run build

方法3:使用自动化工具

  • Jenkins
  • GitHub Actions
  • GitLab CI/CD

四、Nginx 配置

1. 创建 Nginx 配置文件

sudo vim /etc/nginx/sites-available/vue-project

2. 配置内容

server {
    listen 80;
    server_name 你的域名或IP;

    # Vue 项目目录
    root /var/www/vue-project/dist;
    index index.html;

    # 启用 gzip 压缩
    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    # 处理 Vue Router 的 history 模式
    location / {
        try_files $uri $uri/ /index.html;
    }

    # 缓存静态资源
    location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }
}

3. 启用配置

# 创建符号链接
sudo ln -s /etc/nginx/sites-available/vue-project /etc/nginx/sites-enabled/

# 测试配置
sudo nginx -t

# 重启 Nginx
sudo systemctl restart nginx

五、HTTPS 配置(可选但推荐)

使用 Let's Encrypt 免费 SSL

# 安装 Certbot
sudo apt install certbot python3-certbot-nginx -y

# 获取证书
sudo certbot --nginx -d 你的域名

# 自动续期测试
sudo certbot renew --dry-run

六、自动化部署脚本

创建 deploy.sh 脚本:

#!/bin/bash
echo "开始部署 Vue 项目..."

# 构建项目
npm run build

# 上传到服务器
rsync -avz -e ssh dist/ root@服务器IP:/var/www/vue-project/dist/

# 重启 Nginx
ssh root@服务器IP "sudo systemctl reload nginx"

echo "部署完成!"

赋予执行权限:

chmod +x deploy.sh
./deploy.sh

七、常见问题解决

1. 路由 404 问题

确保 Nginx 配置中包含:

location / {
    try_files $uri $uri/ /index.html;
}

2. 跨域问题

vue.config.js 中配置代理:

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://后端API地址',
        changeOrigin: true
      }
    }
  }
}

3. 静态资源加载失败

检查路径配置:

// vue.config.js
module.exports = {
  publicPath: process.env.NODE_ENV === 'production' ? './' : '/'
}

八、性能优化建议

1. 启用压缩

# Nginx 配置
gzip on;
gzip_min_length 1k;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

2. CDN 加速

  • 使用阿里云 OSS + CDN
  • 静态资源上传到 OSS

3. 开启浏览器缓存

location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
    expires 1y;
    add_header Cache-Control "public, immutable";
}

九、监控和维护

1. 查看 Nginx 日志

# 访问日志
tail -f /var/log/nginx/access.log

# 错误日志
tail -f /var/log/nginx/error.log

2. 进程监控

# 查看 Nginx 状态
systemctl status nginx

# 重启 Nginx
systemctl restart nginx

这样你的 Vue 项目就成功部署到阿里云服务器了!

相关帖子
全职妈妈重返职场困难,离婚时除了补偿能否要求额外帮助?
全职妈妈重返职场困难,离婚时除了补偿能否要求额外帮助?
南平市品牌网站制作设计-小视频代运营,专业开发团队
南平市品牌网站制作设计-小视频代运营,专业开发团队
南平市android软件开发#商城网站开发建设,一站式建站服务
南平市android软件开发#商城网站开发建设,一站式建站服务
南平市正规殡葬服务公司-定告别厅,个性化服务
南平市正规殡葬服务公司-定告别厅,个性化服务
南平市殡葬一条龙公司电话,白事服务公司电话,价格透明
南平市殡葬一条龙公司电话,白事服务公司电话,价格透明
deepin20文件怎么共享? deepin文件共享给windows的技巧
deepin20文件怎么共享? deepin文件共享给windows的技巧
物业公司以“商业机密”为由拒绝提供部分账目,这种做法合理吗?
物业公司以“商业机密”为由拒绝提供部分账目,这种做法合理吗?
2026年实施的新规,对机动车跨省异地年检有哪些便利化的改进?
2026年实施的新规,对机动车跨省异地年检有哪些便利化的改进?
2026年离职后不想社保中断,有哪些方法可以让自己继续缴纳社保?
2026年离职后不想社保中断,有哪些方法可以让自己继续缴纳社保?
2026年通过线上平台办理社保跨省转移,具体的操作步骤是怎样的?
2026年通过线上平台办理社保跨省转移,具体的操作步骤是怎样的?
安阳市crm系统开发#java开源cms二次开发,提供一站式建站服务
安阳市crm系统开发#java开源cms二次开发,提供一站式建站服务
朔州市殡葬殡仪服务,白事服务公司,专业团队
朔州市殡葬殡仪服务,白事服务公司,专业团队
海西殡葬一条龙价格-白事告别会布置,专业的团队
海西殡葬一条龙价格-白事告别会布置,专业的团队
在预算有限的情况下,如何通过食材选择和烹饪方法提升日常饮食营养?
在预算有限的情况下,如何通过食材选择和烹饪方法提升日常饮食营养?
徐州市网站开发正规公司-购物网站开发,收费透明
徐州市网站开发正规公司-购物网站开发,收费透明
deepin没有swap分区怎么办 deepin没有swap分区解决方法
deepin没有swap分区怎么办 deepin没有swap分区解决方法
2026年关于非婚生子女的权利保护,法律上具体有哪些明确规定?
2026年关于非婚生子女的权利保护,法律上具体有哪些明确规定?
继承一个社交账号,继承人可能会承担哪些潜在的法律风险或义务?
继承一个社交账号,继承人可能会承担哪些潜在的法律风险或义务?
自由职业者或个体工商户如何为自己规划生育保障?
自由职业者或个体工商户如何为自己规划生育保障?
如何与独居老人进行有效沟通,了解他们的真实需求与困难?
如何与独居老人进行有效沟通,了解他们的真实需求与困难?