本文共 2604 字,大约阅读时间需要 8 分钟。
昨天把windows环境搭建好,今天尝试在正式环境下部署,用的是CentOS7.4系统。
一、服务器准备
因为之前的服务器都有用,所以专门去阿里云买了一个服务器用于搭建这个项目,经测试,1G内存centos7.4系统的实例即可顺利运行。
顺便帮阿里云做个广告,1G内存的ESC实例只要28一个月,比在本地折腾虚拟机省事多了!
(警告:zheng这个项目想要部署在正式环境,需要绑定域名,如果你之前没有进行过域名备案,第一次去备案花的时间可能需要20个工作日,这种情况下,建议购买海外服务器)
二、环境搭建
购买成功后,服务器就准备好了,连接到Linux 服务器需要SSH工具,我用的是 SecureCRT,
接下来在CentOS下把基础环境再搭建一遍:
SecureCRT下载地址参考:
1、JDK(安装步骤参考:)
2、Mysql(参考:) 3、Maven(暂时不用安装) 4、Redis(参考:) 5、Zookeeper(参考:) 6、ActiveMQ(参考:) 7、Nginx(参考:)
三、数据库和host设置
1 远程连接CentOS创建Mysql数据库,数据库名称:zheng,注意选择utf8编码,
参考:
2 导入project-datamodel文件夹下的zheng.sql,注意选择utf8编码
3 修改host为如下内容(原来项目的zhangshuzheng.cn应该改成你自己的域名,这里我改成了13000123.com)
127.0.0.1 ui.13000123.com 127.0.0.1 upms.13000123.com 127.0.0.1 cms.13000123.com 127.0.0.1 pay.13000123.com 127.0.0.1 ucenter.13000123.com 127.0.0.1 wechat.13000123.com 127.0.0.1 api.13000123.com 127.0.0.1 oss.13000123.com 127.0.0.1 config.13000123.com 127.0.0.1 zkserver 127.0.0.1 rdserver 127.0.0.1 dbserver 127.0.0.1 mqserver
四、运行项目
先把Zookeeper,ActiveMQ,Nginx等环境组件都运行起来,
再启动各个模块,以权限为例,
1 启动Service服务(zheng-upms-rpc-service)
1.1 找到zheng\zheng-upms\zheng-upms-rpc-service\target目录下打包好的zheng-upms-rpc-service-assembly.tar.gz文件,
上传到服务器上去,
SecureCRT上传文件请参考:
用mkdiv逐级创建目录 /home/zheng/service/zheng-upms-rpc-service
移动到该目录
cd /home/zheng/service/zheng-upms-rpc-service
执行rz上传zheng-upms-rpc-service-assembly.tar.gz
rz
解压zheng-upms-rpc-service-assembly.tar.gz
tar -zxvf zheng-upms-rpc-service-assembly.tar.gz
执行服务
cd zheng-upms-rpc-service/bin./start.sh
发现服务启动失败,查看相关日志找问题,日志在/home/zheng/service/zheng-upms-rpc-service/log/stdout.log
问题1:-bash: ./start.sh: /bin/bash^M: bad interpreter: No such file or directory
Linux和Windows的换行不同,用dos2unix工具转换
参考:
问题2:数据库连接失败
经过排查是密码不对,修改密码,再启动服务器,终于正常了,
打开dubbo管理后台查看服务,地址:
可以看到服务已经注册,状态是没有消费者,消费者需要网站项目部署上线才会注册
2 部署网站项目
zheng-upms模块的前端网站是zheng-upms-server,
一般用插件打包,也可用手动打包
手动打包,可参考:https://blog.csdn.net/lhp3000/article/details/78994010
插件打包,zheng项目已经帮我们配置了打包插件,找到zheng\zheng-upms\zheng-upms-server\target目录下打包好的zheng-upms-server.war包,传到服务器tomcat即可
遇到的问题:
问题1:国内的服务器需要域名备案
解决:换海外服务器,并做域名解析
问题2:Tomcat配置多域名绑定
解决:
问题3:访问失败又没有提示
解决:查看tomcat日志,在tomcat/logs目录
问题4:tomcat日志增长速度太快
解决:修改log4j.properties配置里的日志级别,开发环境的级别是info,正式环境可设置为error,
log4j.rootLogger=ERROR,stdout,log,errorlog
问题5:java.lang.IllegalStateException: No output folder
解决:给网站目录设置写权限
问题6:java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
解决:本地zheng项目是用jdk1.8编译的,然后不兼容,需要改为jdk1.7编译后重传,
问题7:修改项目端口后运行出错
官方给出的例子,默认后台地址是:我把它改为了,但是偶尔还是会跳回到找了好久后发现该地址在数据库里写死了
解决:修改upms_system表basepath字段(这里太坑了)
最后终于弄好了,网站的部署比服务麻烦太多了!
外网访问地址:
截图留念