JSON-RPC协议简介
最近在开发Limesurvey,其管理后台提供了Api接口,允许其他应用调用其接口。其是使用JSON-RPC接口协议。因此查询了相关资料。
json-rpc是基于json的跨语言远程调用协议,比xml-rpc、webservice等基于文本的协议传输数据格小;相对hessian、Java-rpc等二进制协议便于调试、实现、扩展,是非常优秀的一种远程调用协议。目前主流语言都已有json-rpc的实现框架,java语言中较好的json-rpc实现框架有jsonrpc4j、jpoxy、json-rpc。三者之中jsonrpc4j既可独立使用,又可与spring无缝集合,比较适合于基于spring的项目开发。
一、JSON-RPC协议描述json-rpc协议非常简单,发起远程调用时向服务端传输数据格式如下:
12{ "method": "sayHello", "params": ["Hello JSON-RPC"], "id": 1}
参数说明:
method: 调用的方 ...
Nodejs安装v8.7版本
下载网址:http://nodejs.cn/download/Github地址:https://github.com/nodejs/node
下载Linux编译好的文件此安装的是网友维护的版本
12345678910111213wget https://npm.taobao.org/mirrors/node/v8.7.0/node-v8.7.0-linux-x64.tar.gztar -xzvf node-v8.7.0-linux-x64.tar.gzmv node-v8.7.0-linux-x64 /usr/local/node# 建立node软连ln -s /usr/local/node/bin/node /usr/bin/node建立npm软连ln -s /usr/local/node/bin/npm /usr/bin/npm#测试node -vnpm -v
yum安装此是安装的v0.10版本,是官方版本
12curl --silent --location https://rpm.nodesource.com/setup | bash -yum -y install nod ...
开源学习系统汇总
公司需要搭建在线学习平台,查找相关资料,网络上有许许多多的在线学习平台,但想要选到适宜的却不是简单之事。本文罗列了8款最好的开源在线学习平台,基于这些平台提供强大的功能及安全的用户界面,从而帮助Web开发者大大提高工作效率。
eFront Learning
efront是一套功能齐全的在线学习管理系统,其拥有强大的功能,可创建、访问、评估、分析与协作,它能够让管理员利用其提供的各种工具来创建和管理课程。同时它还作为一个独立的平台,基于此你可以部署在自己的服务器上。
Moodle
Moodle是一个开源课程管理系统(CMS),也被称为学习管理系统(LMS)。它已成为深受世界各地教育工作者喜爱的一种为学生建立网上动态网站的工具。用户需要将其安装在Web服务器上,无论是在自己的电脑或网络托管公司。Moodle平台界面简单、精巧。使用者可以根据需要随时调整界面,增减内容。
官网地址:https://moodle.com
Github地址:https://github.com/moodle/moodle
Ilias
ILIAS是一套基于Web的学习管理系统。提供课程管理、邮件、即时对话、论坛、团 ...
mysql主从同步配置
主从服务器作用MySQL的主从同步是一个很成熟的架构,优点为:1.在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;2.在从主服务器进行备份,避免备份期间影响主服务器服务;3.当主服务器出现问题时,可以切换到从服务器。所以在项目部署和实施中经常会采用这种方案.
主从同步原理主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知 主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。
MySQL复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。因此,要进行复制,必须在主服务器上启用二进制日志。
每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存的更新,以便从服务器可以对其数据拷贝执行相同的更新。
从服务器设置为复制主服务器的数据后,它连接主服务器并等待更新过程。如果主服务器失败,或者从服务器失去与主服务器之间的连接,从服务器保持定期尝试连 接,直到它能够继续帧听更新。由–ma ...
LiveSurvey投票系统集成Ldap
最新年底,公司需要做一个投票系统,查询到了开源的投票系统LiveSurvey。投票用户限定为全公司用户。了解到支持ldap,结合ldap,导入了公司所有用户。
参考资料LimeSurvey官方手册
官方手册关于ldap设置
LimeSurvey源代码https://github.com/LimeSurvey/LimeSurvey
配置ldap123456789101112131415161718// 1.开启ldap// application/config/config-defaults.php$config['enableLdap'] = true;// 2.修改配置文件//application/config/ldap.php$serverId=0;$ldap_server[$serverId]['server'] = "www.pangxieke.com";$ldap_server[$serverId]['port'] = "389& ...
LimeSurvey中文操作指引
LimeSurvey是一个开源的投票系统,使用Yii1开发,功能十分强大,能够方便的自定义一个投票网址。
后台配置后台页面
后台设置能够自定义:站点名称,时差,Email等
setting | 全局设置 | 常规1. 站点名称:螃蟹投票2. 时差:8,3. 导入,导出字符集:utf-8
setting | 全局设置 | 邮件设置1. 默认站点管理员邮件:2. 管理员名字3. Email方法:SMTP4. SMTP主机:mail.pangxieke.com:1105. SMTP用户名称:pangxieke@126.com6. SMTP密码:******
setting | 全局设置 | 语言1. 默认站点语言:简体中文
用户 | 管理员1. 添加用户2. 添加用户组
创建调查问卷先创建问卷,再添加问题组,在问题组中创建调查问题。问题再创建选项等。
1. 先创建调查问卷
调查问卷可以设置很多自定义选项。
2.创建调查问题组
3 ...
Nginx下安装redmine
Redmine是一个不错的项目管理工具,是用RUBY开发的基于WEB的项目管理软件,提供项目管理、WIKI、新闻台等功能,集成版本管理系统GIT、SVN、CVS等等。通过WEB 形式把成员、任务、文档、讨论以及各种形式的资源组织在一起,推动项目的进度。
以前在Window下安装过,现在在Linux上安装使用。
Window下可一键安装,参考本站一键安装Redmine
1.安装ruby环境,Redmine是基于Ruby on rails开发的123456789\curl -L https://get.rvm.io | bashsource /etc/profile.d/rvm.sh#查询版本rvm list known#可以看到有很多版本,这里安装2.2版本rvm install 2.2#查看ruby -v
2.安装rails12345gem install rails#(可能会遇到墙,如果遇到墙就换成淘宝源http://ruby.taobao.org/)#查看版本rails -v
3.下载redmine官网 http://www.redmine.org/
123wget http: ...
PHP7安装memcache.so及zend_new_interned_string错误
PHP7最显著的变化就是性能的极大提升,Memcache是高性能、分配的内存对象缓存系统,可以加速动态web应用程序,减轻数据库负载。
undefined symbol: zend_new_interned_string 错误以前项目使用过memcache,最近php环境有5.4升级到php7。运行项目时出错,提示错误信息如下:
1Class 'Memcache' not found
原因:需要memcache扩展。
于是编译安装扩展。phpinfo检查memcached扩展已经安装。但访问项目,仍然报错。
原因:memcached扩展和memcache扩展不同,php有2个扩展,一个字母的差别。我安装的是memcached.so。memcache是旧扩展,memcached是基于原生的c的libmemcached的扩展,更加完善
于是重新php7编译安装memcache,启动时提示:
12NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '/us ...
centos7下yum安装mysql
最近安装了Centos7,需要重装LNMP环境,使用yum安装是最快捷的方式,CentOS7需要先下载mysql的repo源。
下载mysql的repo源1234wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm#安装mysql-community-release-el7-5.noarch.rpm包sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
安装mysql1sudo yum install mysql-server
根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。
12# 登录mysqlmysql -u root
登录时有可能报这样的错:ERR ...
centos下php升级php7
WordPress项目中,PHP7对比PHP5.6,QPS提升2.77倍
php7已经出了一年多了,本地window版本已经体验过很久了。但是服务器上还是使用的php4.5版本。最近用了点时间,将线上生产环境其升级为php7了。
卸载PHP安装包123yum list installed | grep php #检查当前安装的PHP包yum remove php* php-common #卸载历史安装包
安装源12345678 #Centos 5.Xrpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm #CentOs 6.xrpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm #CentOs 7.Xrpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpmrpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
如果想 ...