部署 Vue 前端项目到 Linux

看看怎么把一个 Vue 3 项目部署到 Linux 服务器上。准备好你的咖啡,让我们愉快地度过这段部署时光!

前期准备

确保你已经在本地构建了 Vue 3 项目,并生成了 dist 文件夹。

bash 复制代码
npm run build

构建完成后,你将看到一个新鲜出炉的 dist 文件夹,里面包含所有静态资源。

传输文件到服务器

接下来,我们需要将这些文件传输到你的 Linux 服务器上。你可以使用 SCP,rsync,或者你喜欢的任何工具。这里我们假设你使用 SCP:

bash 复制代码
scp -r dist username@your_server_ip:/path/to/destination/

username 换成你的服务器用户名,your_server_ip 换成你的服务器IP,/path/to/destination/ 换成你想要放置文件的位置,比如 /var/www/

小小友情提醒

别忘了确认你有权限访问和写入目标目录!权限问题可是能把人折腾到抓狂的。

配置 NGINX

文件传上去了,现在我们来搞定 NGINX 配置。打开或创建 NGINX 配置文件,通常在 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf

bash 复制代码
 sudo vim /etc/nginx/nginx.conf

在配置文件中添加以下内容,将 your_server_ip_or_domain/path/to/destination/dist 替换成你自己的信息:

nginx 复制代码
server {
    listen 80;
    server_name your_server_ip_or_domain;

    location / {
        root /path/to/destination/dist;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
}

替换示例:

  • your_server_ip_or_domain 其实就是你服务器的IP地址或域名。
  • /path/to/destination/dist 是你刚才放置 dist 文件夹的路径。

重启 NGINX 服务

配置文件改好了?好嘞!咱们需要让NGINX重新加载这些新配置:

bash 复制代码
sudo nginx -t  # 检查一下配置文件有没有写错别字之类的小毛病
sudo systemctl restart nginx  # 重启NGINX,让新配置生效

开放防火墙端口

你可不希望你的项目只能自己瞧瞧吧?让我们打开80端口,让世界都能访问:

bash 复制代码
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

完美解决

如果你没有写错任何一步,打开浏览器,输入你的服务器IP或域名,哒哒哒,你的 Vue 3 项目现在应该愉快地跑在服务器上了!

总结

通过这些步骤,你成功将一个 Vue 3 项目部署到了 Linux 服务器上,并配置了 NGINX------这可是极具成就感的一项成就!快去享受你的成果,向世界展示你的作品吧!

Happy deploying! 🚀

相关推荐
zx_7414848119 分钟前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
linux_cfan20 分钟前
17 · 引擎适配器全景:HLS/DASH/Vimeo/Mux/Cast
前端·javascript·音视频
Zenova EdgeOS30 分钟前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿42 分钟前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
计算机魔术师1 小时前
烧掉2780亿美元还不够?OpenAI的资本豪赌让人头皮发麻
前端
IT_陈寒2 小时前
Java线程池用错参数,我的服务居然悄悄崩溃了
前端·人工智能·后端
做运维的阿瑞2 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
卡布鲁2 小时前
React useMemo 与 useCallback 完全指南:原理、场景与避坑
前端·react.js
百万蹄蹄向前冲2 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
彧azz2 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试