当前位置: 首页 > news >正文

nginx初学者指南

一、启动、停止和重新加载配置

前提:先要启动nginx

在Windows上启动nginx的步骤如下:

1. 下载并安装nginx。可以从nginx官网下载适合自己操作系统的版本,一般是zip压缩包,解压到指定目录中。

2. 进入nginx的安装目录,找到nginx.exe文件。

3. 双击nginx.exe文件,启动nginx服务。

4. 启动完成后,可以通过输入http://localhost来访问nginx默认页面,如果看到“Welcome to nginx”字样,说明nginx已经成功启动。

如果想要停止nginx的运行,可以使用命令nginx -s stop。如果需要重启nginx,可以使用命令nginx -s reload。

接下来:

实践如下:

现在端口号是81,我改下配置,改成82。

然后执行 nginx -s reload 重新加载

此时,由于更改了配置,原先的端口就不能用了

需要更改位82端口

好的,这就完成了nginx配置的重加载。

原理

二、提供静态功能

准备:

新建一个  data/www 目录(用来放置自己的html页面)

新建一个 data/images 目录 (用来放置自己的图片)

images里放张图片

ww放个自己的html页面

实践

更改一下nginx.conf 配置文件

①注释掉其中所有的内容。

在注释之前,我讲述一下部分的代码的作用。

② 编写nginx.conf文件

这个location块指定了 “/”前缀与来自请求的URI进行比较。 对于匹配请求,URI将添加到 根 指令,也就是说,到/data/www, 在本地文件系统上形成所请求文件的路径。 如果有几个匹配的location块,nginx 选择前缀最长的一个。 上面的location块提供了最短的 前缀,长度为1, #36825;,如果所有其他的location 块无法提供匹配,将使用此块。

http {server {location / {root /data/www;}}
}

接下来,添加第二个location块:

它将匹配以/images/开头的请求 (location / 虽然也匹配这样的请求, 它是较短的前缀)。

http {server {location / {root /data/www;}location /images/ {root /data;}}
}

③重新加载一下配置文件 nginx -s reload

但是报错了???说没有配置事件,那就给它配置一个。

顺便配置一下它监听的端口(ps:因为我的80端口被占用。默认是localhost:80)

events {
#     worker_connections  1024;
}
http {server {listen 82;location / {root /data/www;}location /images/ {root /data;}}
}

现在就可以了。

你试一下,是不是发现还不行!!!因为root配错了

/data 在windows下指的是  D:/data .........

"D:/data/www/index.html" is not found (3: The system cannot find the path specified), client: 127.0.0.1, server: , request: "GET / HTTP/1.1", host: "localhost:82"

因此换成相对路径

