Former-commit-id: a43fd30923f651994a591ed80a0b7d692e7a5d48
TangShanKaiPing
wanggang 5 years ago
parent c216a8bade
commit 7aef8dc9e8

@ -2,92 +2,161 @@
<li class="nav-item"><a class="nav-link @GetClass("Home")" href="@Url.Action("Index","Home")"><i class="nav-icon fas fa-tachometer-alt"></i><p>首页</p></a></li>
@if (User.IsInRole("Read-Setting"))
{
<li class="nav-item"><a class="nav-link @GetClass("Setting")" href="@Url.Action("Index","Setting")"><i class="nav-icon ion ion-md-hammer"></i><p>设置</p></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Setting")" href="@Url.Action("Index","Setting")"><i class="nav-icon fa fa-wrench"></i><p>设置</p></a></li>
}
@if (User.IsInRole("Read-User") || User.IsInRole("Read-Role") || User.IsInRole("Read-Permission"))
{
<li class="nav-item has-treeview @GetClass2("User","Role","Permission")">
<a href="javascript:;" class="nav-link @GetClass("User","Role","Permission")">
<i class="fa fa-user"></i>
<p>用户管理<i class="right fas fa-angle-left"></i></p>
</a>
<ul class="nav nav-treeview">
@if (User.IsInRole("Read-User"))
{
<li class="nav-item"><a class="nav-link @GetClass("User")" href="@Url.Action("Index","User")"><i class=" nav-icon far fa-user"></i><p>用户管理</p></a></li>
<li class="nav-item"><a class="nav-link @GetClass("User")" href="@Url.Action("Index","User")"><i class="far fa-circle nav-icon"></i><p>用户管理</p></a></li>
}
@if (User.IsInRole("Read-Role"))
{
<li class="nav-item"><a class="nav-link @GetClass("Role")" href="@Url.Action("Index","Role")"><i class="nav-icon ion ion-md-glasses"></i><p>角色管理</p></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Role")" href="@Url.Action("Index","Role")"><i class="far fa-circle nav-icon"></i><p>角色管理</p></a></li>
}
@if (User.IsInRole("Read-Permission"))
{
<li class="nav-item"><a class="nav-link @GetClass("Permission")" href="@Url.Action("Index","Permission")"><i class="nav-icon fas fa-key"></i><p>权限管理</p></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Permission")" href="@Url.Action("Index","Permission")"><i class="far fa-circle nav-icon"></i><p>权限管理</p></a></li>
}
</ul>
</li>
}
@if (User.IsInRole("Read-Product") || User.IsInRole("Read-Api") || User.IsInRole("Read-Parameter"))
{
<li class="nav-item has-treeview @GetClass2("Product","Api","Parameter")">
<a href="javascript:;" class="nav-link @GetClass("Product","Api","Parameter")">
<i class="fa fa-folder"></i>
<p>
产品管理
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
@if (User.IsInRole("Read-Product"))
{
<li class="nav-item"><a class="nav-link @GetClass("Product")" href="@Url.Action("Index","Product")"><i class="nav-icon fa fa-leaf"></i><span>产品管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Product")" href="@Url.Action("Index","Product")"><i class="far fa-circle nav-icon"></i><span>产品管理</span></a></li>
}
@if (User.IsInRole("Read-Api"))
{
<li class="nav-item"><a class="nav-link @GetClass("Api")" href="@Url.Action("Index","Api")"><i class="nav-icon fa fa-plug"></i><span>接口管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Api")" href="@Url.Action("Index","Api")"><i class="far fa-circle nav-icon"></i><span>接口管理</span></a></li>
}
@if (User.IsInRole("Read-Parameter"))
{
<li class="nav-item"><a class="nav-link @GetClass("Parameter")" href="@Url.Action("Index","Parameter")"><i class="nav-icon far fa-circle"></i><span>参数管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Parameter")" href="@Url.Action("Index","Parameter")"><i class="far fa-circle nav-icon"></i><span>参数管理</span></a></li>
}
</ul>
</li>
}
@if (User.IsInRole("Read-Node") || User.IsInRole("Read-Device") || User.IsInRole("Read-Data") || User.IsInRole("Read-Command"))
{
<li class="nav-item has-treeview @GetClass2("Node","Device","Data","Command")">
<a href="javascript:;" class="nav-link @GetClass("Node","Device","Data","Command")">
<i class="fa fa-cube"></i>
<p>
节点管理
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
@if (User.IsInRole("Read-Node"))
{
<li class="nav-item"><a class="nav-link @GetClass("Node")" href="@Url.Action("Index","Node")"><i class="nav-icon fa fa-home"></i><span>节点管理</span></a></li>
}
@if (User.IsInRole("Read-NodeCategory"))
{
<li class="nav-item"><a class="nav-link @GetClass("NodeCategory")" href="@Url.Action("Index","NodeCategory")"><i class="nav-icon fa fa-cubes"></i><span>节点分类管理</span></a></li>
}
@if (User.IsInRole("Read-Organ"))
{
<li class="nav-item"><a class="nav-link @GetClass("Organ")" href="@Url.Action("Index","Organ")"><i class="nav-icon fa fa-home"></i><span>节点机构管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Node")" href="@Url.Action("Index","Node")"><i class="far fa-circle nav-icon"></i><span>节点管理</span></a></li>
}
@if (User.IsInRole("Read-Device"))
{
<li class="nav-item"><a class="nav-link @GetClass("Device")" href="@Url.Action("Index","Device")"><i class="nav-icon fa fa-tv"></i><span>设备管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Device")" href="@Url.Action("Index","Device")"><i class="far fa-circle nav-icon"></i><span>设备管理</span></a></li>
}
@if (User.IsInRole("Read-Data"))
{
<li class="nav-item"><a class="nav-link @GetClass("Data")" href="@Url.Action("Index","Data")"><i class="nav-icon fa fa-database"></i><span>数据管理</span></a></li>
}
@if (User.IsInRole("Read-LiveRecord"))
{
<li class="nav-item"><a class="nav-link @GetClass("LiveRecord")" href="@Url.Action("Index","LiveRecord")"><i class="nav-icon fa fa-camera"></i><span>回放管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Data")" href="@Url.Action("Index","Data")"><i class="far fa-circle nav-icon"></i><span>数据管理</span></a></li>
}
@if (User.IsInRole("Read-Command"))
{
<li class="nav-item"><a class="nav-link @GetClass("Command")" href="@Url.Action("Index","Command")"><i class="nav-icon far fa-circle"></i><span>设备命令管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Command")" href="@Url.Action("Index","Command")"><i class="far fa-circle nav-icon"></i><span>设备命令管理</span></a></li>
}
</ul>
</li>
}
@if (User.IsInRole("Read-Scene") || User.IsInRole("Read-SceneCommand") || User.IsInRole("Read-SceneTimer") || User.IsInRole("Read-SceneTigger"))
{
<li class="nav-item has-treeview @GetClass2("Scene","SceneCommand","SceneTimer","SceneTigger")">
<a href="javascript:;" class="nav-link @GetClass("Scene","SceneCommand","SceneTimer","SceneTigger")">
<i class="fa fa-archive"></i>
<p>
节点场景管理
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
@if (User.IsInRole("Read-Scene"))
{
<li class="nav-item"><a class="nav-link @GetClass("Scene")" href="@Url.Action("Index","Scene")"><i class="nav-icon fa fa-list-ol"></i><span>场景管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Scene")" href="@Url.Action("Index","Scene")"><i class="far fa-circle nav-icon"></i><span>场景管理</span></a></li>
}
@if (User.IsInRole("Read-SceneCommand"))
{
<li class="nav-item"><a class="nav-link @GetClass("SceneCommand")" href="@Url.Action("Index","SceneCommand")"><i class="nav-icon far fa-circle"></i><span>场景命令管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("SceneCommand")" href="@Url.Action("Index","SceneCommand")"><i class="far fa-circle nav-icon"></i><span>场景命令管理</span></a></li>
}
@if (User.IsInRole("Read-SceneTimer"))
{
<li class="nav-item"><a class="nav-link @GetClass("SceneTimer")" href="@Url.Action("Index","SceneTimer")"><i class="nav-icon far fa-clock"></i><span>场景定时器管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("SceneTimer")" href="@Url.Action("Index","SceneTimer")"><i class="far fa-circle nav-icon"></i><span>定时器管理</span></a></li>
}
@if (User.IsInRole("Read-SceneTigger"))
{
<li class="nav-item"><a class="nav-link @GetClass("SceneTigger")" href="@Url.Action("Index","SceneTigger")"><i class="nav-icon fa fa-fire"></i><span>场景触发器管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("SceneTigger")" href="@Url.Action("Index","SceneTigger")"><i class="far fa-circle nav-icon"></i><span>触发器管理</span></a></li>
}
</ul>
</li>
}
@if (User.IsInRole("Read-Scene") || User.IsInRole("Read-SceneCommand") || User.IsInRole("Read-SceneTimer") || User.IsInRole("Read-SceneTigger"))
{
<li class="nav-item has-treeview @GetClass2("GlobalScene","GlobalSceneCommand","GlobalSceneTimer","GlobalSceneTigger")">
<a href="javascript:;" class="nav-link @GetClass("GlobalScene","GlobalSceneCommand","GlobalSceneTimer","GlobalSceneTigger")">
<i class="fa fa-laptop"></i>
<p>
平台场景管理
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
@if (User.IsInRole("Read-Scene"))
{
<li class="nav-item"><a class="nav-link @GetClass("GlobalScene")" href="@Url.Action("Index","GlobalScene")"><i class="nav-icon fa fa-list-ol"></i><span>平台场景管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("GlobalScene")" href="@Url.Action("Index","GlobalScene")"><i class="far fa-circle nav-icon"></i><span>场景管理</span></a></li>
}
@if (User.IsInRole("Read-SceneCommand"))
{
<li class="nav-item"><a class="nav-link @GetClass("GlobalSceneCommand")" href="@Url.Action("Index","GlobalSceneCommand")"><i class="nav-icon far fa-circle"></i><span>平台场景命令管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("GlobalSceneCommand")" href="@Url.Action("Index","GlobalSceneCommand")"><i class="far fa-circle nav-icon"></i><span>场景命令管理</span></a></li>
}
@if (User.IsInRole("Read-SceneTimer"))
{
<li class="nav-item"><a class="nav-link @GetClass("GlobalSceneTimer")" href="@Url.Action("Index","GlobalSceneTimer")"><i class="nav-icon far fa-clock"></i><span>平台场景定时器管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("GlobalSceneTimer")" href="@Url.Action("Index","GlobalSceneTimer")"><i class="far fa-circle nav-icon"></i><span>定时器管理</span></a></li>
}
@if (User.IsInRole("Read-SceneTigger"))
{
<li class="nav-item"><a class="nav-link @GetClass("GlobalSceneTigger")" href="@Url.Action("Index","GlobalSceneTigger")"><i class="nav-icon fa fa-fire"></i><span>平台场景触发器管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("GlobalSceneTigger")" href="@Url.Action("Index","GlobalSceneTigger")"><i class="far fa-circle nav-icon"></i><span>触发器管理</span></a></li>
}
</ul>
</li>
}
@if (User.IsInRole("Read-NodeCategory"))
{
<li class="nav-item"><a class="nav-link @GetClass("NodeCategory")" href="@Url.Action("Index","NodeCategory")"><i class="nav-icon fa fa-leaf"></i><span>节点分类管理</span></a></li>
}
@if (User.IsInRole("Read-Organ"))
{
<li class="nav-item"><a class="nav-link @GetClass("Organ")" href="@Url.Action("Index","Organ")"><i class="nav-icon fa fa-sitemap"></i><span>节点机构管理</span></a></li>
}
@if (User.IsInRole("Read-LiveRecord"))
{
<li class="nav-item"><a class="nav-link @GetClass("LiveRecord")" href="@Url.Action("Index","LiveRecord")"><i class="nav-icon fa fa-camera"></i><span>回放管理</span></a></li>
}
<li class="nav-item"><a class="nav-link" href="/JobServer/job"><i class="nav-icon fa fa-clock"></i><span>平台定时器监控</span></a></li>
</ul>
@functions{
@ -95,12 +164,17 @@
{
if (controllers.Select(o => o.ToLower()).Contains(this.ViewContext.RouteData.Values["controller"].ToString().ToLower()))
{
if (controllers.Length > 1)
{
return "active open";
}
return "active";
}
return "";
}
public string GetClass2(params string[] controllers)
{
if (controllers.Select(o => o.ToLower()).Contains(this.ViewContext.RouteData.Values["controller"].ToString().ToLower()))
{
return "menu-open";
}
return "";
}
}

