吐个槽,纯内网环境部署 python web 应用

2016-12-06 14:11:37 +08:00
 alvy

本人小公司开发一枚,工作最近有个项目,在客户纯内网环境部署 web 应用,公司小,没有纯运维,就安排我去了

没有网!!!从零开始部署,臣妾做不到啊,安装 centos 虚拟机,配置网络,大半天过去了,传文件也是个问题,文件先复制到优盘,优盘再复制到 windows 台式机,在用 secureCRT scp 到虚拟服务器,还要安装什么 winsshd 才能互通。也就是说安装各种应用和依赖包都要这么来一遍。

本来想 docker 部署,据说没有网络 docker 部署也很麻烦, docker 我也不熟,然后就采用传统方式部署 安装 mongodb 倒很快,已有的安装文件复制过去就好了 mysql 就遇到大坑了,安装提示我需要 perl ,安装 perl 又说要 gcc ,安装 gcc 又要 gmp 等等等等,安装过程中各种乱七八糟的错误,无力吐槽 还有一堆 python 的库需要安装,画面太美不敢看

楼主现在已疯,表示要放弃了、离职找工作去了,求搭救

10493 次点击
所在节点    Python
66 条回复
loading
2016-12-06 15:21:15 +08:00
其实并不复杂,复制过去就行。

应该是楼主没用和服务器一样的系统。
wuwuyun
2016-12-06 15:22:36 +08:00
docker 本地先做好 mysql,nginx,python web 镜像, export 然后再 import 没难度
关键在于 docker 环境
也可以本地装个光的 ubuntu
apt-get install --print-uri docker-engine
打出来所有需要装的 deb 包的 url
本地下下来再 scp 传装上去
也没难度
centos 类似
wuwuyun
2016-12-06 15:26:03 +08:00
vagrant 也类似
没什么难度
本地 virtual box 里面做好全部环境
做个镜像
服务器上装 vagrant 和 virtual box 就行了
就是麻烦点而已
ericls
2016-12-06 15:31:14 +08:00
用个 container 全部装好放过去。。
ragnaroks
2016-12-06 15:41:56 +08:00
给公安做过内网东西,直接在公司电脑虚拟机部署完成并进行隔离测试,通过后直接在客户机器上安装个虚拟机就好了
pubby
2016-12-06 15:50:02 +08:00
加钱,包硬件。

直接抱服务器过去。
robinlovemaggie
2016-12-06 16:10:00 +08:00
就不能找个内网里联网的机器搭个 squid 代理?或者 ss 或者 vpn ? 这点挫折就怕了?
revol
2016-12-06 16:14:01 +08:00
docker 很好学的
qwer1234asdf
2016-12-06 16:30:30 +08:00
买个 360 移动 wifi ,。。。接下来,你懂得。。。。。 O(∩_∩)O~
aec4d
2016-12-06 16:32:43 +08:00
这有啥难度,只要能 ssh 连进去一切都不是问题
比如你本机开了一个 socks5 代理 端口为 1085
使用 ssh 反向端口映射 将远程主机的 8888 映射到本机的 1085 ssh -R 8888:127.0.0.1:1085 xxx
远程主机测试:curl -x socks5://127.0.0.1:8888 z.cn
然后远程主机就相当于有网络了

以上示例将 socks5 换成 http 代理就好了 unix 上大多数程序都支持环境变量设置 http 代理
sowish
2016-12-06 16:35:12 +08:00
vmware+虚拟机拷贝
lesxc
2016-12-06 16:46:53 +08:00
这个时候 golang 的优势就显现出来了! 逃~~~~
alvy
2016-12-06 17:19:16 +08:00
@robinlovemaggie 纯内网,不能连外网。
alvy
2016-12-06 17:20:40 +08:00
@revol docker 也要编译,巴拉巴拉,不能联网也很啰嗦
fchypzero
2016-12-06 18:02:10 +08:00
上面就有解决方法,找到对应的虚拟环境,直接做好虚拟机,导出,然后导入虚拟机,不就完了吗?
ldrljq
2016-12-06 18:17:28 +08:00
依赖包的问题可以用 ISO 做 Yum 源解决。。。
starqoq
2016-12-06 19:16:27 +08:00
内网镜像。
sylecn
2016-12-06 19:24:26 +08:00
虚拟机可以在有公网的环境做好再导出,文件复制到移动硬盘,再在纯内网导入。
纯内网就不要 docker 了,不然还得自己搭 docker 依赖的服务。
9
2016-12-06 20:22:47 +08:00
@alvy docker 不用编译啊,就一个二进制文件, docker 传上去之后,再从外面拉个镜像下来,再传上去,就这么运行了!轻松愉快
lalalakakaka
2016-12-06 20:34:50 +08:00
我有类似的经历,方案是:

=== 本机 ===
0. 准备 ESXI 安装盘
0.1 准备 coreOS 镜像
0.2 封装 docker 镜像
0.3 本机测试 docker on coreOS on VMware 运行情况
0.4 导出 docker
===内网机器===
1.裸机装 ESXI
2.ESXI 导入 coreOS 镜像
3.coreOS 导入 docker 镜像
4.完成

或者更粗暴的办法:
===本机===
装系统
装环境
装程序
cloneZilla 整个系统镜像

===内网===
恢复 cloneZilla 镜像
修复启动
完事

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

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

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

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

© 2021 V2EX