发表于: 2017-01-25 23:37:08
1 2131
今天完成的事情:
1)将双语儿童的开发版移到了另一个金山云上
2)写一个统计脚本,感觉里面主要是数据库调用比较麻烦,有些字段涉及好几个表,为此补了下sql相关的知识,感觉明天上午可以完成了
明天计划的事情:
1)完成统计脚本,争取中午前系统能够将统计邮件发出去
2)学习多线程,并发
3)把tuscany与分布式总结成ppt(拖了好久)
遇到的问题:
1)如果将我们公司的项目从总的那个开发机移到另一个新的开发机,ansible部署应该是不能用了吧,对ansible真的是一点都不懂,需要找出一天的时间研究一下
2)service启动以后,将服务绑定在所在服务器的某个端口上
我们在resources中心资源库注册对应的service rmi名字,与对应的域名:端口号
我们会在web端的hosts配好rmi服务域名对应的ip
web端调用的时候会指定service rmi的名字,通过scallop去到rmi资源中心找到对应的域名,通过host解析,调取对应ip+端口号上绑定的服务
这里有一个问题:如果是集群部署多个service,那么多个service所在的ip都不同,也就需要我们手动在每个服务器设置hosts,那么我们使用resources中心资源库有什么意义呢,反正每台service都要手动改
::::::::::::::写到这里突然有点小醒悟,是不是说resources的意义并不在于免去每台service的配置,而在于一个域名轮询service
收获:
通过今天迁移项目,大概理清了这些配置的套路(虽然以前装作会了指导过小伙伴迁移成功,但那时自己确实没有上手过,硬着头皮教,好在没被戳穿并且成功了)
主要是配置nginx与hosts的问题,项目代码的话,打包好了移到对应路径解压就好了
1)我们需要启动service,这时首先考虑的是,我的service是调数据用的,那我的数据库从哪来呢,在service的group.xml中我们有指定 db.项目名 是我们的需要连接的数据库的域名,所以,我们需要在hosts中指定db.项目名对应的ip,即实际数据库所在的服务器ip
2)启动了service,我们需要启动web去调用service(如上问题2分析),这里就需要在hosts中配置rmi服务域名对应的ip,如果service跟web在一个服务器,当然就设置成127.0.0.1本机啦
3)设置好了web,我们要考虑怎么访问web的问题了,首先我们需要在外界通过域名访问到这台web服务器,先设置域名解析,将域名a.b.c解析到1.2.3
4)a.b.c到达web 服务器,会通过nginx配置文件进行对应访问,我看公司好像惯例将配置文件拆成了四部分,一个nginx.conf主配置文件(里面配置内容没看懂),主要是各项目http的通用内容
5)nginx.conf include一个servers.conf跟一个upstreams.conf。
services.conf主要是来监听域名访问的,当指定的server_name比如a.b.c到达,它会将a.b.c丢给对应的location_abc.conf来处理。
6)如果是前后端分离,当然就是html页面通过调用接口url来调用web,域名访问的首页,一般也就是前端提供的一个html首页面。而我们的html模块是放在nginx中作为静态资源来管理的。
一般来说,location_abc.conf会通过root指定对应静态资源的位置,以及index首页,还有访问错误的跳转页。
location_abc.conf还会设置location /a/ 指定/a的访问应该通过proxy_pass跳转到某一个域名aaa_home(一般/a请求用作接口调用)
7)域名aaa_home会在upstreams.conf中进行指定,通常是指定web服务aaa_home所在的ip与所占用的端口号,当访问到这一步时,web的调用就已完成了,web会再通过scallop去调用对应的service,service去调用对应的数据库
8)当然,这里今天遇到一个坑,防火墙的问题,通过aaa_home去访问一个部署在本机的web时,这个web的ip设置的是服务器的外网ip,相当于从外界对这个ip进行访问,好像是有防火墙的,需要在金山云的控制台绑定一下对应web的端口(关于防火墙的问题,还没太懂,以后有时间补一下)
9)有错误的地方以后再补充
评论