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

news/2024/4/21 14:22:36/文章来源:https://blog.csdn.net/yaoxin521123/article/details/136551332

文章目录

  • 第十五章 构建和配置 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.luyixian.cn/news_show_997628.aspx

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

相关文章

异常以及处理异常

认识异常 异常&#xff1a;就是代表程序出现的问题 方法一旦出现问题&#xff0c;方法的内部就会把这个问题的信息封装成一个所谓的异常对象&#xff0c;然后把这个异常对象从main方法中抛出去&#xff0c;抛给JVM虚拟机&#xff0c;JVM收到这个异常之后&#xff0c;会把程序先…

【MySQL 系列】MySQL 起步篇

MySQL 是一个开放源代码的、免费的关系型数据库管理系统。在 Web 开发领域&#xff0c;MySQL 是最流行、使用最广泛的关系数据库。MySql 分为社区版和商业版&#xff0c;社区版完全免费&#xff0c;并且几乎能满足全部的使用场景。由于 MySQL 是开源的&#xff0c;我们还可以根…

ChatGPT数据分析应用——同期群分析

ChatGPT数据分析应用——同期群分析 ​ 同期群分析在一定程度上属于分组分析的一个变种。顾名思义&#xff0c;同期群就是相同时期的群体&#xff0c;同期群分析就是针对相同时期的群体展开分析。接下来我们让ChatGPT解释这个方法的概念并提供相应的案例。发送如下内容给ChatG…

Python高级一

一、介绍 1、特点 面向对象 对象&#xff1a;对客观事物的抽象 对一个具体事务的存在&#xff0c;现实生活中可以看得见摸得着的 可以直接使用的 2、类和对象的关系 类&#xff1a;对对象的抽象 具有相似内部状态和运动规律的实体的集合(或统称为抽象) 具有相同属性和行…

nicegui学习使用

https://www.douyin.com/shipin/7283814177230178363 python轻量级高自由度web框架 - NiceGUI (6) - 知乎 python做界面&#xff0c;为什么我会强烈推荐nicegui 秒杀官方实现&#xff0c;python界面库&#xff0c;去掉90%事件代码的nicegui python web GUI框架-NiceGUI 教程…

redis最新版本在Windows系统上的安装

一、说明 这次安装操作主要是根据redis官网说明&#xff0c;一步步安装下来的&#xff0c;英语比较好的同学&#xff0c;可以直接看文章底部的超链接1&#xff0c;跳到官网按步操作即可。 目前redis的最新稳定版本为redis7.2。 二、Windows环境改造 Redis在Windows上不被官方…

设置Matlab2022a断点查看参数变化

Matlab2022a设置断点&#xff0c;查看参数变化 本文使用的是下载好的matlab2022a软件&#xff0c;下载加安装matlab预计1小时&#xff08;百度网盘加速&#xff09;。需要的安装包的评论。 安装好的matlab界面如下&#xff1a; 接下来&#xff0c;编辑一个.m文件&#xff0c;…

【Linux篇】Linux下利用git同步到gitee

&#x1f49b;不要有太大压力&#x1f9e1; &#x1f49b;生活不是选择而是热爱&#x1f9e1; &#x1f49a;文章目录&#x1f49a; 1. 克隆仓库到本地&#xff1a;git clone2. 添加&#xff1a;git add3. 提交&#xff1a;git commit4. 推送&#xff1a;git push5. 查看日志&a…

EMMC的介绍

1、emmc的含义 eMMC (Embedded Multi Media Card)是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格。eMMC在封装中集成了一个控制器&#xff0c;提供标准接口并管理闪存&#xff0c;使得手机厂商就能专注于产品开发的其它部分&#xff0c;并缩短向市场推出产…

linux救援模式恢复

只需要在这里的shell键入一条命令&#xff1a; xfs_repair -v -L /dev/dm-0 命令为修复磁盘命令 执行完成后即可重启&#xff0c;恢复正常。 如果输入xfs_repair -v -L /dev/dm-0 &#xff0c;报 no such file or directionary 的错误&#xff0c;是没有这个设备。 输入jou…

