常用部署环境调整

1. 服务器IP调整处理

使用场景:windows部署环境
  • 客户环境多个ip一键部署后,手动调整ip处理逻辑;
  • 私有化部署时,服务器没有固定ip,重启后ip改变;
  • 客户有特殊需要,调整了服务器ip;
处理步骤:
调整ip相关的配置文件如下 ( 用新ip替换旧的ip ),以下路径为3DLite服务安装路径
  1. 3DOpen\YunApi\appsettings.json
  2. 3DOpen\YunApiClientWeb\appsettings.json
  3. Task Server\publish\appsettings.json
  4. 打开数据库yunapi数据库,表enterprise ,修改替换ftp、ftpDownload 的ip

2. 域名访问、外网映射端口配置

使用场景:windows部署环境
客户由于要在云端获取其他外部环境部署使用,部署后希望可以通过域名方式访问轻量化引擎相关服务;
处理步骤:(映射端口调整处理逻辑相同,把映射端口访问地址代替域名)
  1. 相关域名定义及生成(业务根据实际情况生成下面服务对应的域名)
    • yunapi域名:https://api.xd.com
    • minio域名:https://minio.xd.com
    • 门户网站域名:https://client.xd.com
  2. yunapi服务配置调整

    修改yunapi部署目录下配置文件3DOpen\YunApi\appsettings.json 中如下配置项:其中不使用“https”的话可以将https改为http。

    {
        "localDomain": "https://api.xd.com"
        "YunApiUrl": {
            "viewer": "https://api.xd.com"
        }
        "miniOS": {
            "out": {
                "enableHTTPS": 1,//如果是使用http域名,此处改为0
                "endpoint": "minio.xd.com"
            },
            "previewDomain": "https://minio.xd.com"
        }
    
    }
    
  3. 门户网站调整

    修改门户网站部署目录下配置文件3DOpen\YunApiClientWeb\appsettings.json 中如下配置项:其中不使用“https”的话可以将https改为http。

    {
        "yunAPIDomain": "https://api.xd.com",
        "localDomain": "https://client.xd.com",
        "miniOS": {
            "previewDomain": "https://minio.xd.com"
        }
    }

    配置调整后,需要重启对应服务。

3. 端口调整配置

使用场景:Windows部署环境
客户由于端口冲突或其他原因需要调整部分端口;
处理步骤:
Table 1. 当前轻量化引擎服务端口说明
端口 说明
21 ftp客户端端口 - 不可调整,可使用minio方式接入,不使用ftp服务
5590 ftp服务端端口- 不可调整,可使用minio方式接入,不使用ftp服务
7900 mysql连接端口- 不可调整
8089 任务调度(NDSTaskService )服务端口
8090 yunapi服务(NDSYunApi)服务端口
8091 门户网站服务(NDSYunApiClientWeb)服务端口
8273 授权服务端端口- 不可调整
8274 授权客户端端口- 不可调整
8635 redis 连接端口- 不可调整
9000 minio端口- 不可调整
配置文件调整:

需要调整服务端口相关的配置文件如下 ( 用新端口替换旧的端口 ),以下路径为3DLite服务安装路径

  1. 3DOpen\YunApi\appsettings.json (涉及改动的服务: 任务调度8089、yunapi服务8090 )
  2. 3DOpen\YunApiClientWeb\appsettings.json (涉及改动的服务: 门户网站8091、yunapi服务8090 )
  3. Task Server\publish\appsettings.json(涉及改动的服务: 任务调度8089 )
  4. 配置调整后,需要重启对应服务。

4. 轻量化保存时间调整