@ -4,23 +4,23 @@
},
"ConnectionStrings": {
"postgresql": "User ID=root;Host=postgresql;Port=26257;Database=iotcenter;CommandTimeout=120",
"mysql": "Server=mysql;Port=3306;Database=iotcenter;Uid=root;Pwd=root;",
"mysql": "Server=172.172.0.30;Port=3306;Database=iotcenter;Uid=root;Pwd=root;",
"redis": "redis:6379,allowAdmin=true",
"srs": "http://srs:1985",
"JobServer": "http://jobserver/JobServer",
"JobCallBack": "http://iotcenter/IoTCenter/api/v1/Api/ExecTimer"
"srs": "http://172.172.0.60:1985",
"JobServer": "http://172.172.0.10/JobServer",
"JobCallBack": "http://172.172.0.10/IoTCenter/api/v1/Api/ExecTimer"
},
"influxdb": {
"url": "http://influxdb:8086",
"url": "http://172.172.0.50:8086",
"usr": "admin",
"pwd": "admin"
},
"logserver": {
"influxdb": {
"address": "http://influxdb"
"address": "http://172.172.0.50"
}
},
"minio": {
"endpoint": "minio:9000"
"endpoint": " 172.172.0.20:9000"
}
}

@ -1,5 +1,5 @@
{
"ConnectionStrings": {
"HangfireConnection": "Server=mysql;Port=3306;Database=jobserver;Uid=root;Pwd=root;Allow User Variables=True;"
"HangfireConnection": "Server=172.172.0.30;Port=3306;Database=jobserver;Uid=root;Pwd=root;Allow User Variables=True;"
}
}

