接前面的给小朋友做教网站编程的环境发帖。
只有一台台式机,可以配成 centos+LNMP+WordPress 环境。想在上面利用 docker 建成一个支持多远程用户的 wordpress 系统。给每个孩子开个账号,他们可以远程 ssh 登录上来。每个人可以有自己的 wordpress 环境,建立自己的个人网站。
第一个问题是:如何建立这样的 docker+wordpress 环境; 第二个问题:如果这样可行,怎么把这个台式机的公网 IP 和多个学生的 wordpress 网站映射起来。这些 wordpress 网站实际上是在 docker 里。
请大牛们支招。
1
sfree2005 2017-07-15 10:32:44 +08:00 1
你的学生需要学习 linux 的命令和配置之类的吗?还是只是学 wordpress ? 如果是后者,不用 docker 也可以,他 ssh 上来,你限制好权限就没有问题。
1. CentOS 上配置好 LNMP+Wordpress 2. 创建对应的 linux 用户和 web 根目录给学生 3. Mysql 里面就是创建不同的数据库和用户分配给不同的学生。 4. 在 Nginx 里配置子域名( server_name )和对应的 web 根目录给不同学生,在学生机子 hosts 文件里写入子域名对应到你的公网 IP。 所以最后每个学生就有了自己的 - Linux 用户名:studentX - Web 根目录: /home/studentX/www/ - Mysql 数据库和用户 - 子域名:studentX.your-domain.dev - 学生本机 hosts 文件: [你的公网 IP] studentX.your-domain.dev 然后让学生把 wordpress 的安装包拷贝到自己的 web 根目录里面,访问 studentX.your-domain.dev 就可以安装和各种玩了。 |
2
leopku 2017-07-15 11:21:25 +08:00
docker 完全符合你的场景。而且一旦完成环境搭建,后续维护成本很低。
第一个问题:你需要一个类似 k8s 之类的 docker 管理系统 第二个问题:需要一些开发工作。在启动 docker 容器的时候添加一个标签,即可实现域名与容器的对应。学生通过域名(而不是 IP )访问容器。 可以提供付费的整套环境搭建服务(在公司已经部署同等方案),包含解决第一、第二两个问题。有意留个联系方式。 |
3
mkeith 2017-07-15 12:13:37 +08:00 via iPhone
你是要教 Linux 还是建站啊
Wordpress 搭建一个虚拟主机的环境➕控制面板的,ftp 上传代码 |
5
xiyangyang OP @leopku 请联系 [email protected]
|
6
xiyangyang OP |
7
xiyangyang OP @sfree2005 目前是教他们 wordpress,但接下来也需要教他们 linux 命令和 Java 编程之类的东西。
你写的很详细,实在是太感谢了! 我明天先去试试。 Java 编程,不知道可否用类似的思路,做一些 docker 的虚拟机,让学生登录到我的台式机的 Java ide 环境中来 |
8
sfree2005 2017-07-16 14:07:34 +08:00
@xiyangyang #7 linux 命令可以先教那些不用 root 权限的,那个也可以学到很多,再教些 vim 的基本操作也可以用蛮久了。即使是你是在 docker 里有 root 权限,不是所有命令都有,因为为了简化,很多包都没有安装。
Java 只是在大学里学过,不太清楚现在的 ecosystem 发展到什么状况了。 当时我记得都是在本机的。环境搭建什么的也没有 wordpress 那么多步骤,让学生在自己的机子上用应该没有问题。 |
9
iceheart 2017-11-23 10:10:30 +08:00 via Android
用 virtuozzo 啊
|