分类分类
大小:6.15 MB 更新:2019/10/30
类别:网络编程系统:WinXP, Win7, Win8, Win10, WinAll
ZrLog是一款最好用的开源Java博客程序之一,此系统主要采用了最流行的Java作为编辑框架,具有界面简约,使用方便,所有功能模块全部组件化,占用内存非常低等特色;在程序中,系统内置了一个强大的Markdown编辑器,有了它,用户可以把更多的时间花在写作上;该程序旨在希望记录用户一生人生琐事,当自己有空闲时间的时候可以通过Zrlog回味自己人生经历;知识的载体原本是书,但是当今社会没有多少人会去读书,互联网的诞生,让人类获取知识的途径变得更加丰富;所有该程序就因此而衍生;强大又实用,需要的用户可以下载体验
1、提供日志,分类,标签,评论的管理
2、支持插件模式 如何编写一个zrlog插件 http://blog.zrlog.com/post/zrlog-plugin-dev
3、高度可定制的主题功能
4、支持第三方评论插件
5、提供 editormd 主流的富文本编辑器,基本上满足了管理员的编辑需求
6、缓存公共数据,访问速度更快
7、支持页面静态化,默认主题添加标题设置
8、支持扩展第三方云存储(默认七牛)
9、支持数据库定时备份,优化主题管理界面
1、文章,分类别名支持中文
2、更新管理界面添加手动检测按钮
3、增强了主题开发(引入dev.jsp可以快速浏览存放在request域的数据,便于模板页面读取的渲染)
4、https的支持,需要在nginx.conf文件的http块里面添加 `proxy_set_header X-Forwarded-Protocol $scheme;
5、在网站设置里添加对会话过期时间的控制
6、改进了插件功能,使用vue.js客户端渲染替换原有使用freemarker服务端渲染
7、备份插件支持window系统
8、增加新的畅言评论框
9、开源协议由GPLv2变更到Apache
zrlog对一些不太懂网站程序安装的人提供了安装引导。但是安装整个安装过程也不是想象的那么的流畅,针对这种问题,于是就有了下面这个比较完善的文档
部署环境前提
1.jre 版本 >= 1.8
2.tomcat 版本 >=8,jetty >= 8
3.mysql
一直用tomcat作为开发的webServer,在jetty下面可以正常运行(bae提供),其他的webServer欢迎大家进行尝试
Java 这里分两种情况,JDK,JRE。如果不在服务运行 javac 这样的命令建议直接安装 jre 就可以了。
如何不了解如何安装JDK/JRE,mysql,tomcat 可以浏览下面的文档
Windows文档
mysql
解压完后,运行其中的 .exe 文件,一直按照步骤走完安装流程就可以了
这里注意下,选择下编码 UTF-8 *
Java
windows
通过oralce 下载自己合适的版本
运行 .exe 文件一直走完安装流程。
配置环境变量
控制面板控\制面板项\系统\高级设置
开始搭建java的环境变量了额,选择新建一个命名为 JAVA_HOME 在变量值的那一行中填写C:\Program Files\Java\jdk1.6.0_43。
看看有没有Path这个,如果没有的话就新建一个吧 有的话。 千万不要把它给删除了额。 删除的话 会导致其实东不能用的额 比如系统的东西可能会存在不能访问额。 在变量值中的前填写 自己的JDK的路径 C:\Program Files\Java\jdk1.6.0_43\bin; 或者是 %JAVA_HOME%\bin; 这里%时说的这里的面的东西时变量 而不是单纯的路径额
查看是否电脑中友java环境的话 进入dos(win+R)框输入 java (这里必有一个空格额) -version 如果出现了 这样的图就可以说明OK了
Linux安装
mysql
RedHat/CentOS
yum -y install mysql-server
Debian/Ubuntu
sudo apt-get -y install mysql-server
Java
介于Linux下面安装方式较多就说一个自己在用的
通过oralce 下载自己合适的版本
解压 .tar.gz 文件
tar -xvf jdk-*.tar.gz
在 .basrhc 文件最后面追加
vim .basrhc
export JAVA_HOME=/home/xiaochun/dev/jdk1.8.0_45(填写自己对应的路径)export PATH=$JAVA_HOME/bin:$PATH
source .basrhc 刷新下,然后用 java -version 接可以了
注:程序并不会自动创建对应的数据,安装前需要手动创建数据库
创建用户以及数据库,下面的SQL语句为 创建一个 zrlog_test 的数据库,创建一个 zrlog_test用户 登录密码为 123456可以完全访问 zrlog_test 这个数据库
create database zrlog_test;CREATE USER 'zrlog_test'@'%' IDENTIFIED BY '123456';use mysql;GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE, TRIGGER ON `zrlog\_test`.* TO 'zrlog_test'@'%';
强烈推荐将Zrlog部署bae环境
如何在BAE运行Zrlog博客程序
准备工作完成
快速开始
如果你正好用的也是Linux的系统,那么这行命令可以让你更快的运行 ZrLog(前提是你已经完成了JDK的安装)
curl -s https://www.zrlog.com/install/release.sh | bash,安装完成后,停止当然运行的 tomcat,然后进入 tomcat 的目录,使用 sh bin/catalina.sh start 后台运行 Tomcat,就可以宣告安装完成了
下载最新的war包,同时可以通过下载最新的源码自己通过maven构建war包。
由于网络到处都是采集的,难免源码被人篡改,推荐使用 http://dl.zrlog.com/release/zrlog.war 这个地址下载
将.war放到tomcat的webapps目录里面。如果tomcat里面不存在其他的程序,将zrlog.war改为ROOT.war,可以避免输入二级目录zrlog
启动 tomcat 查看控制是否有错误信息输出,若没有可以访问 http://host:port/zrlog/instll 开始使用向导安装
上面如果第一步无法通过的话,检查mysql数据库信息是否正确
在输入管理密码的时候,请认真输入(输入2次密码有过了)
注意
使用Nginx这类代理软件,需要额外修改将代理前的Host给Tomcat容器(默认会被转化为127.0.0.1:8080这类地址)
Nginx 添加 proxy_set_header Host $host 到对应server配置项,或则是在http模块里面
Window 系统页面乱码
由于程序默认的编码为 UTF-8,而有的系统是GBK的,所以需要手动配置编码,需要添加一个环境变量
JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8
插件(Plugin),在很多系统中都会有这样的关键字,或许这样会让个系统不是简单CRUD操作。特别是 wordpress, emlog 这样的cms。或许Java本身的特点(企业应用开发,不需要太多灵活的东西)。做起插件这种东西来并不是那么容易。网上找相关的实现更是少的可怜。Java在cms这方面并没有像dz,phpwind,wordpress,织梦等 这么受广大站长欢迎的程序。
想法
Java本生特点
Java运行的是需要将.java文件编译为.class文件。所有就有了一些说法是.class 是伪机器码,这样就会失去了一些灵活性,不让像php这些语言可以马上的看到变更后效果。而对应插件来言这样种效果有显得格外的重要了。比如绑定了一个 /admin/plugin/first 的路由。php 可以轻松的关闭这个路由,而Java呢?首先在tomcat这类容器启动的时候就已经把路由加载完了。想再去通过程序去控制路由会变得相当的复杂。
J2ME
或许第一款手机不是android,苹果喜欢玩手机的朋友都或多或少都知道这个名词吧,影响比较深的是想在一个软件中启动另外一个软件是多么困难,而插件呢?当时记得用过最多的浏览器是UC(感觉就是比默认的浏览器好看很多),而当时的UC也只是有一个主题中心的东西。反而是mrp做到了(参见冒泡的应用中心)。
Eclipse & OSGi
Eclipse 这个词或许对于Javaer都不陌生,甚至有些的C/C++的程序员都在使用。Eclipse就是一个Java中做插件做的比较牛逼的。有人说MyEclipse就是装了一大堆插件Eclipse。然而Eclipse 这样强大的插件模式对 OSGi 的一种实现
OSGi (Open Service Gateway Initiative)技术是Java动态化模块化系统的一系列规范,由于这种东西并不几句化就可以说通的。目前我理解到的OSGi还只是局限与将一段的代码打包到一个 war,jar,ear 中。对这方面很感兴趣的可以看下 《Java应用架构设计 - 模块化模式与OSGi》 这本书。
既然不容易的实现,还要实现?答案当然肯定的,不然就不会有下面这些内容了。
实现
既然对OSGi的理解还仅仅的局限打包,那么估计要让一个初学者也体会到OSGi的强大会更加的困难。这样并不利于一个需要快速开发的插件。结合自己对OSGi已有的理解倒腾出zrlog插件的第二版本。
细节
jar & war
将项目打jar而不是war包。war自己能控制太少了,而却这个还完完全全的的运行在web容器中。于是使用 jar的方式。
插件核心服务
Socket
插件集中化管理,这里插件与核心服务通信使用TCP长连接做消息通知。这里plugin-core将会占用2个端口,一个用于处理zrlog发起的Http请求。另个用于管理插件和通知插件,以及中转服务。
当然大多时候插件不用关心TCP连接的创建和销毁,可以理解为J2EE中的web容器,编写对应路由代码就可以了。
命名空间
nampspace,插件的唯一标示,及在 plugin.properties 里面 shortName 这个key对应的value。不要使用中文,中文有时候会带来无故的编码问题,比如 shortName 的值是 first 那么 /admin/plugin/first/* 就会路由给这个插件,当然可以通过 path 将有的路由公开。这样 /p/first/* /plugin/first/* 的请求也将路由给这个插件
静态资源和页面渲染
页面渲染目前提供了Freemarker,Jtwig。后期将会支持 beetl。关于静态资源的判定是根据请求中包含 .将会被标示一个文件,这个只需要将文件放到对应目录下面就可以了。
插件安全
由于在插件核心绑定了TCP端口,程序将绑定的端口绑定的网卡设置为 127.0.0.1 不通过代理工具公开这些端口是不可能在外网访问到的,当然每次创建的端口都是随机的(一个服务器可以运行多个博客程序)。对于没有通过 path 单独添加的路径,都检查是否登录。
关于权限
插件调用level不为0的请求将会获取用户同意后才进行处理(未完成),及0为基础权限。需要更多交互需要扩充这些枚举,在plugin-core编写对应的方法参才可以
内存使用
由于每个插件都是单独启动的JVM,如果不对使用内存量进行控制,很容易在系统资源将耗尽的时候程序被关闭。于是jar文件在被加载时通过启动参数 -xmx16m -xms4m 进行限制,及单个插件能最多使用16m的内存
开发环境&运行环境
为了方便开发,于是多提供了一个开发环境,这个环境的值是有INIT_CONNET完成后确定的,环境状态控制通过 plugin-core 控制。当部分情况与运行环境有差异的时候通过这个参数进行判定。
日志&控制台
程序所有输出将会在plugin-core进行输出,方便开发,日志工具选择自己经常使用的就可了。当然也可以使用 LoggerUtil 进行记录。
打包
推荐使用Maven构建项目,这样就方便打包为 jar 文件。
mvn 打包命令
软件注册保护(winlicense) 网络编程42.26 MBv2.4.5 绿色中文版
详情Website 2 APK Builder Pro(网站转Android应用) 网络编程23.85 MBv4.0
详情securefx8.0中文 网络编程56.40 MB附带安装教程
详情Altova XMSpy 2006 企业汉化 网络编程27.00 MB
详情OpenSSL(传输层安全性与安全套接字层协议工具) 网络编程138.95 MBv1.2.1 免费版
详情php云人才系统(phpyun) 网络编程10.92 MBv4.0 官方正式版
详情FlowStudio 网络编程20.99 MBv2017 汉化绿色版
详情ZrLog 网络编程6.15 MBv1.7.0 官方版
详情JetBrains CLion(C/C++开发工具) 网络编程315.0 MBv2019.1.2 免费版
详情ApiPost(接口调试与文档生成工具) 网络编程112.0 MBv2.5.6 官方版
详情FilterLab(低通滤波器设计软件) 网络编程6.84 MBv2.0 免费版
详情PHP编辑器 CodeLobster PHP Edition 5.11 中文绿色版 网络编程26.00 MB
详情WampServer 轻松搭建WAMP Web服务器环境 网络编程60.00 MB
详情PHP5开发环境集成包 phpStudy 1.7.0 网络编程9.00 MB
详情JCreator LE 4.00.028 网络编程3.00 MB
详情securefx8.0中文 网络编程56.40 MB附带安装教程
详情FlowStudio 网络编程20.99 MBv2017 汉化绿色版
详情WampServer 轻松搭建WAMP Web服务器环境 网络编程60.00 MB
详情软件注册保护(winlicense) 网络编程42.26 MBv2.4.5 绿色中文版
详情Website 2 APK Builder Pro(网站转Android应用) 网络编程23.85 MBv4.0
详情php云人才系统(phpyun) 网络编程10.92 MBv4.0 官方正式版
详情FilterLab(低通滤波器设计软件) 网络编程6.84 MBv2.0 免费版
详情PHP编辑器 CodeLobster PHP Edition 5.11 中文绿色版 网络编程26.00 MB
详情Altova XMSpy 2006 企业汉化 网络编程27.00 MB
详情JetBrains CLion(C/C++开发工具) 网络编程315.0 MBv2019.1.2 免费版
详情PHP5开发环境集成包 phpStudy 1.7.0 网络编程9.00 MB
详情ZrLog 网络编程6.15 MBv1.7.0 官方版
详情JCreator LE 4.00.028 网络编程3.00 MB
详情ApiPost(接口调试与文档生成工具) 网络编程112.0 MBv2.5.6 官方版
详情OpenSSL(传输层安全性与安全套接字层协议工具) 网络编程138.95 MBv1.2.1 免费版
详情Altova XMSpy 2006 企业汉化 网络编程27.00 MB
详情JCreator LE 4.00.028 网络编程3.00 MB
详情PHP5开发环境集成包 phpStudy 1.7.0 网络编程9.00 MB
详情WampServer 轻松搭建WAMP Web服务器环境 网络编程60.00 MB
详情PHP编辑器 CodeLobster PHP Edition 5.11 中文绿色版 网络编程26.00 MB
详情FilterLab(低通滤波器设计软件) 网络编程6.84 MBv2.0 免费版
详情securefx8.0中文 网络编程56.40 MB附带安装教程
详情JetBrains CLion(C/C++开发工具) 网络编程315.0 MBv2019.1.2 免费版
详情ApiPost(接口调试与文档生成工具) 网络编程112.0 MBv2.5.6 官方版
详情ZrLog 网络编程6.15 MBv1.7.0 官方版
详情