Windows 环境nginx安装使用及目录结构详解


一、 Windows 环境nginx安装及基本使用


1、下载 nginx-1.27.1 最新的主线版本

安装 nginx/Windows,请下载1.27.1最新的主线版本, nginx 的主线分支包含所有已知的修复程序。

在这里插入图片描述


2、 解压缩 nginx-1.27.1 版本

在这里插入图片描述


nginx/Windows 作为标准控制台应用程序(而不是服务)运行, 可以使用以下命令对其进行管理:

nginx -s stop快速关闭
nginx -s quit正常关闭
nginx -s reload更改配置, 使用新配置启动新的 worker 进程, 正常关闭旧的工作进程
nginx -s reopen重新打开日志文件

3、切换到解压目录,执行命令运行 :
cd  nginx-1.27.1

4 、启动nginx
start nginx

在这里插入图片描述


5、查看nginx 进程
tasklist /fi  "imagename eq nginx.exe"

在这里插入图片描述

其中一个进程是主进程,另一个进程是 worker 进程。

如果 nginx 没有启动,请在错误日志文件 :logs\error.log

如果尚未创建日志文件,则应报告其原因 在 Windows 事件日志中。


6、自定义维护脚本

自定义维护脚本: startup.bat ,增加启动 、关闭、重启、退出配置项,如图:

在这里插入图片描述

~文章末尾全部源码 ,有需要的朋友可拿去使用。


二、nginx 目录结构详解


1、conf/ 目录

功能和作用:

  • 存放Nginx的配置文件
  • 包含主配置文件nginx.conf和其他辅助配置文件

主要文件:

  • nginx.conf: 主配置文件
  • mime.types: MIME类型映射
  • fastcgi_params, scgi_params, uwsgi_params: 各种协议的参数配置

使用注意事项:

  • 修改配置后需要重新加载或重启Nginx

  • 建议对重要配置文件进行备份

  • 使用nginx -t命令检查配置文件语法

  • 注意文件权限,确保Nginx进程有读取权限

  • 可以使用include指令拆分复杂配置


2、contrib/

NGINX的contrib目录主要包含一些附加的工具和模块,这些内容不是NGINX核心功能的一部分,但可能对NGINX高级户和开发者有用。下面详细解释一下contrib目录的作用和内容:

(1)、辅助工具

contrib目录包含了一些辅助工具,这些工具可以帮助NGINX的配置、管理和使用。例如:

  • vim语法高亮脚本: 用于在vim编辑器中高亮显示NGINX配置文件的语法。

  • geo2nginx.pl: 一个Perl脚本,用于将MaxMind GeoIP数据库转换为NGINX可用的格式。

(2)、第三方模块

一些由社区开发的NGINX模块也会放在contrib目录中。这些模块提供了额外的功能,但并未被包含在NGINX的核心代码中。

(3)、实验性功能

有时,一些实验性的或者尚未完全集成到NGINX主线中的功能也会放在contrib目录下。

(4)、示例代码

contrib目录可能包含一些示例代码或配置,展示如何使用NGINX的某些特性或如何开发NGINX模块。

(5)、文档和指南

一些额外的文档、指南或者HOW-TO文档可能也会放在contrib目录中。

(6)、性能测试工具

可能会包含一些用于NGINX性能测试或基准测试的工具。

需要注意的是:

  • contrib目录中的内容通常不会得到NGINX官方的正式支持。
  • 使用contrib目录中的内容时应当谨慎,并自行评估其稳定性和安全性。
  • contrib目录的具体内容可能会随着NGINX版本的不同而变化。

对于NGINX开发者和高级用户来说,contrib目录是一个宝库,可以找到很多有用的工具和扩展。但对于普通用户,核心的NGINX功能通常已经足够使用,不必过多关注contrib目录。如果你对NGINX的扩展开发感兴趣,contrib目录中的内容可以作为很好的参考和学习资料。


3、docs/ 目录