@ -4,10 +4,10 @@
},
"ConnectionStrings": {
"postgresql": "User ID=root;Host=postgresql;Port=26257;Database=usercenter;CommandTimeout=120",
"mysql": "Server=mysql;Port=3306;Database=usercenter;Uid=root;Pwd=root;",
"redis": "redis:6379,allowAdmin=true"
"mysql": "Server=172.172.0.30;Port=3306;Database=usercenter;Uid=root;Pwd=root;",
"redis": "172.172.0.40:6379,allowAdmin=true"
},
"minio": {
"endpoint": "minio:9000"
"endpoint": "172.172.0.20:9000"
}
}

@ -1,4 +1,4 @@
using System.Reflection;
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0.602")]
[assembly: AssemblyInformationalVersion("1.0.0.603")]

@ -4,3 +4,6 @@ log
docker\log\
docker\data\
docker-compose.override.yml
debug.start.ps1
debug.stop.ps1
nginx.development.conf

@ -42,6 +42,8 @@ sudo dpkg -i ~/publish/files/supervisor_3.3.5-1_all.deb
#config apps
sudo cp -f ~/publish/supervisord.conf /etc/supervisor/supervisord.conf
sudo chmod 755 ~/publish/apps/IoTNode/IoTNode
sudo chmod 755 ~/publish/apps/frp/frpc
sudo chmod 755 ~/publish/apps/srs/objs/srs
sudo chmod 755 ~/publish/apps/IoTNode/wwwroot/ffmpeg-linux-arm
sudo chmod 755 ~/publish/apps/IoTNode/wwwroot/ffmpeg-linux-arm64

