vue3前端项目一步一步自动化部署到linux的nginx服务上

简介: 这里我直接使用我自己的项目,这个项目也在github上开源了,谁都可以看到 github.com/aehyok/blog

image.png


前言:大家好,我是 那个曾经的少年回来了。10年前我也曾经年轻过,如今已步入被淘汰的年龄,但如下幡然醒悟,所以活在当下,每天努力一点点,来看看2024年的时候自己会是什么样子吧,2024年的前端又会是什么样子,而2024年的中国乃至全球又会变成什么样子,如果你也有想法,那还不赶紧行动起来。期待是美好的,但是更重要的是要为美好而为之奋斗付诸于行动。


本文主要讲解如何一步一步的来部署自己的前端项目,到linux服务器上。我自己的linux服务器选择的是opensuse。


这里说明一下:opensuse 通过zypper可以方便的进行软件管理,类似centos的yum 软件。


1、安装nginx


// 查找nginx
zypper search nginx
// 通过zypper安装nginx
zypper install nginx
// 查看nginx是否安装成功,安装成功则出现版本相关信息
nginx -v


2、设置nginx服务自动启动


// 设置nginx开机自动启动
systemctl enable nginx
// 取消开机自动启动
systemctl disable nginx
// 启动nginx服务
systemctl start nginx
// 停止nginx服务
systemctl stop nginx
// 查看nginx服务的状态
systemctl status nginx
//修改nginx配置文件等,重新载入
nginx -s reload


3、配置nginx的配置文件


在/etc/nginx/conf.d文件夹下新建一个html.conf


server {
    ## 端口
    listen 88;
    ##  前端项目打包后的路径
    root /usr/local/qiankun/blog;
    index index.html index.htm;
    ## 设置跨域,其实可以忽略
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
    if ($request_method = 'OPTIONS') {
        return 204;
    }
    location / {
      try_files $uri $uri/ = 404;
    }
}


4、创建项目


这里我直接使用我自己的项目,这个项目也在github上开源了,谁都可以看到 github.com/aehyok/blog

当然这里面已经包含了我的半自动化脚本和全自动 github Actions yml脚本,推送代码到指定分支的时候就会自动部署。


这里要使用的便是我自己写的半自动化脚本。


5、通过脚本执行打包后,自动拷贝到linux服务器


在package.json中引入zx


npm i zx


然后在package.json中的scripts


"buildtome": "npm run build && zx ./scripts/prebuild.mjs",


prebuild.js文件内容如下


import { $, argv } from "zx";
export const isWin = () => {
  // win32 代表window平台
  // darwin 代表mac平台
  //
  return process.platform === "win32" ? true : false;
}
const root = process.cwd()
let dir = isWin() ? '/h/github/blog': root
console.log(process.platform, 'root')
let path = `${dir}/docs/.vitepress/dist` 
const gitPullInfo = await $`scp -r ${path}/* root@81.69.241.99:/usr/local/qiankun/blog/`
// const gitPullInfo = await $`cd ${path};`;
if(gitPullInfo.exitCode === 0) {
  console.log('复制到linux远程服务器成功')
} else {
  console.log('发生错误')
}


先来判断是在window执行的脚本,还是在mac下(linux应该也可以不过我没尝试过)两者获取路径的方式是不太一样。 然后其实就是通过scp指令,将本地打包编译好的目录,拷贝到服务器对应的目录上。


关于免密登录这里我前两天整理过,如果有需要可以看看 juejin.cn/post/713155…

最后访问网页

image.png


6、总结


不用靠后端也可以自己部署自己的项目,自己实际操作下来也没什么难度,加油继续折腾吧。


我的个人博客:vue.tuokecat.com/blog


我的个人github:github.com/aehyok


我的前端项目:pnpm + monorepo + qiankun + vue3 + vite3 + 工具库、组件库 + 工程化 + 自动化


不断完善中,整体框架都有了


在线预览:vue.tuokecat.com


github源码:github.com/aehyok/vue-…

目录
相关文章
|
2月前
|
自然语言处理 大数据 应用服务中间件
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
77 5
|
5天前
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
34 13
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
47 5
linux系统服务二!
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
51 3
linux系统服务!!!
|
1月前
|
负载均衡 前端开发 JavaScript
Nginx 代理多服务
以上是 Nginx 代理多服务的几种常见方式,在实际应用中,可以根据具体的业务需求和系统架构选择合适的代理方式,并结合其他 Nginx 的功能和配置来优化和完善系统的性能和功能。
|
1月前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
289 3
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
117 3
|
2月前
|
Ubuntu 应用服务中间件 Linux
Linux下搭建Nginx环境的搭建
Linux下搭建Nginx环境的搭建
73 6
|
2月前
|
缓存 负载均衡 应用服务中间件
Nginx 实现一个端口代理多个前后端服务
【10月更文挑战第19天】Nginx 的强大功能不仅限于此,它还可以与其他技术和工具相结合,为我们的应用提供更强大的支持和保障。在不断发展的互联网时代,掌握 Nginx 的使用技巧将为我们的工作和生活带来更多的便利和效益。
|
2月前
|
Ubuntu Linux 网络安全
Linux中服务管理问题
【10月更文挑战第4天】
30 2