第十五章 构建和配置 Nginx 以与 Web 网关配合使用 (Windows) - 为 CSP 构建 Nginx 的过程

文章目录

  • 第十五章 构建和配置 Nginx 以与 Web 网关配合使用 (Windows) - 为 CSP 构建 Nginx 的过程

第十五章 构建和配置 Nginx 以与 Web 网关配合使用 (Windows) - 为 CSP 构建 Nginx 的过程

  1. MSYS2 shell 中工作,创建 Nginx 文档中建议的工作目录结构:
/opt/
  1. /opt 中工作,使用以下命令查看 Nginx 源代码:
hg clone http://hg.nginx.org/nginx

这会将 Nginx 源代码放置在:/opt/nginx/

  1. CSP 扩展创建目录:
mkdir /opt/nginx/objs/lib/csp/
  1. 将模块源代码 (ngx_http_csp_module.c) 复制到上一步中创建的目录。
  2. 在同一目录中,创建一个名为 config.json 的配置文件。该文件应包含以下行:
ngx_addon_name=ngx_http_csp_module
HTTP_MODULES="$HTTP_MODULES ngx_http_csp_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_csp_module.c"
  1. /opt/nginx/中,配置Nginx构建环境:
auto/configure --with-cc=cl --builddir=objs --prefix=--conf-path=conf/nginx.conf --pid-path=logs/nginx.pid--http-log-path=logs/access.log --error-log-path=logs/error.log--sbin-path=nginx.exe--http-client-body-temp-path=temp/client_body_temp--http-proxy-temp-path=temp/proxy_temp--http-fastcgi-temp-path=temp/fastcgi_temp--with-cc-opt=-DFD_SETSIZE=1024 --without-http_rewrite_module--without-http_gzip_module--with-select_module --with-ipv6--add-module=objs/lib/csp

请注意最后一行包含包含 CSP 模块的说明。

  1. 编译 Nginx。这可以在当前的 MSYS2 shellVisual Studio 开发人员命令提示符中完成。

要使用 MSYS2 shell,请找到与所需 Visual Studio 构建环境相对应的 vcvarsall.bat 脚本并编译 Nginx

cd /c/path/to/vcvarsall
vcvarsall.bat
cd -
nmake -f objs/Makefile

或者,如果不知道在哪里可以找到 vcvarsall.bat,可以打开 Visual Studio 开发人员命令提示符,它将为您设置构建环境。首先,将 MSYS2 路径转换为当前 MSYS2 shell 中的等效 Windows 路径。

cygpath –m $(pwd)

然后,打开所需构建环境的 Visual Studio 命令提示符并导航到该 Windows 路径。编译 Nginx

nmake -f objs/Makefile

如果成功,您应该在以下位置找到服务器(nginx.exe):/opt/nginx/objs/

  1. 安装 Nginx:最简单的方法是首先下载并安装 Nginx for Windows 的预构建版本以获取目录结构(通常位于 C:\nginx\ 下),然后将安装中的 nginx.exe 文件替换为本地创建的一个。

Nginx 安装的典型目录结构如下:

Directory of C:\nginx03/07/2017  09:09    <DIR>          .
03/07/2017  09:09    <DIR>          ..
26/06/2017  10:14    <DIR>          conf
26/06/2017  10:14    <DIR>          contrib
10/05/2018  12:53    <DIR>          csp
26/06/2017  10:14    <DIR>          docs
26/06/2017  10:14    <DIR>          html
10/05/2018  15:57    <DIR>          logs
04/07/2017  15:52           715,264 nginx.exe
26/06/2017  10:17    <DIR>          scgi_temp
26/06/2017  10:17    <DIR>          temp
26/06/2017  10:17    <DIR>          uwsgi_temp

将此目录中的 nginx.exe 副本替换为构建过程创建的版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/729148.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React-封装自定义Hook