@ -1 +0,0 @@
docker-compose up -d --remove-orphans

@ -11,6 +11,9 @@ services:
volumes:
- ../../../../projects/WebMVC/wwwroot:/usr/share/nginx/html
- ./docker/log/webmvc:/var/log/nginx
networks:
default:
ipv4_address: 172.172.0.110
webspa:
image: nginx:1.18
restart: always
@ -21,6 +24,9 @@ services:
volumes:
- ../../../../projects/WebSPA/wwwroot:/usr/share/nginx/html
- ./docker/log/webspa:/var/log/nginx
networks:
default:
ipv4_address: 172.172.0.120
nginx:
volumes:
- ./docker/conf/nginx/nginx.development.conf:/etc/nginx/nginx.conf

@ -1,4 +1,5 @@
#docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
#docker-compose down --remove-orphans
version: "3.8"
services:
usercenter:
@ -15,6 +16,9 @@ services:
volumes:
- ./apps/UserCenter:/UserCenter
- ./docker/log/UserCenter:/UserCenter/logs
networks:
default:
ipv4_address: 172.172.0.70
iotcenter:
image: mcr.microsoft.com/dotnet/core/runtime-deps:3.1-focal
restart: always
@ -30,6 +34,9 @@ services:
volumes:
- ./apps/IotCenter:/IoTCenter
- ./docker/log/IotCenter:/IotCenter/logs
networks:
default:
ipv4_address: 172.172.0.80
jobserver:
image: mcr.microsoft.com/dotnet/core/runtime-deps:3.1-focal
restart: always
@ -44,6 +51,9 @@ services:
volumes:
- ./apps/JobServer:/JobServer
- ./docker/log/JobServer:/JobServer/logs
networks:
default:
ipv4_address: 172.172.0.90
webmvc:
image: nginx:1.18
restart: always
@ -54,6 +64,9 @@ services:
volumes:
- ./apps/WebMVC/wwwroot:/usr/share/nginx/html
- ./docker/log/webmvc:/var/log/nginx
networks:
default:
ipv4_address: 172.172.0.110
webspa:
image: nginx:1.18
restart: always
@ -64,6 +77,9 @@ services:
volumes:
- ./apps/WebSPA/wwwroot:/usr/share/nginx/html
- ./docker/log/webspa:/var/log/nginx
networks:
default:
ipv4_address: 172.172.0.120
nginx:
depends_on:
- usercenter

