本文讲述制作第一个docker版jxTMS的程序,整个系列的文章请查看:docker版jxTMS使用指南
首先需要准备好ssh的客户端程序和sftp客户端程序。然后按前文所述,启动jxTMS。
1、配置ssh和sftp客户端
按如下信息在ssh客户端中增加一个dockerTMS的配置:
主机地址:127.0.0.1
端口:10022
用户名:demoOrg_2255
密码:123456
用同样的配置在sftp客户端中也增加一个dockerTMS站点。
注:demoOrg_2255是组织用户,其远程登录后会被限制在自己的根目录下【做了chroot】。但有时也会需要以root用户的身份登录到tms中,所以大家还需要同样做一个dockerTMSRoot的配置,主机地主、端口、密码和dockerTMS都一样,只是用户名为:root
2、目录结构
在ssh客户端中启动dockerTMS后,执行下述的命令查看代码目录:
-bash-4.4$ ls -l
total 20
drwx---r-x 4 1001 1000 4096 Mar 16 01:51 codeDefine
drwxr-xr-x 3 1001 1000 4096 Mar 15 05:36 demoCode
drwxr-xr-x 2 1001 1000 4096 Mar 15 06:50 docTemplate
drwx---rwx 2 1001 1000 4096 Mar 14 12:20 logs
drwx---r-x 3 1001 1000 4096 Mar 15 05:36 wxFile
可以看到有5个目录,最主要的是两个:
codeDefine:存放用户的定制代码
logs:存放本组织的日志
ssh访问最关键的用途就是查看本组织的日志,通过执行如下命令:
cd logs
#查看实时日志
tail -f rolling.log
#分页查看倒数xxx行的日志
tail -n xxx rolling.log | more
#如【tail -n 100 rolling.log | more】就是查看倒数100行的日志
demoCode目录中存放的是初始的演示代码,我们一会要下载下来修改后上传开始我们的HelloWorld!
docTemplate命令中存放的是demo演示中会用到的文件模板,其中的xls文件名是中文,ssh客户端可能看不到,但sftp客户端中就可以看到了。
wxFile目录中存放的是本组织在企业微信中共享文件,本demo用不到,暂时忽略。
大家请保持查看实时日志,然后我们继续后继的操作,到时大家观察实时日志输出,就比较好理解jxTMS的工作机制了。
3、上传代码文件
在sftp客户端中连接到dockerTMS站点,然后将【demoCode】命令下的子目录【demo1】中的文件全部下载下来。
然后在sftp客户端中切换到目录【/codeDefine/demo/demo1】,这时能看到该目录下没有任何文件,然后将刚下载的5个文件中的【capa.py、web、op.py】这三个文件上传到远端的【/codeDefine/demo/demo1】目录中。
注:sql和data两个文件现在不需要上传
4、登录到jxTMS中
请查看一下现在是否保持查看实时日志的状态,如果没有,请按上面的说明进行查看。
打开浏览器,在浏览器的地址栏中输入并访问:
http://127.0.0.1:10018/tms.html
在弹出的登录对话框中输入:
用户名:manager-demoOrg_2255
密码:123456
然后点击【登录】按钮即登录到了demoOrg_2255组织中。
注1:大家保持查看实时的日志输出
注2:manager-demoOrg_2255用户是组织【demoOrg_2255】的管理员账号,主要是用来做本组织的系统管理使用的,只是考虑到降低学习门槛的需要,才将其作为演示用户使用。tms容器中还预置了一个普通用户:demoUser3477【密码:123456】。大家可以尝试分别用manager-demoOrg_2255、demoUser3477进行登录,看看登录后的界面有什么不同。不过呢,看完了demoUser3477登录后的界面知道了jxTMS中权限是跟着角色走的就可以了,以后我们主要使用manager-demoOrg_2255用户登录
登录后,大家请在左侧的快捷栏中:
点击快捷按钮:【运维管理->重新加载】。jxTMS会提示:重新加载所有模块,点击【确认】按钮,并再次点击【OK】按钮进行确认。
注:大家是否在实时日志中看到了疯狂的输出?
大家先看一下快捷栏,然后刷新本页面,重新登录后,这时再次看一下快捷栏,看看是否有所不同呢?!
注:这里要退出重新登录的原因是因为重新加载所有模块后,快捷栏发生了变动,而快捷栏是在登录时创建的,所以只有重新登录才能看到该变动
是的,大家发现多了一个快捷栏:【演示】。点一下【演示】,就会出现【helloWorld】,再点一下【helloWorld】,看看会出现什么情况?
注:在出现的界面中,按钮【点我】一开始是灰的,也无法点击,5秒左右,该按钮就恢复正常,可以点击了
点击按钮【点我】,看看会发生什么?同时请注意观察实时日志。
OK!到这里,我们就已经演示了如何在我们的组织应用中增加一个代码模块,然后上传并hotUpdate,在不停机的情况下更新了我们的应用,这个能力在jxTMS称为:热机刷新。
参考资料:
jxTMS设计思想
jxTMS编程手册
下面的系列文章讲述了如何用jxTMS开发一个实用的业务功能:
如何用jxTMS开发一个功能
下面的系列文章讲述了jxTMS的一些基本开发能力:
jxTMS的HelloWorld
上一篇: 庆祝国庆节的诗歌