1.声明函数 说明&#xff1a;声明一个以use打头的函数 function useToggle(){} 2.封装 说明&#xff1a;在函数体内封装可复用的逻辑 const [value,setValue]useState(true)const toggle()>{setValue(!value)} 3.返回 说明&#xff1a;把组件中用到的状态或者回调retu…

关于JVM的小总结(待补充)

JVM组成及他们之间的关系 装载类子系统字节码执行引擎运行时数据区 装载类子系统 类加载器字节码调节器类加载运行时数据区 字节码执行引擎 运行时数据区 线程私有 虚拟机栈本地方法栈程序计数器 线程共享 堆方法区&#xff08;元空间&#xff09;

后见之明!错过6个涨停板之后的复盘

在今年1月2日和1月3日&#xff0c;旅游板块两支个股先后涨停&#xff0c;此后一支月内三倍&#xff0c;另一支连续6个涨停。事后复盘&#xff0c;我们如何在1月2日第一支个股涨停之后&#xff0c;通过量化分析&#xff0c;找出第二支股&#xff1f; 一个3倍&#xff0c;一个6连…

Java 包和 API 深度解析:组织代码,避免命名冲突

Java 包和 API Java 中的包 用于将相关的类分组在一起。可以将其视为文件目录中的一个文件夹。我们使用包来避免名称冲突&#xff0c;并编写更易于维护的代码。 包分为两类: 内置包&#xff08;来自 Java API 的包&#xff09;用户定义的包&#xff08;创建自己的包&#xf…

维修ESA 数控折弯机CNC S 530 系统工控屏 S525 工业电脑显示屏

了解数控机床的组件可以帮助您充分利用该设备。 了解各种机器零件是有意义的&#xff0c;因为制造业的这些主力随处可见。 CNC 系统只会越来越受欢迎。 到2030年&#xff0c;美国数控机床市场规模将达到40亿美元。 我们首先回顾一下数控机床的定义及其优点。 然后我们将识别每…

根据全量知识系统内容规划-百度文库AI应用中心给出的答复

以下是就前面的文章&#xff08;全量知识系统的完整设计考虑和规划 之序 内容规划&#xff09;&#xff0c;和百度文库AI应用中心的答问。 全量知识系统的完整设计考虑和规划 之序 内容规划-CSDN博客 答问 Q1~6. 请对我以上设计规划&#xff0c;作出分析和完善&#xff0c;并…

M1电脑 Xcode15升级遇到的问题

遇到四个问题 一、模拟器下载经常报错。 二、Xcode15报错: SDK does not contain libarclite 三、报错coreAudioTypes not found 四、xcode模拟器运行一次下次必定死机 一、模拟器下载经常报错。 可以https://developer.apple.com/download/all/?qios 下载最新的模拟器&…

线程使用Runnable还是Callable

Callable接口 Runnable的缺陷 在创建线程的时候不管是继承Thread类(Thread本身也是实现的Runnable接口)还是实现Runnable接口&#xff0c;所实现的run()方法都没有返回值&#xff0c;使得需要将返回值写到map中&#xff0c;等到线程结束再去从map中取数据&#xff0c;特别的不方…

网站被插入虚假恶意链接怎么办?

在当前的电信和网络环境中&#xff0c;诈骗案件频发&#xff0c;许多受害者不幸上当&#xff0c;主要原因是他们点击了诈骗者发送的假链接。这些诈骗网站经常模仿真实网站的外观&#xff0c;使人难以分辨真伪。那么&#xff0c;我们应如何鉴别这些诈骗链接呢&#xff1f; 下面…

多个数据库驱动并存情况下无法找到数据库驱动问题解决

最近在打fat-jar包时&#xff0c;出现一个问题&#xff0c;运行fat-jar时报错&#xff1a; 2024-03-08 10:08:08.772 WARN [Thread-5] c.k.s.f.ExternalFuncClassLoader : 创建了未包含任何路径的自定义类加载器实例 2024-03-08 10:08:08.781 INFO [Thread-5] c.k.…

leetcode 2834.找出美丽数组的最小和