@ -1,15 +1,11 @@
version: "3.8"
networks:
default:
driver: bridge
ipam:
config:
- subnet: 172.172.0.0/24
services:
portainer:
image: portainer/portainer:1.23.2
restart: always
ports:
- 9002:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./docker/data/portainer:/data
minio:
image: minio/minio:RELEASE.2020-05-29T14-08-49Z
restart: always
@ -21,6 +17,9 @@ services:
- 9000:9000
volumes:
- ./docker/data/minio:/data
networks:
default:
ipv4_address: 172.172.0.20
mysql:
image: mysql:8.0
restart: always
@ -28,42 +27,21 @@ services:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=jobserver
command: --default-authentication-plugin=mysql_native_password
healthcheck:
test: "/usr/bin/mysql --user=root --password=root --execute \"SHOW DATABASES;\""
interval: 3s
timeout: 3s
retries: 10
ports:
- 3306:3306
volumes:
- ./docker/data/mysql:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
restart: always
environment:
- PMA_HOST=mysql
- PMA_PORT=3306
ports:
- 9003:80
depends_on:
- mysql
networks:
default:
ipv4_address: 172.172.0.30
redis:
image: redis:6.0
restart: always
ports:
- 6379:6379
phpredisadmin:
image: erikdubbelboer/phpredisadmin
restart: always
environment:
- REDIS_1_HOST=redis
- REDIS_1_PORT=6379
- ADMIN_USER=admin
- ADMIN_PASS=123456
ports:
- 9004:80
depends_on:
- redis
networks:
default:
ipv4_address: 172.172.0.40
influxdb:
image: influxdb:1.8
restart: always
@ -76,18 +54,9 @@ services:
- 8086:8086
volumes:
- ./docker/data/influxdb:/var/lib/influxdb
influxdb-web:
image: influxdb:1.2.4
restart: always
environment:
TZ: "Asia/Shanghai"
INFLUXDB_ADMIN_ENABLED: "true"
INFLUXDB_ADMIN_USER: admin
INFLUXDB_ADMIN_PASSWORD: admin
ports:
- 8083:8083
depends_on:
- influxdb
networks:
default:
ipv4_address: 172.172.0.50
srs:
image: ossrs/srs:v4.0.23
environment:
@ -101,6 +70,9 @@ services:
- ./docker/conf/srs/srs.conf:/usr/local/srs/conf/srs.conf
- ./docker/log/srs:/usr/local/srs/objs/log
- ./docker/data/srs:/usr/local/srs/objs/nginx/html/video
networks:
default:
ipv4_address: 172.172.0.60
nginx:
image: nginx:1.18
restart: always
@ -117,4 +89,60 @@ services:
depends_on:
- minio
- mysql
networks:
default:
ipv4_address: 172.172.0.10
portainer:
image: portainer/portainer:1.23.2
restart: always
ports:
- 9002:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./docker/data/portainer:/data
networks:
default:
ipv4_address: 172.172.0.101
phpmyadmin:
image: phpmyadmin/phpmyadmin
restart: always
environment:
- PMA_HOST=mysql
- PMA_PORT=3306
ports:
- 9003:80
depends_on:
- mysql
networks:
default:
ipv4_address: 172.172.0.102
phpredisadmin:
image: erikdubbelboer/phpredisadmin
restart: always
environment:
- REDIS_1_HOST=redis
- REDIS_1_PORT=6379
- ADMIN_USER=admin
- ADMIN_PASS=123456
ports:
- 9004:80
depends_on:
- redis
networks:
default:
ipv4_address: 172.172.0.103
influxdb-web:
image: influxdb:1.2.4
restart: always
environment:
TZ: "Asia/Shanghai"
INFLUXDB_ADMIN_ENABLED: "true"
INFLUXDB_ADMIN_USER: admin
INFLUXDB_ADMIN_PASSWORD: admin
ports:
- 8083:8083
depends_on:
- influxdb
networks:
default:
ipv4_address: 172.172.0.104

