无车承运人平台 ( 标准版 ) 部署手册 上海达牛信息技术有限公司 Niu Infomation Technology Co.,Ltd. http://www.niuinfo.com
目录 1 准备工作... 4 1.1 应用运行环境介绍... 4 1.2 采购阿里云服务... 4 1.3 获取标准版应用程序包... 5 1.4 用到的辅助工具... 5 1.4.1 Navicat for MySQL... 5 1.4.2 Robo 3T... 5 1.4.3 Redis Desktop Manager... 5 1.4.4 JDK... 6 1.4.5 Tomcat... 6 1.4.6 Nginx... 6 2 登录阿里云平台... 6 3 服务器设置... 7 3.1 云服务器 ECS 设置... 7 3.1.1 查看 ECS 实例... 7 3.1.2 设置密码... 8 3.1.3 重启服务... 9 3.1.4 安全组设置... 9 3.2 云数据库 RDS 版设置... 11 3.2.1 查看 云数据库 RDS 版... 11 3.2.2 设置白名单... 11 3.2.3 查看连接信息... 14 3.2.4 创建数据库... 14 3.2.5 创建账号... 15 3.2.6 连接 mysql... 16 3.3 云数据库 Mongo 版设置... 17 3.3.1 查看实例信息... 17 3.3.2 设置白名单... 17 3.3.3 查看数据库连接... 19
3.3.4 重置 root 密码... 20 3.3.5 连接 mongodb... 27 3.4 云数据库 Redis 设置... 30 3.4.1 查看实例信息... 30 3.4.2 白名单设置... 32 3.4.3 查看连接信息... 34 3.4.4 连接 Redis... 34 3.5 Sftp 服务配置... 34 3.6 Jdk 安装... 35 3.7 Tomcat 安装... 36 3.8 Nginx 安装... 36 4 安装部署... 39 4.1 脚本初始化... 39 4.2 数据库配置... 39 4.3 Tms 部署... 40 4.3.1 xiaoniu-niu 部署... 40 4.3.2 xiaoniu-web 部署... 41 4.4 xiaoniu-splite 部署... 43 4.5 xiaoniu-batch 部署... 43 4.6 登录账号... 44 联系我们... 45
1 准备工作 1.1 应用运行环境介绍 JDK:JDK8.0 以上 Mysql:Mysql5.5 以上 MongoDB:MongoDB3.2 以上 Redis:Redis2.8 以上 Web 服务器 :Tomcat7.0 以上 Nginx 代理服务器 :nginx-1.0.15 服务器 ip: 以 192.168.0.1 为例 1.2 采购阿里云服务 部署本系统需要采购云服务器 ECS 弹性公网 IP 云数据 RDS 版 云数据库 Mongo 版 以及云数据库 Redis 版本产品 购买配置参考如下 : 服务器名称个数配置系统要求用途 云服务器 ECS 1 4 核 CPU 8GB 内存 200G 数据 盘 64 位 centos7.4 Web 服务器 云数据库 MongoDB 版 1 1 核 CPU 2GB 内存 50GB 存储 mongodb 3.2 位置数据库 云数据库 RDS 版 1 2 核 CPU 4GB 内存 100GB 存 储 MySQL5.6 mysql5.6 双机高可用版本 业务数据库 云数据 Redis 版 1 1G 主从版 1G 主从版缓存服务器 弹性公网 IP 1 5M 带宽 备注 : 以上服务器必须在同一地域内, 且尽量在同一可用区
1.3 获取标准版应用程序包 下载无车承运人平台 ( 标准版 ) 应用程序 : https://github.com/yshaoliang/platform/blob/master/niu-platform-std-4.1.0.zip 该压缩包包括 xiaoniu-niu- 版本号.war xiaoniu-web- 版本号.war xiaoniu-splite 文件夹以及 xiaoniu-batch 文件夹, 然后把 Niu-Platform-Std-4.1.0.zip 文件存放在 centos7 的 /data/app 目录下 可以通过如下 linux 命令完成下载 $ mkdir p /data/app $ cd /data $ wget https://github.com/yshaoliang/platform/blob/master/niu-platform-std-4.1.0.zip 1.4 用到的辅助工具 1.4.1 Navicat for MySQL Navicat for MySQL 是管理和开发 MySQL 或 MariaDB 的理想解决方案 它是一套单一的应用程序, 能同时连接 MySQL 和 MariaDB 数据库, 并与 Amazon RDS Amazon Aurora Oracle Cloud Microsoft Azure 阿里云 腾讯云和华为云等云数据库兼容 这套全面的前端工具为数据库管理 开发和维护提供了一款直观而强大的图形界面 可以从 https://www.navicat.com.cn/download/navicat-for-mysql 链接下载安装 1.4.2 Robo 3T Robo 3T 是一个支持 windows Mac Linux 三个平台的 mongo 图形化客户端 可以从 官网 https://robomongo.org/download 下载安装 1.4.3 Redis Desktop Manager RedisDesktopManager 是一个支持 windows 平台的 redis 图形化客户端, 可以从 https://github.com/uglide/redisdesktopmanager/releases/tag/0.8.8 下载
1.4.4 JDK JDK 是 Java 语言的软件开发工具包, 主要用于移动设备 嵌入式设备上的 java 应用程 序 JDK 是整个 java 开发的核心, 它包含了 JAVA 的运行环境,JAVA 工具和 JAVA 基础的类 库 可以从官网 http://www.oracle.com/technetwork/java/javase/downloads/ 下载安装 1.4.5 Tomcat Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器, 可以从 https://tomcat.apache.org/download-70.cgi 下载安装 1.4.6 Nginx Nginx (engine x) 是一个高性能的 HTTP 和反向代理 web 服务器, 下载说明参考 http://nginx.org/en/linux_packages.html#rhel-centos 2 登录阿里云平台 打开登录网址 https://account.aliyun.com/, 输入用户名密码进行登录 : 登录后选择区域 :
3 服务器设置 3.1 云服务器 ECS 设置 3.1.1 查看 ECS 实例 点击菜单 云服务器 ECS : 然后点击子菜单 实例, 查看 ECS 实例信息 :
3.1.2 设置密码 设置密码, 选择 ECS 实例 -> 更多 -> 密码 / 秘钥 -> 重置实例密码 : 输入密码后提交完成 :
3.1.3 重启服务 重启服务, 选择 ECS 实例 -> 更多 -> 实例状态 -> 重启 : 3.1.4 安全组设置 设置安全组, 选择 ECS 实例 -> 更多 -> 网络和安全组 -> 安全组设置 : 点击 配置规则 :
点解 快速创建规则 : 填写如下并保存
3.2 云数据库 RDS 版设置 3.2.1 查看 云数据库 RDS 版 点击左边菜单 云数据库 RDS 版 如下图 3.2.2 设置白名单 点击 管理 设置白名单
添加白名单分组 输入设置参数, 然后保存
保存后如下图 点击 基本信息, 可以查看 RDS 内网信息
3.2.3 查看连接信息 rm-bcdefgh.mysql.rds.aliyuncs.com:3306 3.2.4 创建数据库 打开子菜单 数据库管理, 点击 创建数据库 输入数据库名, 然后保存
3.2.5 创建账号 打开子菜单 账号管理, 然后点击 创建账号 输入账号信息, 然后保存
3.2.6 连接 mysql
3.3 云数据库 MongoDB 版设置 3.3.1 查看实例信息 3.3.2 设置白名单
点击 添加白名单分组 输入白名单内网 ip 信息后进行确认
3.3.3 查看数据库连接 mongodb://root:****@dds-abcdefg41.mongodb.rds.aliyuncs.com:3717,ddsabcdefg42.mongodb.rds.aliyuncs.com:3717/admin?replicaset=mgset-123456
3.3.4 重置 root 密码 输入密码进行确认
新增数据库 use tmsdb db.createuser( { user: "tmsdbuser", pwd: "tmspassword",
roles: [ { role: "readwrite", db: "tmsdb" } ], mechanisms : ["SCRAM-SHA-1"] } )
3.3.5 连接 mongodb 3.3.5.1 管理员账号登陆
3.3.5.2 普通账号创建
3.4 云数据库 Redis 设置 3.4.1 查看实例信息
输入密码然后确认保存
3.4.2 白名单设置 点击 白名单设置, 添加 白名单分组
数据库初始化
3.4.3 查看连接信息 r-cdefghijk.redis.rds.aliyuncs.com:6379 3.4.4 连接 Redis 3.5 Sftp 服务配置 Sftp 服务主要用于存储图片, 配置如下 :
# 配置 sftp 服务器 $ mkdir /data/sftp $ mkdir /data/sftp/sftptms $ groupadd sftp $ useradd -d /data/sftp/sftptms -G sftp sftptms $ passwd sftptms 123456 $ chown root.root /data/sftp /data/sftp/sftptms $ chmod 755 /data/sftp /data/sftp/sftptms $ mkdir /data/sftp/sftptms/upload $ chown -R sftptms.sftp /data/sftp/sftptms/upload $ chmod 775 /data/sftp/sftptms/upload 3.6 Jdk 安装 1) 将下载好的 jdk 安装包 jdk-8u181-linux-x64.tar.gz 存放于 /data/app 目录下 $ mkdir /usr/java $ cd /data/app $ cp jdk-8u181-linux-x64.tar.gz /usr/java $ cd /usr/java $ tar -xzvf jdk-8u181-linux-x64.tar.gz $ vi ~/.bash_profile export JAVA_HOME=/usr/java/jdk1.8.0_181 export PATH=$JAVA_HOME/bin:$PATH $ source ~/.bash_profile 2) 验证 $ java version
3.7 Tomcat 安装 Tomcat 安装如下 : $ cd /data/app # 进入安装目录 $ wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat- 7/v7.0.94/bin/apache-tomcat-7.0.94.tar.gz # 下载安装包 $ tar -xzvf apache-tomcat-7.0.94.tar.gz # 解压安装包 $ cd apache-tomcat-7.0.94/bin # 下载安装包 $./startup.sh # 启动服务 3.8 Nginx 安装 1) 安装 nginx # 安装 Nginx, 用作代理服务器整合 tms 与各个组件 $ vi /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0
enabled=1 $ yum -y install nginx $ systemctl enable nginx 2) 配置 nginx # 配置 Nginx 整合各组件 $ rm -rf /etc/nginx/conf.d/default.conf $ vi /etc/nginx/conf.d/tms.conf upstream prodtms { server 192.168.0.1:8080; } server { listen 80; server_name 192.168.0.1; client_max_body_size 10m; location / { if ( $uri = '/' ){ rewrite ^(.*) http://192.168.0.1/index.action last; } proxy_pass http://prodtms/xiaoniu-web/ ; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Cookie $http_cookie; proxy_cookie_path /xiaoniu-web/ /; index index.html; } # 图片服务器访问路径 location /upload/ { root /data/sftp/sftptms; }
# 小程序图片远程访问路径 location /appimg/ { root /data/app/www; } } # 小程序业务域名 server { server_name 192.168.0.1; listen 443 ssl; index index.html index.htm index.php; ssl on; ssl_certificate /data/openssl/cert/2184914_192.168.0.1.pem; ssl_certificate_key /data/openssl/cert/2184914_192.168.0.1.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM- SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; # 小程序接口访问路径 location /api/ { add_header Access-Control-Allow-Origin *; proxy_pass http://prodtms/xiaoniu-niu/api/; proxy_set_header Host $http_host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # 小程序接口访问路径 location /app/ {
proxy_pass http://prodtms/xiaoniu-niu/ ; proxy_set_header Host $http_host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Scheme $scheme; proxy_set_header X-Forwarded-Proto $scheme; } # 小程序业务域名验证路径 location ~*.(txt)$ { root /data/app/www; } } 4 安装部署 4.1 脚本初始化 1) 将 Niu-Platform-Std-4.1.0.zip 解压包中 tmsdb-4.1.0-0519.sql 解压到本地机器 2) 通过 Navicat for MySQL 登录连接 mysql 数据库 3) 执行 tmsdb-4.1.0-0519.sql 脚本将数据导入到 mysql 数据库中 4.2 数据库配置 1) 设置 app_key 和 secret_key # 设置 app_key 和 SECRET_KEY $ APP_KEY=`cat /dev/urandom tr -dc A-Za-z0-9 head -c 22` # 生成随机 APP_KEY $ echo "AP_KEY=$APP_KEY" >> ~/.bashrc $ SECRET_KEY=`cat /dev/urandom tr -dc A-Za-z0-9 head -c 22` # 生成随机 SECRET_KEY
$ echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc $ sed -i "s/app_key:/app_key: $APP_KEY/g" /opt/niutms/apache-tomcat- 8/webapps/xiaoniu-web/WEB-INF/classes/config.properties $ sed -i "s/secret_key:/secret_key: $SECRET_KEY/g" /opt/niutms/apache-tomcat- 8/webapps/xiaoniu-web/WEB-INF/classes/config.properties $ echo -e "\033[31m 你的 APP_KEY 是 $APP_KEY \033[0m" $ echo -e "\033[31m 你的 SECRET_KEY 是 $SECRET_KEY \033[0m" 2) 将 app_key 和 secret_key 配置到数据库中 # 如果 app_key 和 secret_key 更新过, 需要修改 app_key 和 secret_key update xn_m_app set appkey='app_key' private_key='$secret_key' where name='tms 标准版 '; update xn_m_firmware_update set appkey ='$APP_KEY'; # 图片访问域名或者 ip 配置 update xn_m_platform_setting set file_server_url='http://192.168.0.1'; 4.3 Tms 部署 解压部署包, 如下 : $ cd /data/app # 进入安装目录 $ unzip Niu-Platform-Std-4.1.0.zip 4.3.1 xiaoniu-niu 部署 1) 部署 xiaoniu-niu $ cd /data/app/apache-tomcat-7.0.94/webapps $ mkdir xiaoniu-niu $ cp /data/app/xiaoniu-niu-4.1.0-snapshot.war xiaoniu-niu $ cd xiaoniu-niu $ unzip xiaoniu-niu-4.1.0-snapshot.war 2) 配置 $ cd WEB-INF/classes $ vi mis.properties
jdbc.driver=com.mysql.jdbc.driver jdbc.url:jdbc:mysql://192.168.0.1:3306/tmsdb?useunicode=true&characterencoding=utf-8 jdbc.username=tmsdbuser jdbc.password= redis.host=192.168.0.1 redis.port=6379 redis.pass= # 参考 sftp 配置 SFTP.host=192.168.0.1 SFTP.port=22 SFTP.username=sftptms SFTP.password=123456 #xiaoniu-batch 服务路径 batch.api=http://192.168.0.1:9091/ $ vi mongodb.properties mongo.username=tmsdbuser mongo.password=123456 mongo.databasename=tmsdb mongo.dbname=tmsdb mongo.replicaset=192.168.0.1:27017 3) 运行 # 运行 xiaoniu-tms $ cd /opt/apache-tomcat-7.0.94/bin $./start.sh 4.3.2 xiaoniu-web 部署 1) 部署 $ cd /data/app/apache-tomcat-7.0.94/webapps $ mkdir xiaoniu-web
$ cp /data/app/xiaoniu-web-4.1.0-snapshot.war xiaoniu-web $ cd xiaoniu-niu $ unzip xiaoniu-web-4.1.0-snapshot.war 2) 配置 $ cd WEB-INF/classes # configure 配置 $ vi configure.properties # service: 访问后台服务接口地址 service=http://192.168.0.1:8088/xiaoniu-niu/ # version: 版本号固定 version=1.0.1 # appkeys 格式 : 域名:app_key:secret_key: 公司名 : 平台名 : 应用名 :xn56 # app_key 和 secret_key 请置换前面生成的 APP_KEY 和 SECRET_KEY appkeys=192.168.0.1:1gb3n3xnspuuitdsxaeuxa:pa2ej8zgrxgcqnck5x0prg: 达牛信息 : 无车承运人平台 : 无车承运人平台 :12800000000:xn56 # app_key: 请置换前面生成的 APP_KEY 且妥善保管 app_key=1gb3n3xnspuuitdsxaeuxa # secret_key: 请置换前面生成的 SECRET_KEY 且妥善保管 secret_key=pa2ej8zgrxgcqnck5x0prg # basecode: 固定 basecode=xiaoniu-web # Redis 配置 $ vi redis.properties redis.host=192.168.0.1 redis.port=6379 redis.pass=password 3) 运行 # 运行 xiaoniu-tms $ cd /opt/apache-tomcat-7.0.94/bin $./start.sh
4.4 xiaoniu-splite 部署 1) 配置 # 配置 xiaoiu-splite $ cd /data/app/xiaoniu-splite/xiaoniu-splite.properties $ vi xiaoniu-splite.properties # mysql target.datasource.driverclassname=com.mysql.jdbc.driver target.db.jdbc=jdbc:mysql://192.168.0.1:3306/tmsdb?useunicode=true&characterencoding=utf -8 target.db.user=tmsdbuser target.db.password=tmsdbuser123456 target.db.initialpoolsize=3 target.db.minpoolsize=2 target.db.maxpoolsize=5 # redis redis.host=192.168.0.1 redis.port=6379 redis.pass= 2) 运行 # 进入启动目录 $ cd /data/app/xiaoniu-splite # 运行 xiaoniu-splite $./start-splite.sh 4.5 xiaoniu-batch 部署 1) 配置 # 配置 xiaoiu-batch $ cd /data/app/xiaoniu-batch
# xiaoniu-batch-4.1.0-snapshot.jar\boot-inf\classes\application-tms.yml 配置修改 # 可以通过 windows 解压工具或者 linux 下 jar 命令进行修改 $ Vi application-tms.yml spring: datasource: jdbcurl: jdbc:mysql://192.168.0.1:3306/tmsdb?useunicode=true&characterencoding=utf-8 username: tmsdbuser password: Tmsdbuser123456 data: mongodb: uri: mongodb:// tmsdbuser:123456@192.168.0.1:27017/tmsdb 2) 运行 # 进入启动目录 $ cd /data/app/xiaoniu-batch # 运行 xiaoniu-batch $./start-batch.sh 4.6 登录账号 部署好系统后, 在浏览器打开连接 http://192.168.0.1, 输入对应的账号和密码进行登录 默认账号 12800000000 和默认密码 123456
联系我们 电话 :400-006-2587 邮件 :service@niuinfo.com 网站 :http://www.niuinfo.com 地址 : 上海市虹口区东体育会路 980 号曲阳公园 (200437)