C#开发BIMFACE系列48 Nginx部署并加载离线数据包
在前一篇博客《C#开发BIMFACE系列47 IIS部署并加载离线数据包》中详细介绍了IIS部署并访问的完整步骤。本篇博客详细介绍在Nginx服务器中如何部署并访问离线数据包。
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
(1)官网 http://nginx.org/en/download.html
(2)选择版本并下载
版本说明:
- Mainline version 主线版本,开发版,用于学习测试,不建议用于生产环境。
- Stable version 稳定版本,一般用于生产环境。
- Legacy versions 历史版本,相对比稳定版,功能少、有bug,也可以用于生产环境。
我们选择 Stable version ->Windows-1.20.1 (上图中标记②)
(3)解压
下载完成的文件是一个压缩包,解压后将其拷贝到D盘根目录,完整结构如下
(4)常用命令(假设Nginx在C:\server\目录下)
- 启动
C:\server\nginx-1.20.1>start nginx 或 C:\server\nginx-1.20.1>nginx.exe
注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。
- 停止
C:\server\nginx-1.20.1>nginx.exe -s stop 或 C:\server\nginx-1.20.1>nginx.exe -s quit
注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。
- 重新载入Nginx
C:\server\nginx-1.20.1>nginx.exe -s reload
当配置信息修改,需要重新载入这些配置时使用此命令。
- 重新打开日志文件
C:\server\nginx-1.20.1>nginx.exe -s reopen
- 查看Nginx版本
C:\server\nginx-1.20.1>nginx -v 或 C:\server\nginx-1.20.1>nginx -V
注:v只是简单显示版本信息,V不但显示版本信息,还显示配置参数信息。
- 测试或载入指定配置文件
注意,修改了配置文件后最好先检查一下修改过的配置文件是否正确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:
C:\server\nginx-1.20.1>nginx.exe -t -c conf/default.conf
载入指定配置文件
C:\server\nginx-1.20.1>start nginx.exe -c conf/default.conf
步骤1 新建站点
将《C#开发BIMFACE系列47 IIS部署并加载离线数据包》中使用的调整配置后的离线数据包拷贝到 D:\nginx-1.20.1\html\ 目录下
步骤2 配置Nginx
配置文件位置:D:\nginx-1.20.1\conf\nginx.conf
(1)配置端口,设置为2022,避免与IIS中站点端口重复
(2)HTTP响应头设置
为了加速访问,离线数据包中的很多文件都进行了gzip压缩。在离线数据包部署到Web服务器之后,必须对.gz文件设置http响应头,否则将产生错误。
- 由于仅需要针对BIMFACE离线数据包中的.gz文件设置响应头,建议开发人员最好把BIMFACE的离线数据包放置在统一的路径下,然后再针对这个统一的路径,设置匹配后缀为.gz的路径。
- 针对以上路径设置:Content-Encoding: gzip。
步骤3 启动Nginx.exe
如下一个小技巧。打开 nginx.exe 所在目录,选中目录地址,输入cmd,按下回车键,自动启动 cmd.exe 命令
输入启动命令:start nginx
按下回车键,效果如下图,表示已经启动成功
查看任务管理器,确实启动了一个Nginx进程
步骤4 浏览模型
浏览器中访问 http://localhost:2022/4ab9f2df0a8fa218e8ecec619c7090df
总结:离线数据包是一组静态资源文件,并不需要特定的云端程序提供运行时环境,因此可以像部署网页的css、js、image一样部署在静态Web服务器上。最大的优势就是访问性能较高。
《BIMFace.SDK.CSharp》开源SDK。欢迎大家下载使用。
C#开发BIMFACE系列48 Nginx部署并加载离线数据包的更多相关文章
- C#开发BIMFACE系列47 IIS部署并加载离线数据包
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在前两篇博客<C#开发BIMFACE系列45 服务端API之创建离线数据包>与<C#开发BIMFACE系 ...
- C#开发BIMFACE系列45 服务端API之创建离线数据包
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] BIMFACE的常规应用方式有公有云与私有化部署两种方式,并且浏览模型或者图纸需要使用ViewToken,ViewToke ...
- C#开发BIMFACE系列49 Web网页中加载模型与图纸的技术方案
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在BIMFACE二次系列博客中详细介绍了服务器端API的调用方式,如下列表 C#开发BIMFACE系列1 BIMFAC ...
- C#开发BIMFACE系列17 服务端API之获取模型数据2:获取构件材质列表
系列目录 [已更新最新开发文章,点击查看详细] 在上一篇<C#开发BIMFACE系列16 服务端API之获取模型数据1:查询满足条件的构件ID列表>中介绍了获取单文件(模型)的所有 ...
- C#开发BIMFACE系列18 服务端API之获取模型数据3:获取构件属性
系列目录 [已更新最新开发文章,点击查看详细] 本篇主要介绍如何获取单文件/模型下单个构建的属性信息. 请求地址:GET https://api.bimface.com/data/v2/fil ...
- C#开发BIMFACE系列19 服务端API之获取模型数据4:获取多个构件的共同属性
系列目录 [已更新最新开发文章,点击查看详细] 在前几篇博客中介绍了一个三维文件/模型包含多个构建,每个构建又是由多种材质组成,每个构建都有很多属性.不同的构建也有可能包含相同的属性. 上图中 ...
- C#开发BIMFACE系列21 服务端API之获取模型数据6:获取单模型的楼层信息
系列目录 [已更新最新开发文章,点击查看详细] 一个文件/模型中可能包含多个楼层信息,获取楼层信息对于前端页面的动态展示非常有帮助.本篇介绍获取一个文件/模型中可能包含多个楼层信息的详细方法. ...
- C#开发BIMFACE系列24 服务端API之获取模型数据9:获取单个房间信息
系列目录 [已更新最新开发文章,点击查看详细] 大厦建筑模型中,基本上包含多个楼层,每个楼层包含多个房间等信息.在<C#开发BIMFACE系列21 服务端API之获取模型数据6:获取单模 ...
- C#开发BIMFACE系列25 服务端API之获取模型数据10:获取楼层对应面积分区列表
系列目录 [已更新最新开发文章,点击查看详细] 在<C#开发BIMFACE系列22 服务端API之获取模型数据7:获取多个模型的楼层信息>中,返回的楼层信息结果中包含了楼层的具体信 ...
随机推荐
- 在CentOs7源码安装mysql-5.6.35单实例数据库
首先安装依赖包,避免在安装过程中出现问题 [root@bogon liuzhen]# yum -y install gcc gcc-c++[root@bogon liuzhen]# yum -y in ...
- configparser读
#-*-coding:utf-8-*-__author__ = "logan.xu"import configparserconf = configparser.ConfigPar ...
- 使用 IDEA 配合 Dockerfile 部署 SpringBoot 工程
准备 SpringBoot 工程 新建 SpringBoot 项目,默认的端口是 8080 ,新建 Controller 和 Mapping @RestController public class ...
- 剑指offer计划5(查找算法中等版)---java
1.1.题目1 剑指 Offer 04. 二维数组中的查找 1.2.解法 其实就是暴力解法的升级版,从最后一行开始判断,通过num当前的大小, 如果还是大于目标值则行数-1,若是小于则列数+1 1.3 ...
- vue element-ui el-date-picker 数据可以更改,但是前端不显示的更改后的数据问题
template: <el-form-item label="有效时间:" prop="validTime"> ...
- Spring系列之JDBC对不同数据库异常如何抽象的?
前言 使用Spring-Jdbc的情况下,在有些场景中,我们需要根据数据库报的异常类型的不同,来编写我们的业务代码.比如说,我们有这样一段逻辑,如果我们新插入的记录,存在唯一约束冲突,就会返回给客户端 ...
- MySQL——MySQL多实例
一台服务器上运行多个MySQL服务,不同的业务 多实例思路: 1. 多套配置文件 2. 多套数据 3. 多个socket 4. 多个端口 5. 多个日志文件 6. 多个启动程序
- 【MyBatis】几种批量插入效率的比较
批处理数据主要有三种方式: 反复执行单条插入语句 foreach 拼接 sql 批处理 一.前期准备 基于Spring Boot + Mysql,同时为了省略get/set,使用了lombok,详见p ...
- HCNP Routing&Switching之IS-IS路由聚合和认证
前文我们了解了IS-IS路由渗透和开销相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15302382.html:今天我们来聊一聊IS-IS路由聚合和认 ...
- P1118 [USACO06FEB]Backward Digit Sums G/S
P1118 [USACO06FEB]Backward Digit Sums G/S 题解: (1)暴力法.对1-N这N个数做从小到大的全排列,对每个全排列进行三角形的计算,判断是否等于N. 对每个 ...