@ -22,44 +22,44 @@ http {
location / {
if ($http_user_agent ~* "(mobile|android|ipad|iphone|ipod|tablet)") {
proxy_pass http://webspa;
proxy_pass http://172.172.0.120;
break;
}
proxy_pass http://webmvc/;
proxy_pass http://172.172.0.110/;
}
location ^~ /dfs/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://minio:9000/;
proxy_pass http://172.172.0.20:9000/;
}
location ^~ /live/ {
proxy_pass http://srs:8080/live/;
proxy_pass http://172.172.0.60:8080/live/;
}
location ^~ /video/ {
proxy_pass http://srs:8080/video/;
proxy_pass http://172.172.0.60:8080/video/;
}
location ^~ /UserCenter/ {
proxy_pass http://usercenter/UserCenter/;
proxy_pass http://172.172.0.70/UserCenter/;
}
location ^~ /IoTCenter/ {
proxy_pass http://iotcenter/IoTCenter/;
proxy_pass http://172.172.0.80/IoTCenter/;
}
location ^~ /IoTCenter/hub {
proxy_pass http://iotcenter/IoTCenter/hub;
proxy_pass http://172.172.0.80/IoTCenter/hub;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location ^~ /JobServer/ {
proxy_pass http://jobserver/JobServer/;
proxy_pass http://172.172.0.90/JobServer/;
}
error_page 500 502 503 504 /50x.html;

@ -1 +1 @@
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up --remove-orphans -d

@ -1 +1 @@
docker-compose down
docker-compose down --remove-orphans
Loading…
Cancel
Save