vue项目部署到ubuntu服务器(超级简单)

通俗易懂,四部曲!!!

我是用的本地服务器,云服务器原理也一样。

注意事项:在打包之前应该修改好代码中的后端的接口!!!应该是你的服务器后端的接口!!!

                 如果是纯前端就忽略此处!!!

第一步:将vue打包

 1.将写好的vue进行打包(那怎么打包呢?来看看下面吧)

   首先打开vue项目

(1)方式一:我用的是Hbuilder,点击红框部分就能打包

 (2)方式二:通过编译器自带的终端也可以:

    打包完成,vue项目目录会多出一个dist文件,这就是打包好的文件啦!

第二步: 将dist压缩并上传到服务器

1.压缩dist------>dist.zip

2.通过xshell连接服务器(当然你也可以从git上将代码下载到服务器)

3.dist.zip可以通过xshell直接拖拽就能传过去(ubuntu下保存的目录是:/home/ubuntu/vue)

 解压命令:unzip dist.zip (安装unzip解压工具:sudo apt-get install unzip)

第三步:在ubuntu中安装nginx

1.安装命令:(默认是安装到/etc/nginx下)

sudo apt install nginx

2.查看nginx版本

nginx -v

3.启动nginx

sudo service nginx start
<
<think>我们正在部署一个Vue3项目Ubuntu服务器Vue3项目通常是一个前端项目,构建后会生成静态文件(HTML、CSS、JavaScript等)。因此,部署过程主要包括: 1. 在Ubuntu服务器上安装必要的环境(如Node.js用于构建,Nginx用于提供静态文件服务)。 2. 将Vue3项目代码上传到服务器(可以通过Git、SCP等方式)。 3. 安装依赖并构建项目(生成dist目录)。 4. 配置Web服务器(如Nginx)来提供这些静态文件。 步骤详细说明: ### 1. 准备Ubuntu服务器 确保服务器已经更新: ```bash sudo apt update sudo apt upgrade ``` ### 2. 安装Node.js(用于构建Vue项目Vue项目需要Node.js环境来安装依赖和构建。我们可以通过NodeSource仓库安装Node.js(包括npm)。 首先,安装NodeSource仓库(这里以Node.js 18.x为例,你可以根据需要选择版本): ```bash curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs ``` 验证安装: ```bash node -v npm -v ``` ### 3. 安装Nginx Nginx是一个高性能的HTTP服务器,我们将用它来提供Vue构建后的静态文件。 ```bash sudo apt install nginx ``` 启动Nginx并设置开机自启: ```bash sudo systemctl start nginx sudo systemctl enable nginx ``` ### 4. 上传Vue3项目代码 将你的Vue3项目代码上传到服务器。你可以使用Git克隆(如果项目在Git仓库中)或者使用SCP等工具上传。 例如,使用Git: ```bash # 安装Git sudo apt install git # 克隆项目(替换为你的仓库URL) git clone https://github.com/yourusername/your-vue-project.git cd your-vue-project ``` ### 5. 安装项目依赖并构建 进入项目目录,安装依赖并构建: ```bash npm install # 安装依赖 npm run build # 构建项目,生成dist目录 ``` 构建后,项目根目录下会生成一个`dist`文件夹,里面就是静态文件。 ### 6. 配置Nginx 我们需要配置Nginx,将请求指向我们构建好的`dist`目录。 首先,删除默认的Nginx配置文件(可选): ```bash sudo rm /etc/nginx/sites-enabled/default ``` 然后,创建一个新的配置文件(例如`vue-app`): ```bash sudo nano /etc/nginx/sites-available/vue-app ``` 在文件中添加以下内容(假设你的项目构建后的目录是`/path/to/your-vue-project/dist`): ```nginx server { listen 80; server_name your_domain_or_ip; # 替换为你的域名或IP地址 root /path/to/your-vue-project/dist; index index.html; location / { try_files $uri $uri/ /index.html; } } ``` 注意:`root`指令指向你的`dist`目录的绝对路径。`try_files`指令用于支持Vue的路由模式(history模式),这样即使刷新页面也不会404。 启用这个配置文件: ```bash sudo ln -s /etc/nginx/sites-available/vue-app /etc/nginx/sites-enabled/ ``` 测试Nginx配置是否正确: ```bash sudo nginx -t ``` 如果测试成功,重新加载Nginx: ```bash sudo systemctl reload nginx ``` ### 7. 访问应用 现在,你可以通过浏览器访问服务器的IP地址或域名来查看你的Vue3应用了。 ### 8. 防火墙设置(如果开启了防火墙) 如果服务器启用了防火墙(如UFW),需要允许HTTP(80端口): ```bash sudo ufw allow 'Nginx HTTP' ``` ### 注意事项 - 如果你的Vue项目使用了history模式,确保在Nginx配置中设置了`try_files`(如上所示),否则路由可能会出现问题。 - 如果使用HTTPS,你还需要配置SSL证书(可以使用Let's Encrypt免费证书)。 ### 引用说明 以上步骤参考了常规的Vue项目部署流程以及Nginx配置[^1][^2]。如果你在部署过程中遇到问题,可以查看相关日志(如Nginx错误日志:`/var/log/nginx/error.log`)[^4]。 §§相关问题§§ 1. 如何为Vue3项目配置HTTPS? 2. 如何配置Vue3项目使用history模式? 3. 部署Vue3项目时,如何优化性能? 4. 如何实现Vue3项目的持续集成和持续部署(CI/CD)?</think>### 部署 Vue3 项目Ubuntu 服务器的完整指南 #### 1. **服务器准备** - 更新系统并安装基础工具: ```bash sudo apt update && sudo apt upgrade -y sudo apt install git curl nginx -y ``` - 配置防火墙(允许 HTTP/HTTPS): ```bash sudo ufw allow 'Nginx Full' && sudo ufw enable ``` #### 2. **安装 Node.js 环境** - 推荐使用 NodeSource 安装 LTS 版本: ```bash curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt install -y nodejs ``` - 验证安装: ```bash node -v # 应输出 v18.x+ npm -v # 应输出 9.x+ ``` #### 3. **上传 Vue3 项目** - **方法 1:通过 Git 克隆**(需提前配置 SSH 密钥): ```bash git clone https://github.com/your-username/vue-project.git cd vue-project ``` - **方法 2:手动上传**(使用 SCP/FTP): ```bash scp -r ./local-project user@server_ip:/path/to/target ``` #### 4. **构建生产环境代码** - 安装依赖并构建: ```bash npm install npm run build # 生成 dist/ 目录 ``` - 验证构建结果: ```bash ls dist # 应包含 index.html 和静态资源 ``` #### 5. **配置 Nginx 服务器** - 创建配置文件: ```bash sudo nano /etc/nginx/sites-available/vue-app ``` - 粘贴以下配置(替换 `your_domain.com`): ```nginx server { listen 80; server_name your_domain.com; # 或服务器IP root /path/to/project/dist; 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, immutable"; } } ``` - 启用配置: ```bash sudo ln -s /etc/nginx/sites-available/vue-app /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl reload nginx ``` #### 6. **配置 HTTPS(可选但推荐)** - 使用 Certbot 获取免费 SSL 证书: ```bash sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d your_domain.com ``` - 证书会自动续期,HTTP 请求将重定向到 HTTPS #### 7. **验证部署** - 访问 `http://your_domain.com` 或 `https://your_domain.com` - 检查 Nginx 日志: ```bash tail -f /var/log/nginx/error.log ``` ### 常见问题解决 1. **路由 404 错误** 确保 Nginx 配置中包含: ```nginx location / { try_files $uri $uri/ /index.html; } ``` 2. **静态资源加载失败** 检查 `dist` 目录权限: ```bash sudo chown -R www-data:www-data /path/to/project/dist ``` 3. **端口冲突** 若需修改端口(如 8080): ```nginx listen 8080; ``` > 部署参考基于标准 Vue 部署流程和 Nginx 最佳实践[^1][^2]。若使用 Docker 部署,可参考容器化部署方案[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值