常见问题汇总
这里汇集下大家遇到的常见问题
IE浏览器要求
- 建议使用IE10以上的浏览器
Java 版本
2018 年了,jdk10 都发布了,很多 jar (mysql8) 包都不支持 java7 了,所以目前要求的版本是 java8 及以上
数据库要求
目前使用数据库为mysql
对版本没有太大的要求 5.6+ 就可以了,较老的版本已经不支持了
运行环境需要多大的内存
程序使用的内存并不需要太大,主要和使用的WebServer有关,推荐是512M(包含 mysql 服务)就够用了,比如在bae提供的256M内存,也可以正常跑起来,不过现在一般国内云服务厂商都取消512M的内存机器
程序编码
按照国际惯例程序和数据库都用 UTF-8 编码,后台管理首页有程序的编码信息,若非 UTF-8 编码可以通过配置环境变量的方式统一编码 JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8
如何添加环境变量?
环境变量是一种很常见的系统和各个程序约定配置的方式,比如最最常见的就是 PATH 这个环境变量,这个环境变量主要用户系统在寻找某个程序时更加便捷,比如只用在终端里面输入 java 就可以了,而不是完整的 /usr/jvm/xx/bin/java 这样的路径,
如何配置这个环境变量?
- unix
可以配置地方较多,通常都是通过命令行就能完成
#编辑 /etc/profile 或者是 ~/.bash_profile 又或者是 ~/.bashrc
#在文件文件的行未,添加一行新的
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8
然后 source ~/.bash_profile (对应的修改的文件),然后在命令行输入 env 或者是 $JAVA_TOOL_OPTIONS 能看到对应的功能就表示配置成功了
- windows
使用图形化的界面配置较多,和配置 JAVA_HOME 一样的步骤就行了
注意:配置完成后需要重新启动 jvm,才会生效
开发工具的选择
由于使用的是Mavne构建的项目,eclipse/myeclipse 直接使用 maven 的方式导入就可以了, idea 导入项目选择 选中 pom.xml 文件,鼠标右键 Add as mavne project
就可以了
开发环境如何运行
- 直接通过内嵌入 tomcat 的方式进行启动,找到
com.zrlog.web.Application
通过这个main()
进行启动 - 通过 Maven 命令的方式进行启动(不依赖任何 IDE)
- Windows 使用
bin\mvn-tomcat-run.cmd
- Unix 使用
sh bin/mvn-tomcat-run.sh
- Windows 使用
- 配置 server 的方式与其它web项目一致(不建议使用,上面的方式出问题的可能性更小)
应该选择JDK还是JRE
没有要求,不过还是建议直接上JDK。方便追踪问题
插件实现方式
直接浏览这篇文章 如何编写一个zrlog插件
是该选择提供的war包还是自己打包
如果不嫌弃每次打包繁琐,可以自己代码变更(注意自己添加build.properties文件)后,构建上传到服务器。如果觉得功能够用了,选择.war是个不错的决定。改了代码后也可以提交 pull request 的。这样就避免后面的代码冲突问题了
通过 git clone 或则是下载 zrlog-master.zip 直接可用
为了方便有开发能力的人第一时间看到效果,src/main/webapp/WEB-INF/db.properties,这里提供了一个默认可以用的数据地址。如果需要使用自己的数据库,需要先删除 src/main/webapp/WEB-INF/install.lock 这个文件,然后再次访问 http://localhost:8080/zrlog 完成安装流程后,就可以使用自己的数据库。
提供war包和源码有什么区别
通常对外提供的war包都是相对比较稳定的版本打包生成的,用于初始安装或则是版本更新用的,war里面 WEB-INF/classes/ 目录下有一个 build.properties 文件,这个文件是打包过程添加进入的。目的在于区分环境用。而git仓库里面是没有这个文件的。所以 git 是只有开发环境的。自己构建.war包,请在 src/main/java 下面添加 build.properties 类似这样
version=1.6.4
runMode=preview
buildId=18e66cd
buildTime=2017-03-29 22:15:45+08:00
那里下载最新的war包
会将最新最稳定的放在这里 http://dl.zrlog.com/release/zrlog.war
nginx代理后静态文件找不到的问题
需要额外修改将代理前的Host给Tomcat容器(默认会被转化为127.0.0.1:8080这类地址)
Nginx 添加 proxy_set_header Host $host 到对应server配置项,或则是在http模块里面。
开启 HTTPS
如果程序运行在 Nginx/Apache 这里代理程序后面,需要额外添加一个 http header 传给使用的 web 容器,如 Nginx 需要添加
proxy_set_header X-Forwarded-Proto $scheme;
迁移数据
备份
需要先导出原来数据库的表结构和数据,可以试试提供的备份插件的导出备份文件的功能,在新的环境创建对应的数据库和账号密码
还原
使用默认的工具就可以了 mysql -uzrlog_dev -p < backup.sql
修改配置
数据库信息存在 WEB-INF/db.properties 这个文件里面的,改 jdbcUrl 里面的 host,如果有其他信息改了,也要跟着改,最后重启webserver就可以了
如果这里没有找到答案可以进行反馈 https://blog.zrlog.com/post/feedback
Reproduced please indicate the author and the source, and error a link to this page.
text link:
/post/faq-collect.html