events {
#     worker_connections  1024;
}
http {server {listen 82;location / {#  等价于下面  root D:/nginx/nginx-1.22.0-copy/nginx-1.22.0/data/ww  ;root data/ww  ;}location /images/ {#  root D:/nginx/nginx-1.22.0-copy/nginx-1.22.0/data/images/#  这个要认真辨别一下, 当 访问 /images/ , 此时以 data为父路径,data/images/ 。  #  http://localhost:82/images/1.jpg   意味着访问  data/images/1.jpgroot data;}}
}

三、设置简单代理服务器

1. 准备一个springboot应用、修改nginx.conf


events {
#     worker_connections  1024;
}
http {server {listen 82;location / {#  等价于下面  root D:/nginx/nginx-1.22.0-copy/nginx-1.22.0/data/ww  ;root data/ww  ;}location /images/ {#  root D:/nginx/nginx-1.22.0-copy/nginx-1.22.0/data/images/#  这个要认真辨别一下, 当 访问 /images/ , 此时以 data为父路径,data/images/ 。  #  http://localhost:82/images/1.jpg   意味着访问  data/images/1.jpgroot data;}# 配置反向代理location /api/ {proxy_pass  http://localhost:8080/ ;}}
}

2. 访问   http://localhost:82/api/hello

很明显,当访问这个地址时,我们被 代理到了  http://localhost:8080/hello

3. 介绍一下正则表达式(跟本章关系不大...)

相关文章:

nginx初学者指南

一、启动、停止和重新加载配置 前提:先要启动nginx 在Windows上启动nginx的步骤如下: 1. 下载并安装nginx。可以从nginx官网下载适合自己操作系统的版本,一般是zip压缩包,解压到指定目录中。 2. 进入nginx的安装目录&#xff…...

第二十五天| 216.组合总和III、17.电话号码的字母组合

Leetcode 216.组合总和III 题目链接:216 组合总和III 题干:找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#…...

HTML+CSS:全景轮播

效果演示 实现了一个简单的网页布局,其中包含了五个不同的盒子,每个盒子都有一个不同的背景图片,并且它们之间有一些间距。当鼠标悬停在某个盒子上时,它的背景图片会变暗,并且文字会变成白色。这些盒子和按钮都被放在一…...

【WPF.NET开发】​优化性能:布局和设计

本文内容 WPF 应用程序的设计可能会在计算布局和验证对象引用时产生不必要的开销,从而影响性能。 对象的构造会影响应用程序的性能特征,在运行时更是如此。本主题提供这些方面的性能改进建议。 Layout “布局过程”一词描述了测量和排列 Panel&#x…...

go语言-context的基本使用

1. 什么是 Context? Go 1.7 标准库引入 context,中文译作“上下文”,准确说它是 goroutine 的上下文,包含 goroutine 的运行状态、环境、现场等信息。 context 主要用来在 goroutine 之间传递上下文信息,包括&#x…...

《计算机网络简易速速上手小册》第9章:物联网(IoT)与网络技术(2024 最新版)

文章目录 9.1 IoT 架构与通信协议 - 打造智能世界的秘诀9.1.1 基础知识9.1.2 重点案例:使用 Python 和 MQTT 实现智能家居照明系统准备工作Python 脚本示例发布者(灯光控制)订阅者(灯光状态接收): 9.1.3 拓…...

开源博客项目Blog .NET Core源码学习(8:EasyCaching使用浅析)

开源博客项目Blog使用EasyCaching模块实现缓存功能,主要是在App.Framwork项目中引用了多类包,包括内存缓存(EasyCaching.InMemory)、Redis缓存(EasyCaching.CSRedis),同时支持多种序列化方式&am…...

windows下docker的使用

目录 1:docker是什么,能干什么? 2:docker下初始化一个容器 1:工具支持 2:运行装载docker镜像 a:在docker toolbox底下有个start.sh,我们进去里面修改里面路径配置: …...

C语言——R/预处理详解

一、预定义符号 C语⾔设置了⼀些预定义符号,可以直接使⽤,预定义符号也是在预处理期间处理的。 __FILE__ //进⾏编译的源⽂件 __LINE__ //⽂件当前的⾏号 __DATE__ //⽂件被编译的⽇期 __TIME__ //⽂件被编译的时间 __STDC__ //如果编译器遵循ANSI C&a…...

Unity_PackageManager缺失

Unity_PackageManager缺失 Unity早期版本不带PakageManager,或是人为因素造成PakageManager缺失。 关闭Unity工程,在项目文件下Packages文件夹里打开manifest.json,修改添加一行: "com.unity.package-manager-ui": &q…...

Megatron-LM源码系列(七):Distributed-Optimizer分布式优化器实现Part2

1. 使用入口 DistributedOptimizer类定义在megatron/optimizer/distrib_optimizer.py文件中。创建的入口是在megatron/optimizer/__init__.py文件中的get_megatron_optimizer函数中。根据传入的args.use_distributed_optimizer参数来判断是用DistributedOptimizer还是Float16O…...

[SWPUCTF 2021 新生赛]ez_unserialize

根据下面的user_agent和Disallow可以判断这个是在robots.txt 我们看的出来这是一个反序列化需要我们adminadmin passwdctf construct 构造方法,当一个对象被创建时调用此方法,不过unserialize()时却不会被调用 destruct 析构方法,PHP将在对象…...

android tv开发-1,leanback 2

目录 presenter太多,如何理清关系 动画与点击 tv的登录与设置 搜索功能 带二级菜单的页面 presenter太多,如何理清关系 leanback里面已经定义好了adapter与presenter,直接继承它就可以了 private DefaultObjectAdapter mVideoAdapter; private VideoCardPresenter mCardP…...

Spring Boot注解

Spring Boot提供了许多常用的注解,用于简化开发过程和配置管理。以下是一些常用的Spring Boot注解: SpringBootApplication: 标记一个类为Spring Boot应用程序的入口点,同时也是一个组合注解,包括了Configuration、EnableAutoConf…...

JavaWeb中的Filter(过滤器)和 Listener(监听器)

提示:这两个东西听起来似乎很难,实际上是非常简单的,按照要求写就行了,一定不要被新名词给吓到了。 JavaWeb中的Filter(过滤器) 一、Filter(过滤器)1.如何编写 Filter2.Filter 中的细…...

mybatis查询修改mysql的json字段

前言: mysql5.7版本之后支持json字段类型,推荐mysql8版本,适用于属性不确定的个性化字段,比如: 身份信息{“职业”,“学生”,“兴趣”:“打乒乓球”,“特长”:“跳高,书法”}; 图片信息{“日期”:“2023-12-12 22:12”…...

实时聊天系统

这个系统可以用于网站的即时通讯,比如客服系统、在线社区等。这个功能不仅对用户友好,而且也是检验技术实现能力的一个很好的案例。 ### 功能概述 该系统允许用户在网站上实时发送和接收消息。为了保持实时性,我们将使用PHP进行服务器端的逻…...

Spring-mvc、Spring-boot中如何在调用同类方法时触发AOP

1. 问题描述 Spring-mvc和Spring-boot中aop可以实现代理的功能,我们可以借此实现事务和日志记录或者限流等多种操作。但是,如果你在一个方法中调用其同类下的其他方法的时候不会触发AOP。本文主要说明其原因及解决办法和实现原理。 2. 原因 AIOP的本质是…...

幻兽帕鲁服务器自动重启备份-python

幻兽帕鲁服务器自动重启备份-python 1. 前置知识点2. 目录结构3. 代码内容4. 原理解释5. 额外备注 基于python编写的服务器全自动管理工具,能够实现自动定时备份存档,以及在检测到服务器崩溃之后自动重新启动,并且整合了对于frp端口转发工具的…...

C# Onnx yolov8 水表读数检测

目录 效果 模型信息 项目 代码 训练数据 下载 C# Onnx yolov8 水表读数检测 效果 模型信息 Model Properties ------------------------- date:2024-01-31T10:18:10.141465 author:Ultralytics task:detect license:AGPL-…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子&#xff08…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

12.找到字符串中所有字母异位词

🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性&#xf…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...