功能和作用:

  • 存放Nginx的文档
  • 包含HTML格式的用户指南、开发指南等

使用注意事项:

  • 这些文档通常是离线版本,可能不如官网更新
  • 建议同时参考官方在线文档获取最新信息
  • 对于开发者和管理员,这是很好的学习资源

4、html/ 目录

功能和作用:

  • 存放默认的静态网页文件
  • 包含默认的欢迎页面和错误页面

使用注意事项:

  • 可以自定义这些页面,但要注意保留原始文件作为备份
  • 确保文件权限正确,允许Nginx读取
  • 在生产环境中,建议将静态文件放在单独的目录或使用专门的静态文件服务器

5、logs/ 目录

功能和作用:

  • 存放Nginx的日志文件
  • 通常包含access.log (访问日志) 和 error.log (错误日志)

使用注意事项:

  • 定期检查和分析日志文件

  • 实现日志轮转以管理磁盘空间

  • 注意日志文件的权限,确保Nginx可以写入

  • 考虑使用logrotate等工具自动管理日志

  • 在高流量站点,注意日志对I/O性能的影响


6、temp/ 目录

功能和作用:

  • 存放Nginx运行时的临时文件
  • 可能包含客户端请求体、代理、FastCGI等的临时数据

使用注意事项:

  • 确保有足够的磁盘空间
  • 定期清理,但不要手动删除正在使用的文件
  • 可以通过配置调整临时文件的位置
  • 在高并发环境下,考虑将temp目录放在性能较好的存储设备上
  • 注意文件系统权限,确保Nginx进程可以读写

通过正确管理和利用这些目录,可以提高Nginx的性能、安全性和可维护性。对于不同的使用场景,可能需要对这些目录进行不同的优化和配置。


三、自定义脚本完整源码


使用时,只需要修改对应的 Nginx 根目录,保存为 startup.bat 即可:

SET NGINX_DIR=C:\nginx-1.27.1\
@ECHO OFF  
SET NGINX_DIR=C:\nginx-1.27.1\
color 0a 
TITLE Nginx Management  
GOTO MENU 
:MENU 
CLS 
ECHO. 
ECHO. * * * *  Nginx Management  * * * * * * * * * * * 
ECHO. * * 
ECHO. * 1 启动Nginx * 
ECHO. * * 
ECHO. * 2 关闭Nginx * 
ECHO. * * 
ECHO. * 3 重启Nginx * 
ECHO. * * 
ECHO. * 4 测试配置文件 * 
ECHO. * *
ECHO. * 5 退 出 * 
ECHO. * *  
ECHO. * * * * * * * * * * * * * * * * * * * * * * * * 
ECHO. 
ECHO.请输入选择项目的序号: 
set /p ID= 
IF "%id%"=="1" GOTO cmd1 
IF "%id%"=="2" GOTO cmd2 
IF "%id%"=="3" GOTO cmd3 
IF "%id%"=="4" GOTO cmd4 
IF "%id%"=="5" EXIT 
PAUSE 
:cmd1 
ECHO. 
ECHO.启动Nginx...... 
IF NOT EXIST %NGINX_DIR%nginx.exe ECHO %NGINX_DIR%nginx.exe不存在 
cd %NGINX_DIR% 
IF EXIST %NGINX_DIR% start %NGINX_DIR%nginx.exe 
ECHO.OK 
PAUSE 
GOTO MENU 
:cmd2 
ECHO. 
ECHO.关闭Nginx...... 
taskkill /F /IM nginx.exe > nul 
ECHO.OK 
PAUSE 
GOTO MENU 
:cmd3 
ECHO. 
ECHO.关闭Nginx...... 
taskkill /F /IM nginx.exe > nul 
ECHO.OK 
GOTO cmd1 
GOTO MENU
:cmd4 
ECHO. 
ECHO.测试Nginx的配置文件...... 
nginx.exe -t 
ECHO.OK 
PAUSE 
GOTO MENU 

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

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

相关文章