这道题作者一开始用的暴力解法&#xff0c;效果还不错&#xff0c;但是对于特别大的数据是过不去的。 先讲一下我暴力的思路&#xff1a;作者用了双指针的解法&#xff0c;我们可以先定义一个数组&#xff0c;就是把数组从1开始考虑&#xff0c;n个连续整数输入到里面去。 然…

工业制氧机的使用与维护管理指南

工业制氧机是工业生产中不可或缺的重要设备&#xff0c;其高效稳定的供氧功能对于保障生产过程的顺利进行至关重要。为了确保工业制氧机能够持续高效地提供氧气&#xff0c;正确的使用方法和维护措施是必不可少的。 在使用工业制氧机时&#xff0c;我们首先要确保设备放置在通风…

网络聊天室的UDP实现以及数据库

网络聊天室UDP实现 服务器端&#xff1a; 头文件&#xff1a; #include <myhead.h>//定义客户信息结构体 typedef struct magtye {char type; //消息类型char name[100]; //客户姓名char text[1024]; //客户发送聊天信息 }msg_t;//定义结构体存储…

mysql的语法总结2

命令&#xff1a; mysql -u 用户名 -p mysql登录 命令&#xff1a;create database u1 创建数据库u1 查询数据库 使用数据库u1 创建表department 查询表department ALTER TABLE 表名 操作类型&#xff1b; 操作类型可以有以下的操作&#xff1a; 添加列&#x…

ZCC3808 低静态电流、可编程延迟监控电路 替代TPS3808

1 特性 • 上电复位发生器具有可调节延迟时间&#xff1a;1.25ms 至10s • 超低静态电流&#xff1a;2.4μA&#xff08;典型值&#xff09; • 高阈值精度&#xff1a;0.5% 典型值 • 提供适用于标准电压轨的 0.9V 至 5V 固定阈值电压且可调节电压低至 0.4V • 手动复位 …

CubeMX使用教程(2)——点亮LED

在上一章&#xff0c;我们完成了CubeMX的环境配置&#xff0c;这一章我们通过CubeMX来完成点亮LED的工作。 通过LED原理图可知&#xff0c;如果我们要点亮LD1&#xff08;第一个灯&#xff09;&#xff0c;它对应开发板的PC8端口&#xff0c;因此我们应该在CubeMX中将PC8配置为…

【并查集】一种简单而强大高效的数据结构

目录 一、并查集原理 二、并查集实现 三、并查集应用 1. LeetCode并查集相关OJ题 2. 并查集的其他应用及总结 一、并查集原理 并查集&#xff08;Disjoint Set&#xff09;是一种用来管理元素分组和查找元素所属组别的数据结构。它主要支持两种操作&#xff1a;查找&…

公司内部的手机拍照管理办法建议

公司内部的手机拍照管理是一项重要的工作&#xff0c;因为它涉及到公司的信息安全、知识产权保护和隐私保护等方面。以下是一些建议的公司内部手机拍照管理办法&#xff1a; 明确拍照目的和范围&#xff1a;首先&#xff0c;公司应明确员工使用手机拍照的目的和范围。例如&…

JavaScript进阶 (1)

封装 构造函数存在问题 js可以通过构造函数进行封装&#xff0c;但存在浪费内存问题 每创建新的对象引用数据类型就开辟新的空间 原型 构造函数通过原型分配函数是所有对象所共享的 每一个构造函数都有一个prototype属性&#xff0c;指向另一个对象&#xff0c;也称为原型…

小型内衣裤洗衣机哪个牌子好?四款高热度内衣洗衣机力荐

相信很多用户从小就有个观念&#xff0c;内衣裤不能跟其他衣物一起混合洗&#xff0c;否则会感染细菌&#xff0c;所以不少人的内衣裤一直都是自己手洗的&#xff0c;清洗内衣裤不算麻烦&#xff0c;但日常都要换洗&#xff0c;对一个白天上班已经很累的人来说&#xff0c;真是…