现在有一个业务,需要研究如何将一个网站打包到一张光盘中。
网站的前端部分我觉得是比较好打包的,把静态资源放在网站目录下就行,HTML 和 JS 中写好相对路径的话,几乎都不用修改。
问题在于后端部分,包括后端的程序和数据库。因为这个网站是合作方开发的,目前的信息有限,不知道后端程序用的是什么语言,也不知道用的是什么数据库。
不过一般来讲,后端程序的话,在光盘里放上所需的运行环境,让用户安装一下,是不是就 OK 了?至于数据库的话,以我的了解,一般情况下,也把安装程序放在光盘里,让用户安装一下,然后执行一下脚本将数据导入数据库。后端部分这样操作一遍,是不是也就基本 OK 了?
1
Rheinmetal 2021-08-11 09:46:03 +08:00
docker 镜像 系统镜像 iso 更稳一点
|
2
Rheinmetal 2021-08-11 09:46:50 +08:00
rancher 等 k8s 发行版均支持 air gap 安装
还有 k3s os 之类的东西 |
3
dream4ever OP @Rheinmetal docker 的话,还得考虑一下系统是否支持 docker,比如用户如果装了 Windows 7 就没法用,也不可能让用户去重装一个 Windows 10,还是放对应软件的安装程序兼容性更广一些。
另外系统镜像 ISO 指的是什么?操作系统? |
4
tabris17 2021-08-11 09:49:14 +08:00
这是个安装光盘还是 live 光盘?
live 光盘的话,你直接刻一套 linux live 系统进去,配置好环境直接运行 |
5
dream4ever OP @tabris17 给普通人用的,就不考虑 Linux 了……
|
6
PolarBears 2021-08-11 10:00:31 +08:00
我觉得可以考虑做成虚拟机,docker 之类的话我觉得不太合适,因为看起来你的需求用户可能不一定有多少专业知识。
或者设计成后端第一次访问的时候会提示应用系统设置引导界面,在这里填写好数据库连接等信息就好,后端自己导入数据到数据库中。 |
7
cadmuxe 2021-08-11 10:03:53 +08:00
关键要说清楚了什么叫打包:
1. 强调了光盘,是不是 live 光盘?然后引导后系统里有网站? 2. 是打包所有的程序和数据,备份一下? 3 要制作成一个安装包 /程序,然后用户可以“安装”到目标机器?形成一个单机的网站?还是部署成正常的对外 /局域网网站? 目标环境大概是啥样的,谁来用,大概的 usecase 是啥,都需要讲清楚了。不然大家没有办法帮你解决问题的。 |
8
pckillers 2021-08-11 10:04:44 +08:00
后端与前端一样 给出文件 给出环境安装包 给出教程
|
9
ztcaoll222 2021-08-11 10:24:32 +08:00
给普通人用的...现在普通人家里哪还有光驱,建议用 u 盘
|
10
dream4ever OP @ztcaoll222 是要交到 ** 局进行审查的,明确要求只能用光盘。
|
11
dream4ever OP @PolarBears 需要在用户自己电脑的操作系统中运行,所以虚拟机不考虑了。另外您说的后端设置引导界面是个好主意,只不过用户不懂开发,我打算略过引导界面,考虑自动安装。
|
12
Saurichthys 2021-08-11 11:17:04 +08:00
买一个光盘刻录机,其他的操作就是等于你把你的前后端代码拷贝进 U 盘一样的操作而已
|
13
circleee 2021-08-11 11:20:44 +08:00
go 写的 前端也能打包到程序里面,一个 exe 就完啦
|
14
ksc010 2021-08-11 11:24:32 +08:00
我上学的时候 给事业单位开发过一个管理系统 用的是 php
CS 架构的 ,就是做的一键安装包 自动解压 安装, 然后运行 web 和数据库服务 访问的时候 直接使用浏览器访问本地网址 |
15
dream4ever OP @cadmuxe 非常感谢你的提问,很详细,我一一回答一下:
1. 不是 Live 光盘,是用来提供安装包和运行环境的光盘。可简单类比为以前的电脑游戏光盘,需要先安装相关依赖,然后再运行光盘上的游戏。 2. 见前一条。 3. 是要制作成一个可安装的程序,离线部署到用户的电脑上,不对外提供服务,仅供用户在本机使用。 |
16
dream4ever OP @ksc010 对,需要实现的就是你这样的效果,我去研究一下。
|
17
fox0001 2021-08-11 11:26:16 +08:00 via Android
1 )用于审查的话,要问清楚,光盘里放的是代码还是执行程序。
2 )运行的时候,是在光盘上直接跑,还是会安装到硬盘上再跑?如果是安装后再跑,那就只需要弄个安装程序,最多也就实现一键部署。 3 )如果是在光盘上直接跑,运行时的文件放哪里?例如数据库文件、log 日志、临时文件之类。 |
18
dream4ever OP |
19
jswh 2021-08-11 11:32:06 +08:00
可以用 vagrant,写好脚本一键部署虚拟机环境然后直接浏览器访问就行了。
|
20
littlewing 2021-08-11 11:57:31 +08:00
把各种环境和代码都安装配置好的系统打成安装镜像,到时候重装系统
|
21
GeruzoniAnsasu 2021-08-11 14:44:04 +08:00
@dream4ever 审最终程序的话,基本上你打包一个你能跑的环境,人家自己能搞定的。事业单位搞技术的随便拎一个都是从 985 出来的,没你想的那么菜
docker 封装就行了,再不济你把 docker 安装程序也放进去有啥不好解决的 |
22
Rheinmetal 2021-08-11 15:09:30 +08:00
Windows 的话虚拟机镜像呗 virtual box 支持 win7
自己在一个全新安装 win7 上走一遍 步骤 写成文档 |