李沐动手学习深度学习——3.6练习

本节直接实现了基于数学定义softmax运算的softmax函数。这可能会导致什么问题&#xff1f;提示&#xff1a;尝试计算exp(50)的大小。 可能存在超过计算机最大64位的存储&#xff0c;导致精度溢出&#xff0c;影响最终计算结果。 本节中的函数cross_entropy是根据交叉熵损失函数…

【Redis项目实战】使用Springcloud整合Redis分布式锁+RabbitMQ技术实现高并发预约管理处理系统

&#x1f389;&#x1f389;欢迎光临&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;特别推荐给大家我的最新专栏《Redis实战与进阶》 本专栏带你Redis从入门到入魔 这是苏泽的个…

SAR ADC学习笔记(4)

CDAC电容阵列 一、电容失配 二、电容失配对CDAC线性度的影响 1.电容失配对DNL的影响 2.电容失配对INL的影响 三、分段结构的CDAC 四、CDAC开关切换方案&#xff1a;传统开关切换策略 第一次比较阶段&#xff1a;如果VP(1)-VN(1)<0 第一次比较阶段&#xff1a;如果VP(1)-VN…

Gemini 初体验

1 使用体验 同样需要科学上网。速度很快&#xff0c;而且还不要钱&#xff0c;据说使用太多可能被限流。对于小语种翻译效果比 GPT-4 好&#xff0c;其它还没测试。可通过 ChatBox 界面调用&#xff0c;也可使用 Python 调用。 2 使用 ChatBox 方式调用 在 build with gemin…

Linux基础命令[12]-cat

文章目录 1. cat 命令说明2. cat 命令语法3. cat 命令示例3.1 不加参数3.2 -n&#xff08;显示行号&#xff09;3.3 -E&#xff08;行尾加 $&#xff09;3.4 -s&#xff08;多行并一行&#xff09; 4. 总结 1. cat 命令说明 cat&#xff1a;用来查看文件内容&#xff0c;因为 …

STM32 学习9 中断、外部中断及定时器中断

STM32 学习9 中断、外部中断及定时器中断 一、STM32中断介绍一、STM32中断介绍1. 什么是中断&#xff1f;2. 中断在嵌入式系统中的作用和重要性3. STM32中断的概述 4. 中断的优先级4.1 中断优先级级别4.2 中断优先级分类&#xff08;1&#xff09;硬件优先级&#xff08;2&…

Effective C++ 学习笔记 条款16 成对使用new和delete时要采取相同形式

以下动作有什么错&#xff1f; std::string *stringArray new std::string[100]; // ... delete stringArray;每件事看起来都井然有序&#xff0c;使用了new&#xff0c;也搭配了对应的delete。但还是有某样东西完全错误&#xff1a;你的程序行为未定义。至少&#xff0c;str…

聊一聊ThreadLocal的原理?

1.ThreadLocal创建方式 ThreadLocal<String> threadlocal1 new ThreadLocal(); ThreadLocal<String> threadlocal2 new ThreadLocal(); ThreadLocal<String> threadlocal3 new ThreadLocal(); 2.首先介绍一下&#xff0c;ThreadLocal的原理&#xff1a; 如…

buuctf EasyBypass --不会编程的崽

buu后边的题有些确实难&#xff0c;有些其实也没那么复杂。昨天做一道异或绕过的题&#xff0c;现在还没看懂QAQ 先来一题简单的吧。哎&#xff0c;随缘更新吧 <?phphighlight_file(__FILE__);$comm1 $_GET[comm1]; $comm2 $_GET[comm2];if(preg_match("/\|\|\\|\…

开源分子对接程序rDock使用方法(1)-Docking in 3 steps

欢迎浏览我的CSND博客&#xff01; Blockbuater_drug …点击进入 文章目录 前言一、Docking in 3 steps 标准对接rDock 的基本对接步骤及注意事项 二、 三步对接案例Step 1. 结构文件准备Step 2. 产生对接位点Step 3. 运行分子对接3.1 检查输入文件3.2 测试-只进行打分3.3 运行…