眼科医院-实施问题汇总
实施初期,只是让系统运行起来了,关于细节问题,在后期的测试中不断暴露出来
1.关于图片上传问题
现场最初的测试,巡检和维修图片,只要是手机拍的图片都不能上传,只能上传截图或者保存的图片,也就是内存小的图片,查了好多资料,也看了代码,对这块并没有限制,但不知道为什么就是上传不上去,奇怪的是医废的现场图片也是手机拍照的可以上传。后来在解决web图片显示问题时,这个问题突然就找到原因了,原来是nginx的配置中没有加client_max_body_size 1024M;造成的,加上之后所有的图片都可以上传了。
2.关于图片显示问题
项目和nginx不在一台服务器上,图片访问不到,这个问题困扰了我很长时间,项目和nginx在一台服务器上,图片可以正常显示。但是不在一台服务器上,图片又存在了项目那台服务器上,就需要在Tomcat的配置文件server.xml中添加一下代码:<Context docBase=”/upload” path=”/upload”> 因为文件不在tomcat目录下,需要指定文件存放的路径和访问的路径:
docBase 是文件上传文件存放路径,path是文件访问路径
3.apk扫码下载失败问题
查了很多资料,最开始将apk放在nginx所在服务器的根目录下,即/home/apk中,在web的配置文件中添加apk的存放位置和访问的URL,同时nginx配置中也配置了访问的路径和地址,但是扫码报404。
同样尝试像配置图片一样,修改了存放位置和访问的URL为upload,将apk放在web服务器下的upload中,通过nginx放问apk时转发到另一台服务器上,理论上应该是可以下载了,但是仍不能下载,还是404。按网上说的,改Tomcat的web和server配置文件,各种办法都尝试了仍访问不到。
后来在本地测试的,将apk放在E://Tools目录下,并在server.xml中添加<Context docBase=”E://Tools” path=”/download”>,重启后还是不能下载,打开server.xml发现刚添加的那行代码在Tomcat重启后不见了,后来将这行代码放在dev-web的上面一行,再重启居然成功啦!
然后,在服务器上Nginx配置apk下载路径,和图片一样,如果在nginx这台服务器上找不到,就去项目那台服务器查找,再在Tomcat的配置文件server.xml中添加一下代码:<Context docBase=”/home/apk” path=”/home”>项目中配置文件apk的下载地址仍是nginx服务器的地址,路径为图片存放路径。再重启项目和nginx,便可以下载啦!
4、关于修改数据库密码后,无法登录mysql和登录后少数据库问题
修改mysql数据库密码后,无法登录和登录后缺少数据库问题,这两个问题其实是用一类问题,无法登录是在3这台服务器上遇到的问题,更改数据库密码后,重启数据库,再次登录输入新修改的密码,报1045的错,密码是对的,但怎么都登不上,网上说的办法都试了,但还是登不上,后来想着可能就是和之前登录少数据库问题一样,权限变了,用超级管理员权限进去看了一下,果真是改完之后的localhost权限全变了,改过来之后重启就好了。
修改mysql数据库密码后,登录进去只有两个数据库,因为root用户没有权限了,需要赋予其权限,执行了以下语句:
update user set select_priv='Y',Insert_priv='Y',Update_priv='Y',Delete_priv='Y',Create_priv='Y',Drop_priv='Y',Reload_priv='Y',File_priv='Y',Grant_priv='Y',References_priv='Y',Index_priv='Y',Alter_priv='Y',Show_db_priv='Y',Super_priv='Y',Create_tmp_table_priv='Y',Lock_tables_priv='Y',Execute_priv='Y',Repl_slave_priv='Y',Repl_client_priv='Y',Create_view_priv='Y',Show_view_priv='Y',Create_routine_priv='Y',Alter_routine_priv='Y',Create_user_priv='Y',Event_priv='Y',Trigger_priv='Y',Create_tablespace_priv='Y' WHERE user='root';
刷新权限 flush privileges;
退出,重启mysql,再次登录,之前的数据仍在。
5.修改mysql的默认端口3306
这个比较简单,没有花费什么时间,在mysql配置文件中添加或修改port,第一次只在client中添加了port=8686,重启mysql不生效,需要在[mysqld]中也添加port=8686 重启才生效
6.关于外网访问问题
外网开通后,直接在地址栏中输入访问地址,可以进入到登录页,但是输入用户名和密码后,项目就访问不到了,仔细一看,发现端口自动丢失了,再加上端口,可以正常访问系统。查了很多资料,都说直接在nginx中配置$host就可以,这个按网上说的那样配置了以后,仍然访问不到,配置文件改了又改,按一中心的配置文件配置的也不行,最后,还是经理找到了问题的根源,直接把配置文件的端口写死了,这下外网访问就不会跳转了。
7、关于极光消息接收不到问题
极光消息在Windows本地和156服务器上巡检任务和维修任务都可以收到消息,但是在眼科现场服务器上消息一个都收不到,最初的判断是眼科这边没有外网的原因,但后来nginx那台服务器开了外网,并且可以ping通外网ip,ping域名就ping不通了,按理说开通了外网,巡检任务应该就可以收到极光消息了,因为巡检任务走的是采集层,采集层在nginx这台服务器上,但是仍然没有消息,后来发现,极光消息采集层的key和web的key不一致,修改了之后,重新部署,仍然没有消息,网上说的解决办法修改hosts文件都试了,仍然没有效果,最后修改系统配置文件ifcfg-eth服务器对应的配置文件中DNS,和resolv.conf对应上,在重启网卡测试,巡检任务收到啦!而且域名可以ping通。关于维修任务还是没能收到消息,极光消息没有从后台推送到极光平台,是因为网络不通,维修任务走的是后台,由web直接发送消息给极光平台,web所在的服务器没有外网,所以不能发送极光消息,需要开通外网访问。
8、关于医废条码打印,详见SVN医废打印操作步骤
医废打印操作步骤
修改tblmarkbantchInfocontroller表中连接服务器打印机的ip地址(即设置打印机ip地址)
建议配置大配置文件里
1、打开打印机,将手机WiFi打开,连接打印机,此打印机WiFi是@MG ,输入密码(8个7)连接,点击此WiFi自动进入打印机设置页,点击修改ip
Ip设置好后,打印机转换器插入网线,USB连接线
2、将打印机安装到服务器上,服务器上需要安装cups并启动,在/etc/cups/cupsd.conf中设置cups的配置信息,
将Listen localhost:631改为Listen 0.0.0.0:631,修改location下的配置信息
配置好,重启cups,service cup srestart
在浏览器中访问ip+端口(如:10.10.140.4:631)出现这个页面
点击Printer中的add printer
配置好以后,打开电脑中的控制面板,点击设备和打印机。如果没有打印机驱动,需要点击右上角添加打印机
选择对应的打印机,点击右键,选择打印首选项,进行打印浓度和宽高设置,设置完,点击
应用,确定。
没设置前:
然后回到打印机页面,点击打印机右键,点击打印机属性,点击打印测试页(注:新更改的设置信息,需要打印测试页,才能使设置的信息存储到打印机中)
测试成功后,后台标签管理中打印条码即可:
现在是每个码打印两个,眼科需要设置成每个码只打印一个,需要修改代码TblMarkBantchInfoController.java再次打印,就是单码了。
9、关于数据库备份
项目真正运行后,数据库是很重要的一个环节,如果出现服务器瘫痪,可以及时恢复备份数据,保证现场正常使用,虽然可能会有部分数据丢失,但不影响正常的使用。做数据库备份要事先规划好备份文件存放位置和多久备份一次,以及恢复数据的时间。
《详情参考数据库备份》
最开始删除和创建数据库的命令和将备份文件导入到mysql中的路径,我写的都不是绝对路径,执行文件时报没有sql.gz文件的错,这个路径需要根据安装mysql的位置来定,写成绝对路径后,又报数据库名称的错误,这个改了很多很多遍,用不用变量都不行,最后在末尾加了个;号居然成了,一中心文件中没有;号是可以执行的,不知道这个为什么就必须得加上才能执行;删除和新建数据库改成绝对路径后,仍然不行,无法执行这两步操作,将用户名和密码改成写死的,不是变量就可以正常删除和创建数据库了。
总的来说,感触最大的还是遇到问题,要根据现状先定位是什么原因造成的,才好有针对性的去解决。因为不同的环境,解决的办法也不同。特别感谢遇到问题时,团队给我的帮助,对我一次次不厌其烦的问题,始终耐心的解答
网友评论