From 0388dd453ac6d27578e35ddecdfcdbd7e6e1ec6b Mon Sep 17 00:00:00 2001 From: wanggang <76527413@qq.com> Date: Fri, 7 Aug 2020 17:23:48 +0800 Subject: [PATCH] =?UTF-8?q?1.0.0.0807d2=20nginx=E9=87=8D=E6=96=B0=E6=8C=89?= =?UTF-8?q?=E8=81=8C=E8=83=BD=E6=8B=86=E5=88=86=E6=88=90desktop=E7=BD=91?= =?UTF-8?q?=E7=AB=99=E3=80=81mobile=E7=BD=91=E7=AB=99=E3=80=81gateway?= =?UTF-8?q?=E7=BD=91=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Former-commit-id: edcf3a0ef3f3466e35e383e0a415490d9b854bf3 Former-commit-id: ec4049193f63a22fbc8a093617b9980e9eeb4ede --- .../Infrastructure/UI/FileConfigureOptions.cs | 2 +- projects/Version.cs | 2 +- .../publish/docker-compose.override.yml | 30 +--- .../src/linux-x64/publish/docker-compose.yml | 167 +++++++++++------- .../publish/docker/conf/desktop/nginx.conf | 74 ++++++++ .../docker/conf/{nginx => gateway}/nginx.conf | 7 +- .../{nginx => gateway}/nginx.development.conf | 7 +- .../publish/docker/conf/mobile/nginx.conf | 71 ++++++++ 8 files changed, 261 insertions(+), 99 deletions(-) create mode 100644 publish/src/linux-x64/publish/docker/conf/desktop/nginx.conf rename publish/src/linux-x64/publish/docker/conf/{nginx => gateway}/nginx.conf (88%) rename publish/src/linux-x64/publish/docker/conf/{nginx => gateway}/nginx.development.conf (87%) create mode 100644 publish/src/linux-x64/publish/docker/conf/mobile/nginx.conf diff --git a/projects/Infrastructure/UI/FileConfigureOptions.cs b/projects/Infrastructure/UI/FileConfigureOptions.cs index d5546fd5..13b01265 100644 --- a/projects/Infrastructure/UI/FileConfigureOptions.cs +++ b/projects/Infrastructure/UI/FileConfigureOptions.cs @@ -47,7 +47,7 @@ namespace Infrastructure.UI this._providers = new List(); } this._providers.Add(new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot"))); - this._providers.Add(new ManifestEmbeddedFileProvider(GetType().Assembly, "wwwroot")); + //this._providers.Add(new ManifestEmbeddedFileProvider(GetType().Assembly, "wwwroot")); if (_assemblies != null && _assemblies.Count > 0) { var list = AppDomain.CurrentDomain.GetAssemblies().Where(o => !o.FullName.StartsWith("System", StringComparison.Ordinal) && !o.FullName.StartsWith("Microsoft", StringComparison.Ordinal)); diff --git a/projects/Version.cs b/projects/Version.cs index 5741081c..ad4fd2a4 100644 --- a/projects/Version.cs +++ b/projects/Version.cs @@ -1,4 +1,4 @@ using System.Reflection; [assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyInformationalVersion("1.0.0.0807d1")] \ No newline at end of file +[assembly: AssemblyInformationalVersion("1.0.0.0807d2")] \ No newline at end of file diff --git a/publish/src/linux-x64/publish/docker-compose.override.yml b/publish/src/linux-x64/publish/docker-compose.override.yml index c0a70345..eb1221c2 100644 --- a/publish/src/linux-x64/publish/docker-compose.override.yml +++ b/publish/src/linux-x64/publish/docker-compose.override.yml @@ -1,32 +1,12 @@ #docker-compose up -d version: "3.8" services: - webmvc: - image: nginx:1.18 - restart: always - environment: - TZ: "Asia/Shanghai" - ports: - - 5001:80 + desktop: 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 - environment: - TZ: "Asia/Shanghai" - ports: - - 5002:80 + - ../../../../projects/WebMVC/wwwroot:/usr/share/nginx/html + mobile: volumes: - ../../../../projects/WebSPA/wwwroot:/usr/share/nginx/html - - ./docker/log/webspa:/var/log/nginx - networks: - default: - ipv4_address: 172.172.0.120 - nginx: + gateway: volumes: - - ./docker/conf/nginx/nginx.development.conf:/etc/nginx/nginx.conf + - ./docker/conf/gateway/nginx.development.conf:/etc/nginx/nginx.conf \ No newline at end of file diff --git a/publish/src/linux-x64/publish/docker-compose.yml b/publish/src/linux-x64/publish/docker-compose.yml index c2bf7845..f8c0797b 100644 --- a/publish/src/linux-x64/publish/docker-compose.yml +++ b/publish/src/linux-x64/publish/docker-compose.yml @@ -6,6 +6,73 @@ networks: config: - subnet: 172.172.0.0/24 services: +#container management + 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 +#web sites + desktop: + image: nginx:1.18 + restart: always + environment: + TZ: "Asia/Shanghai" + ports: + - 80:80 + - 443:443 + volumes: + - ./docker/conf/desktop/nginx.conf:/etc/nginx/nginx.conf + - ./docker/log/desktop:/var/log/nginx + - ./apps/WebMVC/wwwroot:/usr/share/nginx/html + depends_on: + - minio + - mysql + networks: + default: + ipv4_address: 172.172.0.10 + mobile: + image: nginx:1.18 + restart: always + environment: + TZ: "Asia/Shanghai" + ports: + - 81:80 + - 4430:443 + volumes: + - ./docker/conf/mobile/nginx.conf:/etc/nginx/nginx.conf + - ./docker/log/mobile:/var/log/nginx + - ./apps/WebSPA/wwwroot:/usr/share/nginx/html + depends_on: + - minio + - mysql + networks: + default: + ipv4_address: 172.172.0.11 +#gateway + gateway: + image: nginx:1.18 + restart: always + environment: + TZ: "Asia/Shanghai" + ports: + - 8000:80 + volumes: + - ./docker/conf/gateway/nginx.conf:/etc/nginx/nginx.conf + - ./docker/log/gateway:/var/log/nginx + depends_on: + - minio + - mysql + networks: + default: + ipv4_address: 172.172.0.12 +#file server minio: image: minio/minio:RELEASE.2020-05-29T14-08-49Z restart: always @@ -20,6 +87,7 @@ services: networks: default: ipv4_address: 172.172.0.20 +#database server mysql: image: mysql:8.0 restart: always @@ -39,14 +107,20 @@ services: networks: default: ipv4_address: 172.172.0.30 - redis: - image: redis:6.0 + #mysql web manager + phpmyadmin: + image: phpmyadmin/phpmyadmin restart: always + environment: + - PMA_HOST=mysql + - PMA_PORT=3306 ports: - - 6379:6379 + - 9003:80 + depends_on: + - mysql networks: default: - ipv4_address: 172.172.0.40 + ipv4_address: 172.172.0.102 influxdb: image: influxdb:1.8 restart: always @@ -62,65 +136,32 @@ services: networks: default: ipv4_address: 172.172.0.50 - srs: - image: ossrs/srs:3 - environment: - TZ: "Asia/Shanghai" - restart: always - ports: - - 1935:1935 - - 8080:8080 - - 1985:1985 - volumes: - - ./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 + #use old version influxdb web manager + 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: - - 80:80 - - 443:443 - volumes: - - ./docker/conf/nginx/nginx.conf:/etc/nginx/nginx.conf - #- ./docker/conf/nginx/edusoa.key:/etc/nginx/edusoa.key - #- ./docker/conf/nginx/edusoa.pem:/etc/nginx/edusoa.pem - - ./docker/log/nginx:/var/log/nginx + - 8083:8083 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 + - influxdb networks: default: - ipv4_address: 172.172.0.101 - phpmyadmin: - image: phpmyadmin/phpmyadmin + ipv4_address: 172.172.0.104 +#cache server + redis: + image: redis:6.0 restart: always - environment: - - PMA_HOST=mysql - - PMA_PORT=3306 ports: - - 9003:80 - depends_on: - - mysql + - 6379:6379 networks: default: - ipv4_address: 172.172.0.102 + ipv4_address: 172.172.0.40 + #redis web manager phpredisadmin: image: erikdubbelboer/phpredisadmin restart: always @@ -136,18 +177,20 @@ services: networks: default: ipv4_address: 172.172.0.103 - influxdb-web: - image: influxdb:1.2.4 - restart: always +#streaming server + srs: + image: ossrs/srs:3 environment: TZ: "Asia/Shanghai" - INFLUXDB_ADMIN_ENABLED: "true" - INFLUXDB_ADMIN_USER: admin - INFLUXDB_ADMIN_PASSWORD: admin + restart: always ports: - - 8083:8083 - depends_on: - - influxdb + - 1935:1935 + - 8080:8080 + - 1985:1985 + volumes: + - ./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.104 \ No newline at end of file + ipv4_address: 172.172.0.60 \ No newline at end of file diff --git a/publish/src/linux-x64/publish/docker/conf/desktop/nginx.conf b/publish/src/linux-x64/publish/docker/conf/desktop/nginx.conf new file mode 100644 index 00000000..4ec7e4af --- /dev/null +++ b/publish/src/linux-x64/publish/docker/conf/desktop/nginx.conf @@ -0,0 +1,74 @@ +#user nobody; +worker_processes 1; + +#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; + sendfile on; + keepalive_timeout 65; + + server { + listen 0.0.0.0:80; + server_name localhost; + + location / { + root /usr/share/nginx/html; + index index.html; + if ($http_user_agent ~* "(mobile|android|ipad|iphone|ipod|tablet)") { + return 302 http://$host:81/; + } + } + + 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://172.172.0.12; + } + + location ^~ /live/ { + proxy_pass http://172.172.0.12; + } + + location ^~ /video/ { + proxy_pass http://172.172.0.12; + } + + location ^~ /influxdb/ { + proxy_pass http://172.172.0.12; + } + + location ^~ /UserCenter/ { + proxy_pass http://172.172.0.12; + } + + location ^~ /IoTCenter/ { + proxy_pass http://172.172.0.12; + } + + location ^~ /IoTCenter/hub { + proxy_pass http://172.172.0.12; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } + + location ^~ /JobServer/ { + proxy_pass http://172.172.0.12; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } +} \ No newline at end of file diff --git a/publish/src/linux-x64/publish/docker/conf/nginx/nginx.conf b/publish/src/linux-x64/publish/docker/conf/gateway/nginx.conf similarity index 88% rename from publish/src/linux-x64/publish/docker/conf/nginx/nginx.conf rename to publish/src/linux-x64/publish/docker/conf/gateway/nginx.conf index e1885f2f..ee69e0e6 100644 --- a/publish/src/linux-x64/publish/docker/conf/nginx/nginx.conf +++ b/publish/src/linux-x64/publish/docker/conf/gateway/nginx.conf @@ -21,11 +21,8 @@ http { server_name localhost; location / { - if ($http_user_agent ~* "(mobile|android|ipad|iphone|ipod|tablet)") { - proxy_pass http://172.172.0.120; - break; - } - proxy_pass http://172.172.0.110/; + root /usr/share/nginx/html; + index index.html; } location ^~ /dfs/ { diff --git a/publish/src/linux-x64/publish/docker/conf/nginx/nginx.development.conf b/publish/src/linux-x64/publish/docker/conf/gateway/nginx.development.conf similarity index 87% rename from publish/src/linux-x64/publish/docker/conf/nginx/nginx.development.conf rename to publish/src/linux-x64/publish/docker/conf/gateway/nginx.development.conf index 17e9da74..07f33135 100644 --- a/publish/src/linux-x64/publish/docker/conf/nginx/nginx.development.conf +++ b/publish/src/linux-x64/publish/docker/conf/gateway/nginx.development.conf @@ -21,11 +21,8 @@ http { server_name localhost; location / { - if ($http_user_agent ~* "(mobile|android|ipad|iphone|ipod|tablet)") { - proxy_pass http://host.docker.internal:5002; - break; - } - proxy_pass http://host.docker.internal:5001/; + root /usr/share/nginx/html; + index index.html; } location ^~ /dfs/ { diff --git a/publish/src/linux-x64/publish/docker/conf/mobile/nginx.conf b/publish/src/linux-x64/publish/docker/conf/mobile/nginx.conf new file mode 100644 index 00000000..5a3f7ca4 --- /dev/null +++ b/publish/src/linux-x64/publish/docker/conf/mobile/nginx.conf @@ -0,0 +1,71 @@ +#user nobody; +worker_processes 1; + +#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; + sendfile on; + keepalive_timeout 65; + + server { + listen 0.0.0.0:80; + server_name localhost; + + location / { + root /usr/share/nginx/html; + index index.html; + } + + 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://172.172.0.12; + } + + location ^~ /live/ { + proxy_pass http://172.172.0.12; + } + + location ^~ /video/ { + proxy_pass http://172.172.0.12; + } + + location ^~ /influxdb/ { + proxy_pass http://172.172.0.12; + } + + location ^~ /UserCenter/ { + proxy_pass http://172.172.0.12; + } + + location ^~ /IoTCenter/ { + proxy_pass http://172.172.0.12; + } + + location ^~ /IoTCenter/hub { + proxy_pass http://172.172.0.12; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } + + location ^~ /JobServer/ { + proxy_pass http://172.172.0.12; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } +} \ No newline at end of file