十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
SIA-GATEWAY是基于SpringCloud微服务生态体系下开发的一个分布式微服务网关系统。具备简单易用、可视化、高可扩展、高可用性等特征,提供云原生、完整及成熟的接入服务解决方案。本文介绍API网关的安装部署。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、虚拟主机、营销软件、网站建设、新野网站维护、网站推广。
微服务与网关技术(SIA-GateWay)
git clone https://github.com/siaorg/sia-gateway.git
.
├── sia-gateway-admin-buildcomponent 网关admin组件集合
│ ├── sia-gateway-admin 网关admin监控系统组件
│ ├── sia-gateway-synchspeed 网关对下游服务实时感知组件
│ ├── sia-gateway-stream 网关日志组件
│ ├── sia-gateway-service 网关系统辅助组件
│ ├── sia-gateway-monitor 网关监控、日志组件
│ │ ├── sia-gateway-reactive
│ │ ├── sia-gateway-messaging 基础依赖
│ │ ├── sia-gateway-sink
│ │ ├── sia-gateway-esclient
│ │ ├── sia-gateway-base
├── sia-gateway-admin-display 网关系统前端代码
├── sia-gateway-buildcomponent 网关core-buildcomponent
│ ├── sia-gateway-core 网关Core节点
│ │ ├── sia-gateway-base
│ │ ├── sia-gateway-messaging 基础依赖
│ │ ├── sia-gateway-reactive
│ │ ├── sia-gateway-template
1)MySQL的安装和配置详见MySQL官方文档
2)请下载项目源码并解压,获取 "API网关数据库初始化SQL脚本" 并执行即可。
"API网关数据库初始化SQL脚本" 位置为:
/sia-gateway/sia-gateway-admin/src/main/resources/db/gateway_admin.sql
# 网关admin中心conf
/sia-gateway/sia-gateway-admin-buildcomponent/config/gateway_admin_test.yml
# 网关监控服务conf
/sia-gateway/sia-gateway-admin-buildcomponent/config/gateway_monitor_test.yml
# 网关辅助节点conf
/sia-gateway/sia-gateway-admin-buildcomponent/config/gateway_service_test.yml
# 网关日志服务conf
/sia-gateway/sia-gateway-admin-buildcomponent/config/gateway_stream_test.yml
# 网关实时感知服务conf
/sia-gateway/sia-gateway-admin-buildcomponent/config/gateway_synchspeed_test.yml
# 网关核心节点conf
/sia-gateway/sia-gateway-buildcomponent/config/gateway_test.yml
1)gateway_admin_test.yml
2)gateway_service_test.yml
3)gateway_stream_test.yml
4)gateway_synchspeed_test.yml
5)gateway_monitor_test.yml
6)gateway_test.yml
说明:spring.application.name为网关组名称,开发者可以修改此属性,搭建新的网关组
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
jdk-1.8
true
1.8
1.8
1.8
1.8
downloadSources
true
true
spring plugins
spring plugins
spring plugins
Spring plugins
https://maven.aliyun.com/repository/spring-plugin
default
always
downloadSources
1)如果已经正确进行上述配置,可将项目编译打包部署。
2)操作步骤:
cd sia-gateway
chmod +x *.sh
sh build.sh
3)打包成功后,会出现以下标注文件。
注:前端打包需要用到nodeJs,如未安装,可请参考 nodejs安装文档。
1)后端部署
unzip gateway_admin_1.0.zip
cd /gatewayadmin/bin
chmod +x *.sh
#启动网关管理服务,包括:admin、stream、service、synchspeed、monitor。
sh onekey_start.sh
---------------------------------------------------
unzip gateway_1.0.zip
cd /gateway/bin
chmod +x *.sh
#启动网关Core服务
sh start_gateway_test.sh
2)前端部署
nginx的代理配置,进入nginx的目录下nginx.conf,添加如下配置:
upstream apigateway.open.location1 {
#### sia-gateway-admin服务IP
server *******:8090 ;
}
server {
# nginx 监听端口
listen 18086;
server_name localhost;
access_log logs/host.access.log main;
#access_log "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G" main;
location / {
#root html;
#index index.html index.htm;
root /app/jar/ROOT/dist;
index index.html index.htm;
}
# 后端服务location
location ^~ /vv1/ {
proxy_pass http://apigateway.open.location1/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $http_x_forwarded_for;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
}
error_page 500 502 503 504 /50xcn.html;
location = /50xcn.html {
root html/error_page;
index 50xcn.html;
}
location /check_status {
vhost_traffic_status_display;
vhost_traffic_status_display_format json;
}
}
重启nginx
#校验配置是否正确
./nginx -t
# 重新启动
./nginx -s reload
说明:如果docker环境和编译环境是在同一个操作系统上,可直接执行以下步骤;反之,需要先将以下文件按原目录结构上传docker环境所在服务器。
步骤:
1)配置:修改site-map.js,位置:/dist/static/site-map.js
/**
* vmware部署: 127.0.0.1 ----> nginx的ip地址
* docker镜像部署: 127.0.0.1 ----> docker容器的宿主机ip
*/
'CESHI_API_HOST': '127.0.0.1:18086/vv1',
/**
* 127.0.0.1 ----> kibana的ip地址
*/
'CESHI_API_HOST_LOG': '127.0.0.1:5601'
2)下载centos基础镜像,如果已经下载,此步忽略。
3)修改Dockerfile,FROM 镜像名 : 版本号
4)配置yum源,如果部署机器能够使用阿里yum源,此步忽略。
将yum源文件名称修改成 CentOS-Base.repo,并替换到/sia-gateway/third-libary/下
5)构建镜像,并启动容器和服务
# 构建镜像
cd /sia-gateway/
# 授权
chmod +x *.sh
# 构建镜像
sh docker-build.sh
# 启动容器和服务
sh docker-run.sh
# 查看容器是否启动成功
docker ps
# 进入容器查看服务运行情况
docker exec -it gateway-test:v1 bash
访问地址: http://宿主机IP:18086/
说明:
SIA相关开源产品链接
来源:宜信技术学院