使用场景:Windows部署环境、Linux部署环境
本地私有化业务端根据需要,需要调整轻量化数据保存时间;
处理步骤:
  1. 配置文件调整,以下路径为3DLite服务安装路径。
    1. 3DOpen\YunApi\appsettings.json (按需修改下面配置)
      {
         "isCleanFile": "1",//是否定时清理,改为0则不清理,会永久保存
          "KeepFileHour": "24",//定时清理时间,单位h
      }
    2. 3DOpen\YunApiClientWeb\appsettings.json
      {
        "dataSaveDays": "1",//保留天数,用于门户网站连接打开有效期判断
      }
  2. 门户网站调整。
  3. 配置调整后,需要重启对应服务。

5. 使用Nginx管理轻量化数据,提供Viewer集成

使用场景:Wndows部署环境
业务端viewer集成轻量化数据时,需要提供web环境进行集成和访问,此处介绍使用Nginx方式提供web方式访问;
Nginx下载安装
在 Windows 环境中安装 Nginx 可以通过以下步骤完成:
  1. 下载 Nginx
    1. 通过浏览器访问 Nginx 的官方网站:https://nginx.org/en/download.html
    2. 在页面中找到适合Windows 的最新版本(通常是.zip格式)并下载。
  2. 将下载的zip文件解压,并移动到安装位置,例如:C:\nginx 。
  3. 配置 Nginx
    1. 用记事本或其它文本编辑器打开 \conf\nginx.conf 文件进行编辑。
    2. 根据需要修改配置。例如更改监听端口、设置根目录等。
  4. 启动 Nginx
    1. Win + R ,输入 cmd并回车以打开命令提示符。
    2. 导航到 Nginx 根目录。
    3. 使用 Start 命令启动 Nginx 。
      cd C:\nginx
      start nginx
  5. 测试 Nginx

    在浏览器中访问 http://localhost。如果一切正常并显示 Nginx 欢迎页面,则表示 Nginx 已成功安装并正在运行。

  6. 管理 Nginx

    停止 Nginx

    cd C:\nginx
    nginx -s stop
Nginx配置修改
  1. 使用记事本或其它文本编辑器打开\conf\nginx.conf进行编辑。配置文件参考:
    
    	server {
    		listen 80; # 监听的端口,可以使用其他端口,对应访问地址也跟着调整
    		server_name tcplm.gzbaixin.cn;
    		client_max_body_size 2G;
    		
    		location / {
    			root   html; 
    			index  index.html index.htm;
    		}	
    	}
  2. 拷贝Viewer组件包到html下,并解压到当前路径、拷贝轻量化数据压缩包到html下,并解压到models文件夹下,文件夹层级如下:
  3. 启动Nginx后,访问以下地址。
    • 3D Viewer集成页面: http://localhost:80/3DCADView/demo.html
    • 2D Viewer集成页面: http://localhost:80/2DCADView/demo.html
    • 轻量化地址路径: http://localhost:80/models/xx

6. 使用nginx,做域名映射转发或外网ip转换

使用场景:Windows部署环境
业务端Viewer集成轻量化数据时,需要提供外部环境使用,此时如果设置fingerHttp为内网地址时 ,外部预览会失败,需要调用映射外网的端口或者域名。
Nignx做服务或外网端口映射
参考上面的步骤,安装Nginx,调整 nginx.conf 文件。
http {
    server {
        listen 9090; # 监听的端口
        server_name 192.168.0.100; # 监听的域名或ip

        location / {
            # 其他配置...
        }

        # 处理跨域请求的location
        location /api/ {
            if ($request_method = 'OPTIONS') {
                add_header 'Access-Control-Allow-Origin' *;
                add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
                add_header 'Access-Control-Max-Age' 1728000;
                add_header 'Content-Type' 'text/plain; charset=utf-8';
                add_header 'Content-Length' 0;
                return 204;
            }

            add_header 'Access-Control-Allow-Origin' $http_origin;
            add_header 'Access-Control-Allow-Credentials' 'true';

            proxy_pass http://192.168.0.100:8090; # yunapi接口地址
            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 X-Forwarded-Proto $scheme;
        }
    }
}

此时前端集成中fingerHttp=http://192.169.0.100:9090,以及代理端口可自行调整。