首页 > 其他分享 >部署服务器上线部分

部署服务器上线部分

时间:2024-06-13 23:33:27浏览次数:13  
标签:上线 部署 ts jpg vue import 服务器 true vite

想要将自己的毕设放在自己买的服务器上,该项目前端由vite+ts支持,后端使用python flask,数据库是MySQL8.0;
部署分成以下步骤,前端UI部分,后端数据库部分,服务器命令调试部分
目前项目已经完成部署,来我的网站看看吧:https://www.8765430.xyz/

前端UI部分

修改tsconfig.json 在build的时候不会报各种error,包括但不限于anyType、alias别名有可能在vite.config.ts或者tsconfig.json中都要配置,以下提供一份简略的配置:

tsconfig.json

点击查看代码
{
  "compilerOptions": {
    "noUncheckedIndexedAccess": false,
    "target": "ESNext",
    "useDefineForClassFields": true,
    "module": "ESNext",
    "allowJs": true,
    "noImplicitAny": false,
    "moduleResolution": "Node",
    "strict": false,
    "jsx": "preserve",
    "sourceMap": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "esModuleInterop": true,
    "lib": [
      "ESNext",
      "DOM"
    ],
    "skipLibCheck": true,
    "noEmit": true,
    "baseUrl": ".",
    "paths": {
      "@/*": [
        "src/*"
      ]
    }
  },
  "include": [
    "src/**/*.ts",
    "src/**/*.d.ts",
    "*.vue",
    "*.ts",
    "src/**/*.vue",
  ],
  "exclude": [
    "node_modules"
  ],
  "references": [
    {
      "path": "./tsconfig.node.json"
    }
  ]
}

vite.config.ts

点击查看代码
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import VueSetupExtend from 'vite-plugin-vue-setup-extend'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import path from 'path'

export default defineConfig({
  base: './',
  resolve: {
    alias: {
      '@': path.resolve(__dirname,'./src'),
    },
  },
  plugins: [
    vue(),
    VueSetupExtend(),
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
  optimizeDeps: {
    include: ['schart.js'],
  },
})

额外的,在vite.config.ts 开启了 gzip 压缩(优化打开时间达到毫秒级)

npm i vite-plugin-compression --save-dev

import { defineConfig } from 'vite';
import compression from 'vite-plugin-compression';

export default defineConfig({
  plugins: [
    compression({
      verbose: true,
      disable: false,
      threshold: 10240, // 压缩阈值,小于这个值的文件将不会被压缩(单位为字节)这里就是大于 10kb 菜压缩
      algorithm: 'gzip', // 压缩算法
      ext: '.gz', // 压缩文件后缀名
    }),
  ],
});

在运行 npm run build 后可以发现文件夹下多出了一个dist文件夹,里面就是vite帮我们打包出来的

解决图片无法显示问题

  1. 换成变量加载
 imageList: [
        'view1.jpg',
        'view2.jpg',
        'view3.jpg',
      ],
	  
 getImageUrl(imageName) {
      return require(`@/assets/img/${imageName}`);
    },
  1. 提前require加载|
const imageList = [
  require('@/assets/img/view1.jpg'),
  require('@/assets/img/view2.jpg'),
  require('@/assets/img/view3.jpg'),
];
  1. 静态加载
  '/assets/img/view1.jpg',
  '/assets/img/view2.jpg',
  '/assets/img/view3.jpg',

后端数据库部分

事前准备:

  1. 数据库首先导出sql可执行语句文件,方便我们在云端数据库执行
  2. 运行 pip freeze > requirements.txt 生成 requirements.txt方便docker打包容器

这里踩了个雷,在开始项目的时候没有用venv去隔离环境,导致最后生成的全局pip依赖,最后为了优雅,重新隔离开安装了一次

  1. 编写Dockerfile (最后还没部署docker,因Windows10版本问题) 暂时用nohup去代替
  2. 最后遇到ttf字体确实用下面这个方法解决
    https://blog.csdn.net/weixin_39929377/article/details/110547982
  3. 最后成功部署,但部署后仍有问题,时间也已经不早啦,该下班咯~

标签:上线,部署,ts,jpg,vue,import,服务器,true,vite
From: https://www.cnblogs.com/HugoKwong/p/18245679

相关文章

  • 弹性云服务器使用公网NAT网关和直接绑定弹性公网IP有区别吗
    公网NAT网关提供SNAT和DNAT功能,可允许多台弹性云服务器共享弹性公网IP。弹性云服务器直接绑定弹性公网IP为独占IP的方式。 当同一个弹性云服务器同时设置了SNAT和弹性公网IP时,会优先使用弹性公网IP进行转发。当同一个弹性云服务器同时设置了DNAT和弹性公网IP时,入云方向的......
  • No One Survived无人生还使用服务器开服多人联机
    1、购买后登录服务器进入控制面板后会出现正在安装的界面,安装大约10分钟(如长时间处于安装中请联系我们的客服人员)2、创建端口点击网络➡创建新的网络设置需要创建一个端口(查询端口),推荐备注上,如下图......
  • 基于SpringBoot+Vue+uniapp的餐厅点餐系统的详细设计和实现(源码+lw+部署文档+讲解等)
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 基于SpringBoot+Vue+uniapp的球队训练信息管理系统的详细设计和实现(源码+lw+部署文档
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 基于SpringBoot+Vue+uniapp的高校图书馆个性化服务的详细设计和实现(源码+lw+部署文档
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • centos7.9部署k8s的几种方式
    目录一、常见的k8s部署方式1、使用kubeadm工具部署2、基于二进制文件的部署方式3、云服务提供商的托管Kubernetes服务4、使用容器镜像部署或自动化部署工具二、使用kubeadm工具部署1、硬件准备(虚拟主机)2、环境准备2.1、所有机器关闭防火墙2.2、所有机器关闭selinux2.3、所有机器......
  • AI “黏土画风”轻松拿捏,手把手带你云端部署 ComfyUI
    作者:鸥弋、筱姜AI绘画领域,StableDiffusionWebUI、Midjourney、DALL-E都聚拢了一大批的应用开发者和艺术创作者。ComfyUI出现时间略晚,但是它让创作者通过工作流的方式,实现自动化水平更高的AI生图流程,一面世就以强劲势头脱颖而出,在WebUI领域开创了全新的篇章。目前Comf......
  • 如何搭建边缘服务器,部署 Cloudflare Worker,实现Internet网络代理。
    何为CloudflareWorker?CloudflareWorker是Cloudflare提供的一种服务,它允许开发者在全球分布的边缘服务器上运行自定义的JavaScript代码。CloudflareWorker可以用来处理HTTP请求,从而允许开发者通过编写JavaScript代码来实现各种功能,例如路由请求、修改请求和响......
  • 代理离线服务器yum、curl命令访问网络
    在CentOS7上,你可以使用Squid作为代理服务器。以下是在CentOS7上设置代理的简要步骤:1.在可以上网的服务器上安装Squid:sudoyuminstallsquid2.配置Squid:打开Squid配置文件进行编辑:sudonano/etc/squid/squid.conf找到并编辑以下行(确保取消注释并设置合适的值):http_access......
  • 42、k8s-数据存储-高级存储-pv和pvc、NFS服务器
    PV(PersistentVolume)是持久化卷的意思、是对底层的共享存储的一种抽象、一般情况下PV有kubernetes管理员进行创建和配置、他与底层具体的共享存储技术有关、并通过插件完成于共享存储的对接PVC(PersistentVolumeClaim)是持久卷声明的意思、是用户对于存储需求的一种声明、换句话......