如何将一个网站的前端 + 后端打包至光盘中? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
dream4ever
V2EX    程序员

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

  •  
  •   dream4ever 2021-08-11 09:34:32 +08:00 3345 次点击
    这是一个创建于 1525 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

    1. 光盘里放的是执行程序,不审查源代码,只审查最终产品。
    2. 这一点倒是没有要求,这么说的确弄个一键部署方便很多。
    3. 只是审查用,并不是长期运行,所以这些怎么方便怎么来。
    jswh
        19
    jswh  
       2021-08-11 11:32:06 +08:00
    可以用 vagrant,写好脚本一键部署虚拟机环境然后直接浏览器访问就行了。
    littlewing
        20
    littlewing  
       2021-08-11 11:57:31 +08:00
    把各种环境和代码都安装配置好的系统打成安装镜像,到时候重装系统
    GeruzoniAnsasu
        21
    GeruzoniAnsasu  
       2021-08-11 14:44:04 +08:00
    @dream4ever 审最终程序的话,基本上你打包一个你能跑的环境,人家自己能搞定的。事业单位搞技术的随便拎一个都是从 985 出来的,没你想的那么菜

    docker 封装就行了,再不济你把 docker 安装程序也放进去有啥不好解决的
    Rheinmetal
        22
    Rheinmetal  
       2021-08-11 15:09:30 +08:00
    Windows 的话虚拟机镜像呗 virtual box 支持 win7

    自己在一个全新安装 win7 上走一遍 步骤 写成文档
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1171 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 23:29 PVG 07:29 LAX 16:29 JFK 19:29
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86