如何将一个网站的前端 + 后端打包至光盘中?

2021-08-11 09:34:32 +08:00
 dream4ever

现在有一个业务,需要研究如何将一个网站打包到一张光盘中。

网站的前端部分我觉得是比较好打包的,把静态资源放在网站目录下就行,HTML 和 JS 中写好相对路径的话,几乎都不用修改。

问题在于后端部分,包括后端的程序和数据库。因为这个网站是合作方开发的,目前的信息有限,不知道后端程序用的是什么语言,也不知道用的是什么数据库。

不过一般来讲,后端程序的话,在光盘里放上所需的运行环境,让用户安装一下,是不是就 OK 了?至于数据库的话,以我的了解,一般情况下,也把安装程序放在光盘里,让用户安装一下,然后执行一下脚本将数据导入数据库。后端部分这样操作一遍,是不是也就基本 OK 了?

2967 次点击
所在节点    程序员
22 条回复
Rheinmetal
2021-08-11 09:46:03 +08:00
docker 镜像 系统镜像 iso 更稳一点
Rheinmetal
2021-08-11 09:46:50 +08:00
rancher 等 k8s 发行版均支持 air gap 安装
还有 k3s os 之类的东西
dream4ever
2021-08-11 09:48:16 +08:00
@Rheinmetal docker 的话,还得考虑一下系统是否支持 docker,比如用户如果装了 Windows 7 就没法用,也不可能让用户去重装一个 Windows 10,还是放对应软件的安装程序兼容性更广一些。

另外系统镜像 ISO 指的是什么?操作系统?
tabris17
2021-08-11 09:49:14 +08:00
这是个安装光盘还是 live 光盘?
live 光盘的话,你直接刻一套 linux live 系统进去,配置好环境直接运行
dream4ever
2021-08-11 09:51:06 +08:00
@tabris17 给普通人用的,就不考虑 Linux 了……
PolarBears
2021-08-11 10:00:31 +08:00
我觉得可以考虑做成虚拟机,docker 之类的话我觉得不太合适,因为看起来你的需求用户可能不一定有多少专业知识。
或者设计成后端第一次访问的时候会提示应用系统设置引导界面,在这里填写好数据库连接等信息就好,后端自己导入数据到数据库中。
cadmuxe
2021-08-11 10:03:53 +08:00
关键要说清楚了什么叫打包:
1. 强调了光盘,是不是 live 光盘?然后引导后系统里有网站?
2. 是打包所有的程序和数据,备份一下?
3 要制作成一个安装包 /程序,然后用户可以“安装”到目标机器?形成一个单机的网站?还是部署成正常的对外 /局域网网站?
目标环境大概是啥样的,谁来用,大概的 usecase 是啥,都需要讲清楚了。不然大家没有办法帮你解决问题的。
pckillers
2021-08-11 10:04:44 +08:00
后端与前端一样 给出文件 给出环境安装包 给出教程
ztcaoll222
2021-08-11 10:24:32 +08:00
给普通人用的...现在普通人家里哪还有光驱,建议用 u 盘
dream4ever
2021-08-11 10:58:58 +08:00
@ztcaoll222 是要交到 ** 局进行审查的,明确要求只能用光盘。
dream4ever
2021-08-11 11:12:41 +08:00
@PolarBears 需要在用户自己电脑的操作系统中运行,所以虚拟机不考虑了。另外您说的后端设置引导界面是个好主意,只不过用户不懂开发,我打算略过引导界面,考虑自动安装。
Saurichthys
2021-08-11 11:17:04 +08:00
买一个光盘刻录机,其他的操作就是等于你把你的前后端代码拷贝进 U 盘一样的操作而已
circleee
2021-08-11 11:20:44 +08:00
go 写的 前端也能打包到程序里面,一个 exe 就完啦
ksc010
2021-08-11 11:24:32 +08:00
我上学的时候 给事业单位开发过一个管理系统 用的是 php
CS 架构的 ,就是做的一键安装包 自动解压 安装, 然后运行 web 和数据库服务
访问的时候 直接使用浏览器访问本地网址
dream4ever
2021-08-11 11:24:36 +08:00
@cadmuxe 非常感谢你的提问,很详细,我一一回答一下:

1. 不是 Live 光盘,是用来提供安装包和运行环境的光盘。可简单类比为以前的电脑游戏光盘,需要先安装相关依赖,然后再运行光盘上的游戏。
2. 见前一条。
3. 是要制作成一个可安装的程序,离线部署到用户的电脑上,不对外提供服务,仅供用户在本机使用。
dream4ever
2021-08-11 11:25:51 +08:00
@ksc010 对,需要实现的就是你这样的效果,我去研究一下。
fox0001
2021-08-11 11:26:16 +08:00
1 )用于审查的话,要问清楚,光盘里放的是代码还是执行程序。

2 )运行的时候,是在光盘上直接跑,还是会安装到硬盘上再跑?如果是安装后再跑,那就只需要弄个安装程序,最多也就实现一键部署。

3 )如果是在光盘上直接跑,运行时的文件放哪里?例如数据库文件、log 日志、临时文件之类。
dream4ever
2021-08-11 11:28:50 +08:00
@fox0001

1. 光盘里放的是执行程序,不审查源代码,只审查最终产品。
2. 这一点倒是没有要求,这么说的确弄个一键部署方便很多。
3. 只是审查用,并不是长期运行,所以这些怎么方便怎么来。
jswh
2021-08-11 11:32:06 +08:00
可以用 vagrant,写好脚本一键部署虚拟机环境然后直接浏览器访问就行了。
littlewing
2021-08-11 11:57:31 +08:00
把各种环境和代码都安装配置好的系统打成安装镜像,到时候重装系统

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/794992

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX