调整文档,增加系统部署手册<draft>
diff --git a/_config.yml b/_config.yml
index 228c4ba..e2f394d 100644
--- a/_config.yml
+++ b/_config.yml
@@ -39,7 +39,7 @@
future: true
highlight:
enable: true
- line_number: true
+ line_number: false
auto_detect: false
tab_replace:
diff --git "a/source/_draft/\344\270\200\345\215\241\351\200\232v5\347\263\273\347\273\237\345\256\211\350\243\205\351\203\250\347\275\262\346\211\213\345\206\214.md" "b/source/_draft/\344\270\200\345\215\241\351\200\232v5\347\263\273\347\273\237\345\256\211\350\243\205\351\203\250\347\275\262\346\211\213\345\206\214.md"
new file mode 100644
index 0000000..7d50c77
--- /dev/null
+++ "b/source/_draft/\344\270\200\345\215\241\351\200\232v5\347\263\273\347\273\237\345\256\211\350\243\205\351\203\250\347\275\262\346\211\213\345\206\214.md"
@@ -0,0 +1,349 @@
+---
+title: 一卡通v5系统安装部署手册
+date: 2016-06-22 11:27:47
+tags:
+---
+文件修改控制
+
+| 修改日期 | 版本 | 修改内容 | 修改人 |
+|----------|-------|--------|--------|
+| 2015-10-06| v1.0 | 建立 | 夏凯祥 |
+| 2016-06-22| v1.1 | 增加服务环境配置要求等内容 | 汤成 |
+
+## 部署环境
+* **系统拓扑图**
+
+
+* **数据库**
+数据库包括一卡通核心交易数据库(Oracle 11g)和缓存服务数据库(Redis)。交易数据库安装配置有专门DBA负责;缓存数据库由实施工程师负责安装配置,缓存服务器要求 4核CPU,8G 内存,500G 硬盘,一块千兆网卡。
+
+* **应用服务器**
+应用服务器提供一卡通服务门户、一卡通管理平台业务功能。一般需要部署两台服务器作为应用集群。服务器要求 4核CPU,8G 内存,200G硬盘,一块千兆网卡。操作系统为 [`CentOS 7`](http://www.centos.org) 或 [`OracleLinux 7`](https://www.oracle.com/linux/index.html) 64 位。
+
+* **API 服务器**
+API 服务器提供一卡通平台业务服务API,提供给包括设备前置、第三方应用前置、支付宝微信等充值服务前置接入的 API 服务。至少部署两台服务器作为应用集群,现场需要根据实际负载情况考虑增加 API 服务器数量。服务器要求 4核CPU,8G 内存,200G硬盘,一块千兆网卡。操作系统为 `CentOS 7` 或 `OracleLinux 7` 64 位。
+
+* **nginx 代理服务器**
+nginx 代理服务器提供了对应用服务、API服务的反向代理服务。从安全性的要求,需要提供一卡通外网访问地址,并且服务器需要启用 HTTPS 安全访问方式。推荐使用学校申请的 HTTPS 安全证书,如果环境不具备可以选择自行颁发不受信证书。
+
+ 服务器要求 2核CPU,4G 内存,200G硬盘,两块千兆网卡。操作系统为 `CentOS 7` 或 `OracleLinux 7` 64 位。
+
+ nginx 服务必须提供容错和负载功能,有两种部署方案:
+ * CDN 域名解析
+ * LVS + Keepalived 容错服务
+
+
+
+* **各种前置服务**
+前置服务包括消费前置、门禁前置、微信支付宝充值服务前置、圈存前置等等。前置服务需要根据现场使用情况进行配置,无特殊要求下,前置服务器配置:2核CPU,4G 内存,200G硬盘,一块千兆网卡,操作系统为 `CentOS 7` 或 `OracleLinux 7` 64 位。
+
+ `消费前置`- 消费前置可以部署两台实现容错。消费网关可以配置连接两台消费前置,网关会自动判断请求正常的消费前置。
+
+## 安装说明
+
+### Redis 服务安装配置
+redis 服务可以通过 yum 快捷安装:
+
+~~~bash
+$ yum install -y redis
+$ systemctl enable redis.service
+$ vi /etc/redis.conf # 修改 redis 配置
+$ systemctl start redis.service
+$ systemctl status redis.service # 检查服务状态
+● redis.service - SYSV: Starts and stops the redis daemon.
+ Loaded: loaded (/etc/rc.d/init.d/redis)
+ Active: active (running) since 三 2016-06-22 14:31:02 CST; 15s ago
+ Docs: man:systemd-sysv-generator(8)
+ Process: 31203 ExecStop=/etc/rc.d/init.d/redis stop (code=exited, status=0/SUCCESS)
+ Process: 31205 ExecStart=/etc/rc.d/init.d/redis start (code=exited, status=0/SUCCESS)
+ CGroup: /system.slice/redis.service
+ ├─30562 /usr/bin/redis-server 127.0.0.1:6379
+ └─31059 /usr/bin/redis-server 172.28.201.101:6379
+$ redis-cli ping # 验证服务是否正常,正常情况下会响应 PONG
+PONG
+~~~
+
+redis 配置内容如下:
+
+~~~bash
+bind: host_ip # host_ip 是服务器一卡通专网 IP
+maxmemory: 4G # 最大内存 4G
+~~~
+
+### 应用服务/API 服务安装配置
+应用服务/API服务(以下简称服务)都是采用 Java 平台部署,需要先安装 `JDK 7` 环境和 `Tomcat 7` 应用服务器。安装过程请使用 root 用户进行操作。
+
+JDK 7 可以通过 Oracle 官方网站[下载](http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz),安装过程如下:
+
+~~~bash
+$ tar xvfz jdk-7u79-linux-x64.tar.gz -C /usr/local
+$ mv /usr/local/jdk1.7.0_79 /usr/local/jdk7
+~~~
+
+打开配置文件:vim ~/.bash_profile ,在尾部添加下面内容,然后重新登录
+
+~~~bash
+export JAVA_HOME=/usr/java/jdk7
+export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
+export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
+export JAVA_ENV=-Dfile.encoding=utf-8
+~~~
+
+为了简化配置,我们提供了标准配置好的 Tomcat 包,请通[这里下载](http://localhost/)。下载后安装步骤如下:
+
+~~~bash
+$ tar xvfz apache-tomcat7-config.tar.gz -C /opt/tomcat
+~~~
+
+Tomcat 数据库连接配置需要通过加密配置,加密串可以通过[密码管理服务](http://172.28.201.101:9080)或者请技术支持提供加密串。当获取加密配合后修改 conf/context.xml 文件。
+
+启动、停止 Tomcat 服务方式如下:
+
+~~~bash
+$ cd /opt/tomcat/bin
+$ ./startup.sh # 启动服务
+$ ./shutdown.sh # 停止服务
+~~~
+
+### nginx 代理服务器安装配置
+nginx 代理服务安装步骤如下:
+
+~~~bash
+$ yum install -y nginx
+$ systemctl enable nginx.service
+$ vi /etc/nginx/nginx.conf
+$ systemctl start nginx.service
+$ systemctl status nginx.service
+● nginx.service - Nginx Web Server
+ Loaded: loaded (/etc/systemd/system/nginx.service; disabled; vendor preset: disabled)
+ Active: active (running) since 一 2016-05-02 23:19:37 CST; 1 months 20 days ago
+ Docs: http://nginx.org
+ Main PID: 2607 (nginx)
+ CGroup: /system.slice/nginx.service
+ ├─2607 nginx: master process /usr/local/sbin/nginx
+ └─2610 nginx: worker process
+~~~
+
+nginx.conf 配置模板如下,需要根据现场情况自行修改配置:
+
+~~~bash
+#user nobody;
+worker_processes 2;
+
+#error_log logs/error.log;
+#error_log logs/error.log notice;
+#error_log logs/error.log info;
+
+#pid logs/nginx.pid;
+
+events {
+ worker_connections 1024;
+}
+
+http {
+ include mime.types;
+ default_type application/octet-stream;
+ proxy_headers_hash_max_size 51200;
+ proxy_headers_hash_bucket_size 6400;
+
+ log_format main '$remote_addr - $remote_user [$time_local] "$request" '
+ '$status $body_bytes_sent "$http_referer" '
+ '"$http_user_agent" "$http_x_forwarded_for"';
+
+ access_log /var/log/nginx-access.log main;
+
+ sendfile on;
+ tcp_nopush on;
+
+ #keepalive_timeout 0;
+ keepalive_timeout 65;
+
+ gzip on;
+
+ upstream epay_balance {
+ # 每个server表示一个服务地址
+ server app1:8080 weight=5;
+ server app2:8080 weight=5;
+ keepalive 20;
+ }
+
+ upstream epayapi_balance {
+ # 每个server表示一个服务地址
+ server api1:8080 weight=5;
+ server api2:8080 weight=5;
+ keepalive 20;
+ }
+
+ # HTTPS server
+ server {
+ listen 8443 ssl;
+ # 如果用户提供域名,请使用域名访问
+ server_name localhost;
+
+ ssl_certificate /etc/nginx/conf/server.crt;
+ ssl_certificate_key /etc/nginx/conf/server.key;
+
+ ssl_session_cache shared:SSL:1m;
+ ssl_session_timeout 5m;
+
+ ssl_ciphers HIGH:!aNULL:!MD5;
+ ssl_prefer_server_ciphers on;
+
+ location = / {
+ rewrite ^ https://$host:$server_port/epay/ permanent;
+ }
+ location /epay {
+ proxy_set_header Host $http_host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $http_x_forwarded_for;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ proxy_pass http://epay_balance;
+ proxy_redirect http:// https://;
+ }
+
+ location /epayapi {
+ proxy_set_header Host $http_host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $http_x_forwarded_for;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ proxy_pass http://epayapi_balance;
+ proxy_redirect http:// https://;
+ }
+ }
+}
+~~~
+
+### 数据库初始化
+按照文件名顺序执行数据库初始化脚本
+
+一卡通在线交易系统(epay)和悦校(epayapi+悦校APP)是上海树维一卡通联机交易系统的重要组成部分。这两个服务是Java开发的web服务程序,因此需要java运行环境JRE(Java Runtime Environment)以及支持Servlet和JSP的应用服务器,推荐直接安装java JDK和tomcat服务器。JDK要求1.7以上的版本,tomcat 推荐使用tomcat 7。另外,悦校接口服务(epayapi)采用redis保存手机终端登陆信息,因此在服务器上要安装redis。所以,需要安装的有:安装java JDK,推荐JDK7。官方下载地址:[link](http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html)。
+
+安装tomcat,推荐Tomcat7。可以直接使用树维公司提供的定制工具包,也可以去官网下载地址:[link](http://tomcat.apache.org/download-70.cgi)
+
+安装redis。官方下载地址:[link](http://redis.io/download)
+
+发布悦校平台服务和悦校接口服务和修改配置。
+此外,悦校所需的数据库、一卡通服务等安装这里不做说明。
+
+## 2 安装与配置
+### 1 安装JDK。
+点击上面jdk的下载地址,选中Accept License Agreement,根据服务器的系统下载相应的jdk。
+
+下载 .tar.gz 扩展名的。上传至服务器安装。常见的Linux和windows服务器的jdk安装网上都有记录,这里不再多述。
+Linux的教程 http://yacare.iteye.com/blog/2071914;
+windows的教程百度就能得到http://wenku.baidu.com/view/280fd0ddad51f01dc281f16b.html;
+能看懂英文的点这里https://docs.oracle.com/javase/8/docs/technotes/guides/install/install_overview.html
+成功安装并配置环境变量:如linux下jdk安装路径为:/usr/java/jdk1.7.0_80。则
+打开配置文件:vim ~/.bash_profile
+在尾部添加:
+
+~~~bash
+export JAVA_HOME=/usr/java/jdk1.7.0_80/
+export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
+export CLASSPATH=.:/usr/java/jdk1.7.0_80/lib:/usr/java/jdk1.7.0_80/jre/lib:$CLASSPATH
+~~~
+
+刷新配置文件:source ~/.bash_profile
+测试命令:java -version 。结果类似如下:
+
+
+### 2 安装tomcat
+点击上面的下载地址,压缩版 .zip/tar.gz 或安装版 ... installer都可。
+
+也可以直接使用上海树维提供的定制工具包 tomcat7.zip,上传到服务器解压即可。建议使用后者。这里有关tomcat的详细介绍,可供参考:http://freeloda.blog.51cto.com/2033581/1299644
+Tomcat目录如下:
+
+我们主要用到4个:
+bin——启动/停止tomcat;
+catalina.sh 用于启动和关闭tomcat服务器
+configtest.sh 用于检查配置文件
+startup.sh 启动Tomcat脚本
+shutdown.sh 关闭Tomcat脚本
+conf——配置文件
+需要配置或修改的文件:
+server.xml 需要关注和修改的地方:
+a 关闭Server实例配置:<Server port=”8005” shutdown=”SHUTDOWN”>/
+b HTTP连接器:<Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" />。通常会加上编码方式:URIEncoding="UTF-8"。
+c AJP连接器:<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
+发布应用时这三个port避免冲突都需要修改。
+context.xml 需要关注和修改的地方:
+在context组件下增加数据库配置:
+
+有下划线的要根据具体情况而变动。
+catalina.properties 在末尾加上下面的配置
+org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true
+Lib——库文件
+一般包含下列jar包:
+
+logs——日志文件
+此目录下查看tomcat启动或应用程序运行的日志。
+webapps——web发布目录
+epay和epayapi 等web程序发布目录
+
+### 3 Redis安装
+Redis是一个开源的高性能的key-value数据库。这里用来存储悦校APP的登陆信息。点击上面的下载地址:下载3.0.5版本。
+
+下载后上传至服务器,也可以用下面的命令在服务器上下载:
+$ wget http://download.redis.io/releases/redis-3.0.5.tar.gz
+
+安装:
+$ wget http://download.redis.io/releases/redis-3.0.5.tar.gz
+$ tar xzf redis-3.0.5.tar.gz
+$ cd redis-3.0.5
+$ make
+若没有make 命令,请先安装gcc。
+修改配置文件,路径:/etc/redis/6379.conf
+$ vi 6379.conf
+根据具体情况加上访问Ip限制:bind 192.168.1.100 10.0.0.1
+设置内存大小:maxmemory 524288000 (至少500M)
+回到redis目录,运行:$ src/redis-server
+查看进程:netstat -tnlp
+
+测试:
+$ src/redis-cli
+redis> set foo bar
+OK
+redis> get foo
+"bar"
+
+
+### 4 发布epay和epayapi,以及修改配置
+1) 发布epayapi
+在服务器上安装好tomcat,假设此tomcat名为tomcatepayapi。则在tomcatepayapi/webapps下上传epayapi的发布包,并解压生成epayapi文件夹。
+
+
+1、修改tomcat配置:根据安装tomcat一节中叙述的。转到tomcatepayapi/conf/配置目录,根据实际情况修改server.xml文件的3处port,和context.xml 的数据库配置,修改oracle数据库的用户名,密码和数据库IP:端口:服务。
+
+server.xml
+
+
+
+context.xml
+
+修改epayapi配置文件。路径:tomcatepayapi/webapps/epayapi/WEB-INF/classes下的ksconfig.properties文件。修改对应电控系统的ip和key,一卡通后台的ip,前面安装的redis的ip和端口以及银行圈存前置ip等实际信息。
+
+
+3、运行tomcat。回到目录tomcatepayapi/bin 下
+
+可以用 ./startup.sh 来启动tomcatepayapi,用./shutdown.sh 停止tomcatepayapi。若无执行权限,可执行命令:chmod 777 *.sh
+
+4、查看日志。在tomcatepayapi/logs下查看日志。
+$ cd ../logs/
+$ tail -f catalina.out
+退出Ctrl+C
+正常启动后,打开浏览器输入http://ip:port/epayapi/services/common/getsystemversion(ip为部署服务器的ip,端口port为tomcatepayapi/conf/server.xml中 <Connector port="8091" protocol="HTTP/1.1" .../> 配的端口)会返回主机名+”-hotfix 4.2.2”字样。
+
+在手机端安装APP后请联系树维帮您配置服务器地址,然后才能注册登录。
+
+2) 发布epay
+epay的发布和epayapi差不多。首先上传epay的发布包到tomcatepay/webapps并解压。生成epay文件目录。
+同样根据实际情况修改tomcatepay/conf下的server.xml 和context.xml 文件配置。
+切换到tomcatepay/webapps/epayapi/WEB-INF/classes目录下修改ksconfig.properties文件。文件最后有epayapi的IP和端口需要配置,请根据epayapi发布的ip:port修改
+
+同样切换到tomcatepay/bin 目录下用 ./startup.sh 启动tomcatepay。切换到tomcatepay/logs 目录下查看日志。
+正常启动后,可在浏览器上访问:ip是服务器的ip;端口(port)是在tomcatepay/conf/server.xml里配置的。
+
+
+
diff --git "a/source/_posts/\344\270\200\345\215\241\351\200\232pos\346\216\245\345\217\243\345\215\217\350\256\256.md" "b/source/_posts/\344\270\200\345\215\241\351\200\232pos\346\216\245\345\217\243\345\215\217\350\256\256.md"
index 8d8eca3..8067da2 100644
--- "a/source/_posts/\344\270\200\345\215\241\351\200\232pos\346\216\245\345\217\243\345\215\217\350\256\256.md"
+++ "b/source/_posts/\344\270\200\345\215\241\351\200\232pos\346\216\245\345\217\243\345\215\217\350\256\256.md"
@@ -3,8 +3,12 @@
date: 2016-06-20 14:50:13
tags:
---
-version: 1.3
+* **version: 1.3**
+| 版本 | 日期 | 作者 | 说明 |
+|----------|----------|---------|--------|
+| v1.3 | 2015-9-10 | 汤成 | |
+| v1.4 | 2016-6-22 | 汤成 | 增加账户查询黑名单版本接口 |
## 协议格式
### 请求格式说明
@@ -172,6 +176,7 @@
> 账户状态,1 byte , 第1-4 bit 表示卡状态;第 4 bit为 1 表示正常, 0 表示不正常;第 3 bit 为 1 表示挂失, 0 表示正常; 第 2 bit 为 1 表示冻结 , 0 表示正常;第 1 bit 为1表示坏卡, 0 表示正常
> 单次消费限额,2 byte, 无符号
> 日累计消费限额, 3 byte, 无符号
+> 当前卡黑名单版本号,6 byte
### POS 上传授信消费流水
- 命令字
diff --git "a/source/_posts/\344\270\200\345\215\241\351\200\232v5\350\200\203\345\213\244\346\234\272\346\216\245\345\217\243\346\226\207\346\241\243.md" "b/source/_posts/\344\270\200\345\215\241\351\200\232v5\350\200\203\345\213\244\346\234\272\346\216\245\345\217\243\346\226\207\346\241\243.md"
index 3531c87..bd278ac 100644
--- "a/source/_posts/\344\270\200\345\215\241\351\200\232v5\350\200\203\345\213\244\346\234\272\346\216\245\345\217\243\346\226\207\346\241\243.md"
+++ "b/source/_posts/\344\270\200\345\215\241\351\200\232v5\350\200\203\345\213\244\346\234\272\346\216\245\345\217\243\346\226\207\346\241\243.md"
@@ -4,9 +4,6 @@
tags:
---
-# 一卡通考勤机接口规范文档
-
-
|日期 | 版本 |描述 |
|:-----------|:-------------|---------------------|
| 2015-3-18 | v1.0 | 初稿 |
diff --git "a/source/imgs/\344\270\200\345\215\241\351\200\232\345\234\250\347\272\277\346\224\257\344\273\230\345\271\263\345\217\260.png" "b/source/imgs/\344\270\200\345\215\241\351\200\232\345\234\250\347\272\277\346\224\257\344\273\230\345\271\263\345\217\260.png"
new file mode 100644
index 0000000..2931c8a
--- /dev/null
+++ "b/source/imgs/\344\270\200\345\215\241\351\200\232\345\234\250\347\272\277\346\224\257\344\273\230\345\271\263\345\217\260.png"
Binary files differ