• C#开发BIMFACE系列48 Nginx部署并加载离线数据包


    BIMFACE二次开发系列目录     【已更新最新开发文章,点击查看详细】

    在前一篇博客《C#开发BIMFACE系列47 IIS部署并加载离线数据包》中详细介绍了IIS部署并访问的完整步骤。本篇博客详细介绍在Nginx服务器中如何部署并访问离线数据包。

    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网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

    下载 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 ginx-1.20.1>start nginx 或 C:server ginx-1.20.1>nginx.exe

      注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。

    • 停止

      C:server ginx-1.20.1>nginx.exe -s stop 或 C:server ginx-1.20.1>nginx.exe -s quit

      注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。

    • 重新载入Nginx

      C:server ginx-1.20.1>nginx.exe -s reload

      当配置信息修改,需要重新载入这些配置时使用此命令。

    • 重新打开日志文件

      C:server ginx-1.20.1>nginx.exe -s reopen

    • 查看Nginx版本

      C:server ginx-1.20.1>nginx -v 或 C:server ginx-1.20.1>nginx -V

      注:v只是简单显示版本信息,V不但显示版本信息,还显示配置参数信息。

    • 测试或载入指定配置文件

      注意,修改了配置文件后最好先检查一下修改过的配置文件是否正确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:

      C:server ginx-1.20.1>nginx.exe -t -c conf/default.conf

      载入指定配置文件

      C:server ginx-1.20.1>start nginx.exe -c conf/default.conf

    部署离线数据包

    步骤1 新建站点

    《C#开发BIMFACE系列47 IIS部署并加载离线数据包》中使用的调整配置后的离线数据包拷贝到 D: ginx-1.20.1html 目录下

    步骤2 配置Nginx

    配置文件位置:D: ginx-1.20.1conf ginx.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。欢迎大家下载使用。

    BIMFACE二次开发系列目录     【已更新最新开发文章,点击查看详细】

    成在管理,败在经验;嬴在选择,输在不学!  贵在坚持!

    欢迎关注作者头条号 张传宁IT讲堂,获取更多IT文章、视频等优质内容。

       

     个人作品

       

        1、BIMFace.Community.SDK.NET

         开源地址:https://gitee.com/NAlps/BIMFace.SDK

         系列博客:https://www.cnblogs.com/SavionZhang/p/11424431.html

         系列视频:https://www.cnblogs.com/SavionZhang/p/14258393.html

       

        2、ZCN.NET.Common

         开源地址:https://gitee.com/NAlps/zcn.net.common

     技术栈

       

     1、Visual Studio、.C#/.NET、.NET Core、MVC、Web API、RESTful API、gRPC、SignalR、Python

     2、jQuery、Vue.js、Bootstrap

     3、数据库:SQLServer、MySQL、PostgreSQL、Oracle、SQLite、Redis、MongoDB、ElasticSearch、TiDB、达梦DM、人大金仓、 神通、南大通用 GBase、华为 GaussDB 、腾讯 TDSQL 、阿里 PolarDB、蚂蚁金服 OceanBase、东软 OpenBASE、浪潮云溪数据库 ZNBase

     4、ORM:Dapper、Entity Framework、FreeSql、SqlSugar、分库分表、读写分离

     5、架构:领域驱动设计 DDD、ABP

     6、环境:跨平台、Windows、Linux(CentOS、麒麟、统信UOS、深度Linux)、maxOS、IIS、Nginx、Apach

     7、移动App:Android、IOS、HarmonyOS、微信、小程序、快应用、Xamarin、uni-app、MUI、Flutter、Framework7、Cordova、Ionic、React Native、Taro、NutUI、Smobiler

       

     云原生、微服务、Docker、CI/CD、DevOps、K8S;

     Dapr、RabbitMQ、Kafka、分布式、大数据、高并发、负载均衡、中间件、RPC、ELK;

     .NET + Docker + jenkins + Github + Harbor + K8S;

    出处:www.cnblogs.com/SavionZhang

    作者:张传宁   微软MCP、系统架构设计师、系统集成项目管理工程师、科技部创新工程师。

              专注于微软.NET技术(.NET Core、Web、MVC、WinForm、WPF)、通用权限管理系统、工作流引擎、自动化项目(代码)生成器、SOA 、DDD、 云原生(Docker、微服务、DevOps、CI/CD);PDF、CAD、BIM 审图等研究与应用。

              多次参与电子政务、图书教育、生产制造等企业级大型项目研发与管理工作。

              熟悉中小企业软件开发过程:需求分析、架构设计、编码测试、实施部署、项目管理。通过技术与管理帮助中小企业快速化实现互联网技术全流程解决方案。

             


             

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    如有问题,可以通过邮件905442693@qq.com联系。共同交流、互相学习。

    如果您觉得文章对您有帮助,请点击文章右下角【推荐】。您的鼓励是作者持续创作的最大动力!

  • 相关阅读:
    【总】IdentityServer4 32篇汇总
    ASP.NET Core的身份认证框架IdentityServer4(3)-术语的解释
    ASP.NET Core身份认证服务框架IdentityServer4(2)-整体介绍
    dentityServer4(1)- 特性一览
    Identity和IdentityServer的区别及联系
    if (user?.Identity?.IsAuthenticated ?? false)这几个问号分别都代表啥意思?
    ASP.NET Core 认证与授权[1]:初识认证
    如何优化Python占用的内存,面试必学
    Python3的这些新特性很方便,新手必学
    Python常见面试题,80%的人不会
  • 原文地址:https://www.cnblogs.com/SavionZhang/p/15410082.html
Copyright © 2020-2023  润新知