uniapp__微信小程序如何对比时间组件框选中框之后的时间大小

1、时间组件框选择时间 2、做判断 if (new Date(selectedDate) < new Date(this.startDate)) {uni.showToast({title: 结束时间不能早于起始时间,icon: none,duration: 2000});return;}console.log(new Date(selectedDate),new Date(this.endDate)); 3、打印出来的时间对比…

#QT 笔记一

重点&#xff1a;面试考试大概率涉及&#xff0c;需要不借助任何资料掌握。掌握&#xff1a;面试考试可能涉及&#xff0c;需要不借助任何资料掌握。熟悉&#xff1a;面试考试可能涉及&#xff0c;可以稍微参考资料掌握。了解&#xff1a;面试考试小概率涉及&#xff0c;面试拔…

【STM32+HAL库】---- 通用定时器PWM输出实现呼吸灯

硬件开发板&#xff1a;STM32G0B1RET6 软件平台&#xff1a;cubemaxkeilVScode1 新建cubemax工程 1.1 配置系统时钟RCC 1.2 配置定时器 找到LED所对应的引脚PA5&#xff0c;选择TIM2_CH1模式 在TIM2中&#xff0c;时钟源选择内部时钟Internal Clock&#xff0c;通道1选择PWM…

Docker中的容器内部无法使用vi命令怎么办?

不知道你是否遇到过,在修改容器内部的配置的时候,有时候会提示vi命令不可用。尝试去安装vi插件,好像也不是很容易,有什么办法可以帮助我们修改这个配置文件呢? 解决办法 这时候,我们就需要用到docker cp 命令了,它可以帮助我们把容器内部的文件复制到宿主机上,也可以将…

服务器文件权限限制写入

1、先查看文件需要的用户权限。 ls -l2、判断自己的账户不具备写入权限 container里面建的文件&#xff0c;需要用户身份是root&#xff0c;如果你不在rootfile里file的话&#xff0c;是无法对需要root权限的文件增删改的。 3、创建container与宿主机共享的文件夹 如果想宿…

跟李沐学AI:循环神经网络RNN

循环神经网络 循环神经网络&#xff08;recurrent neural networks&#xff0c;RNNs&#xff09; 是具有隐状态的神经网络。RNN 具有隐状态&#xff08;hidden state&#xff09;的原因在于它需要一种机制来存储之前输入的信息&#xff0c;以便于处理当前输入时能够考虑之前的…

STM32H7 串口 空闲中断 硬件FIFO 任意长接收 Hal库 IDLE

STM32H7 串口 空闲中断 硬件FIFO 任意长接收 Hal库 IDLE 由于工作原因好久不接触ST的芯片了&#xff0c;所以断更ST的东西了&#xff0c;不过偶尔玩玩也挺好的。 接着上篇继续说串口的事儿&#xff0c;这次是FIFO&#xff0c;STM32H7的串口都是带硬件FIFO&#xff0c;大小是发…

遥感技术在环境监测中的应用:揭秘地球变化的天眼

当我们仰望星空&#xff0c;探索宇宙的奥秘时&#xff0c;别忘了脚下的这片土地同样蕴藏着无数未解之谜。遥感技术&#xff0c;这个听起来似乎遥不可及的名字&#xff0c;其实正是我们透视地球环境变化的“天眼”。今天将带大家一探遥感技术如何在环境监测中大显身手&#xff0…

Unity(2022.3.41LTS) - UI详细介绍-画布

目录 零. 简介 一、画布的作用 二、画布的组件 Canvas Scaler&#xff08;画布缩放器&#xff09;&#xff1a; Constant Pixel Size模式 更改分辨率 Scale With Screen Size 模式 更改分辨率 Constant Physical Size模式 更改分辨率 Graphic Raycaster&#xff08;图形…

系统编程--信号

这里写目录标题 信号的概念特点二级目录二级目录 信号的产生二级目录二级目录二级目录 信号集操作函数二级目录二级目录二级目录 信号捕捉二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 信号的概念 特点 注意&#xff1a;所有信号的产生及其处理都是内核完成&am…

开源项目管理工具Taiga

什么是 Taiga &#xff1f; Taiga 是一个免费开源&#xff0c;而且功能非常强大的项目管理平台&#xff0c;用于初创企业和敏捷开发团队。Taiga 专注于简洁性&#xff0c;并且界面很干净简单。Taiga 也非常个性化&#xff0c;并集合了很多其它功能和外部工具&#xff0c;还有大…

一文讲清楚你既熟悉又陌生的:虚拟现实技术(VR)

文章目录 一、基本概念二、核心组件1. 硬件设备2. 软件系统 三、技术原理四、虚拟现实系统的分类1. 桌面式虚拟现实2. 沉浸式虚拟现实3. 增强式虚拟现实4. 分布式虚拟现实 五、应用领域1. 游戏和娱乐2. 教育3. 心理治疗4. 社交和会议5. 医疗6. 房产地产7. 城市规划8. 航天军工9…

2024.9.4

#include <iostream> #include <cstring> using namespace std;template<typename T> class Stack { private:int len;int count 0;T *stack; public:Stack():len(10) //无参构造{stack new T[len];stack[len] {0};}Stack(int len):len(len) …

MACOS安装配置前端开发环境

官网下载安装Mac版本的谷歌浏览器以及VS code代码编辑器&#xff0c;还有在App Store中直接安装Xcode&#xff08;里面自带git&#xff09;&#xff1b; node.js版本管理器nvm的下载安装如下&#xff1a; 参考B站&#xff1a;https://www.bilibili.com/video/BV1M54y1N7fx/?sp…

使用 Vue3 Element Plus 实现el-table中的特定单元格编辑,下拉选择等

效果预览 完整代码(后面有解析) <template><div style="display: flex;align-items: center;justify-co

海绵城市雨水监测系统

海绵城市雨水监测系统主要有&#xff1a;数据采集、无线数据传输、后台云服务、终端平台显示等部分组成。系统通过前端数据采集水质&#xff08;ss\cod\浊度、PH等&#xff09;、雨水雨量、流量、水位、土壤湿度、气象等数据。通过无线数据传输通讯&#xff08;4G、5G、以太网、…

【Unity】简单机甲运动系统——坦克式操控方式

最近两天想做一个人形机甲的游戏&#xff0c;由于本人又是一个拟真军事爱好者&#xff0c;不太喜欢机动特别高的&#xff0c;所以打算参考坦克类游戏来制作一个脚&#xff01;踏&#xff01;实&#xff01;地&#xff01;的机甲游戏 这个运动系统基本实现了逻辑和动画的分离&a…

低代码用户中心的构建与应用

引言 在现代软件开发中&#xff0c;低代码平台因其高效、灵活、用户友好的特性而逐渐受到青睐。特别是在用户中心的构建方面&#xff0c;低代码平台能够显著提升开发效率&#xff0c;降低开发成本。本文将探讨如何利用低代码平台构建一个高效的用户中心&#xff0c;并分享一些…

002:显示DICOM图像(替换掉 vtkImageViewer2 )

VTK 医学图像处理---DICOM图像显示 对第一个DICOM显示例子的展开&#xff08;替换掉vtkImageViewer2类&#xff09; 两个例子实现的效果对比&#xff0c;其中右侧是对第一个例子展开后的显示效果&#xff0c;展示了一个完整的VTK渲染管线的过程。 目录 VTK 医学图像处理---DIC…

神策SDK不支持Windows客户端全埋点,怎么实现用户统计分析?

本文将介绍&#xff0c;ClkLog针对神策不支持全埋点的客户端实现用户访问基础统计分析 1。 客户遇到的问题 ClkLog的用户访问基础统计分析功能是基于神策SDK的全埋点来实现的。 我们遇到有些客户是使用C、C#等语言来开发的客户端&#xff0c;然而神策此类SDK&#xff08;如C, C…