前端nginx(windows操作系统)学习配置开发验证

在这里插入图片描述

Nginx概述

Nginx 作为负载均衡在 Linux 系统上具备很好的并发性能,并且占用极小的内存。但是在 Windows 系统上并不支撑较高并发,所以在Windows系统上选用Nginx作为负载均衡,需要考虑并发情况。

  • 若并发需求低于 300,部署集群仅以热备为目的,可选用 Nginx 作为负载均衡,若并发需求超过 300,则不建议使用 Nginx,须换用其他负载均衡。

nginx下载

因为学习使用以及电脑性能各方面考虑,就没有安装ubuntu服务器或者安装虚拟机,直接在windows操作性系统下载使用

  • 点击nginx官网下载地址
    在这里插入图片描述

nginx安装

将下载好的nginx解压放在一个自己便于管理的文件夹下,不要点击nginx.exe
请注意,如果您在 Windows 上以服务的形式安装了 Nginx,那么您可能需要使用服务管理命令来控制 Nginx,而不是直接运行 nginx.exe。此外,确保您有适当的权限来执行这些命令,尤其是在尝试管理作为服务运行的 Nginx 时。

在这里插入图片描述
附上nginx中文文档地址:nginx中文文档

启动步骤

  • cmd进入nginx文件夹终端。
  • Windows+R 输入 cmd 进行以下编译,按照本文档部署的 Nginx 应用,请使用下面的运维命令。

在这里插入图片描述

  • 进入 Nginx 目录,输入start nginx启动Nginx 。如下图所示:
  • 会有一次终端的闪烁(一闪而过)
    在这里插入图片描述
    一般初始化nginx配置中是监听的就是9000端口(不一定,可以往后看自己配置这个监听的端口)。如果在浏览器能昂文
    在这里插入图片描述

基础运维命令

在nginx目录下执行cmd,进入终端

开启:start nginx
更改完之后重启:nginx -s reload
快速停止nginx:nginx -s stop
优雅停止:nginx -s quit

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

基础配置以及注释

# Nginx配置文件
# 定义了服务器如何运行和处理请求的配置

# 指定使用的工作进程数
worker_processes  1;

# 事件处理模块配置,用于设置连接处理方式
events {
    # 每个工作进程的最大连接数
    worker_connections  1024;
}

# HTTP服务配置,包括全局、服务器块和位置块配置
http {
    # 包含mime.types文件,用于定义各种文件类型的默认 MIME 类型
    include       mime.types;
    # 默认的 MIME 类型
    default_type  application/octet-stream;

    # 启用sendfile特性,用于提高文件发送性能
    sendfile        on;
    # 设置客户端连接的保持活动状态超时时间
    keepalive_timeout  65;

    # 启用gzip压缩,减少数据传输量
    gzip  on;

    # 服务器块配置,可以有多个,用于处理不同的请求
    server {
        # 监听的端口和服务器名称
        listen       9000;
        server_name  localhost;

        # 首页请求处理
        location / {
            # 尝试按顺序查找对应的文件,未找到则重定向到/index.html或/index.htm
            try_files $uri $uri/ /index.html /index.htm;
        }

        # API请求处理
        location  /api/ {
            # 将API请求代理到指定的IP地址和端口上
            proxy_pass  http://192.168.31.111:9000;
        }
    }
}

结构解释

Nginx 的配置文件结构是分层的,主要分为四个部分:主配置区块、事件区块、HTTP区块和服务器区块。下面是每个区块的简要说明和它们在配置文件中的作用:

  1. 主配置区块 (http 之外的部分)

    • 这是最外层的配置区块,包含了全局的配置指令,如配置文件的包含指令 include、用户定义的变量、进程数 worker_processes 等。
  2. 事件区块 (events {})

    • 这个区块配置了与客户端连接相关的设置,比如连接超时时间、工作模式(单线程或多线程)等。
  3. HTTP区块 (http {})

    • 这是核心区块,包含了处理 HTTP 请求相关的配置。它包括文件扩展名与 MIME 类型的映射、日志定义、连接超时等。
  4. 服务器区块 (server {})

    • 位于 HTTP 区块内部,用于定义如何处理针对特定域名或 IP 地址的请求。服务器区块可以包含多个,用于配置虚拟主机。

在服务器区块内部,还可以有:

  • 监听区块 (listen): 指定服务器监听的地址和端口。
  • 服务器名称区块 (server_name): 定义当前服务器块适用的域名。
  • 位置区块 (location {}): 定义请求的 URI 匹配规则,以及匹配后的处理方式,如静态资源服务、代理设置等。

一个典型的 Nginx 配置文件结构示例:

# 用户和组
user  nginx;
worker_processes  auto;

# 错误日志定义
error_log  /var/log/nginx/error.log warn;

# 进程pid文件
pid        /var/run/nginx.pid;

# 事件区块
events {
    worker_connections  1024;
}

# HTTP区块
http {
    # 文件扩展名与MIME类型的映射
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    # 日志格式定义
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

    # 访问日志定义
    access_log  /var/log/nginx/access.log  main;

    # 其他HTTP设置
    sendfile       on;
    # TCP_NODELAY 套接字选项
    tcp_nopush     on;
    # 防止网络运营商缓存页面
    tcp_nodelay    on;

    # 包含其他配置文件
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

    # 服务器区块
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  localhost;

        # 服务器名称
        server_name_in_redirect off;

        # 客户端请求头部中Host字段的值
        root   /usr/share/nginx/html;
        # 默认页面
        index  index.html index.htm;

        location / {
            try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
            # 配置PHP处理
        }

        # 其他location区块...
    }

    # 其他服务器区块...
}

这个结构展示了 Nginx 配置文件的基本框架,实际配置可能会更复杂,包括更多的指令和区块。理解这个基本结构对于编写和维护 Nginx 配置文件至关重要。

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

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

相关文章

LMdeploy推理实践

在inter-studio平台上,下载模型,体验lmdeploy 下载模型 这里是因为平台上已经有了internlm2模型,所以建立一个符号链接指向它,没有重新下载 ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b /root/如…

四级英语翻译随堂笔记

降维表达:中译英,英译英 没有强调主语,没有说明主语:用被动 但如果实在不行,再增添主语 不会就不翻译,不要乱翻译 以xxx为背景:against the backdrop of the xxx eg:against the backdrop of…

关于执行CLAM的代码的一些需要记录的点

文章链接:[2004.09666] Data Efficient and Weakly Supervised Computational Pathology on Whole Slide Images (arxiv.org) 代码链接:GitHub - mahmoodlab/CLAM: Data-efficient and weakly supervised computational pathology on whole slide images…

如何将 ONLYOFFICE 协作空间服务器版更新至 2.5

最近我们发布了 ONLYOFFICE 协作空间 2.5 云端版。好消息,该文档协作平台的自托管版本也已推出。现在,您可以轻松更新协作空间的实例,在本地尝试所有新功能。阅读本文了解更多信息。 ONLYOFFICE 协作空间 2.5 新功能 更新到 ONLYOFFICE 协作…

暴雨发布大模型专用分布式全闪存储

近日,暴雨信息发布为大模型专门优化的分布式全闪存储AVERSE系列。该系列依托暴雨信息自研分布式文件系统,搭载新一代数据加速引擎Xdata,通过盘控协同、GPU直访存储、全局一致性缓存等技术为AI大模型数据归集、训练、数据归档与管理等阶段提供…

安卓玩机工具----一键备份手机分区 防止全檫除或者格机导致安全数据分区丢失

工具说明; 目前玩机root后有很多格机脚本。模块等等误刷会导致基带信号等等问题,在前面的博文中我有介绍过备份主要数据分区的重要性 。其实对于不了解root和不安装有些模块 外挂等等需要的友友不建议对手机进行root。root后对于手机安全性会有所降低。对于玩家来说…

Python 全栈体系【四阶】(四十一)

第五章 深度学习 九、图像分割 1. 基本介绍 1.1 什么是图像分割 图像分割(Segmentation)是图像处理和机器视觉一个重要分支,其目标是精确理解图像场景与内容。图像分割是在像素级别上的分类,属于同一类的像素都要被归为一类&a…

【GA】deap之个体和种群概览(一)

参考资料 1.《基于遗传算法(deap库)的一元函数寻优代码详解》 2.官方文档:http://deap.readthedocs.io/en/master/index.html 3.《 Deap: python中的遗传算法工具箱》 ,⭐️666 —————— 文章目录 壹、overview一、Types1. Fitness 适应…

八.吊打面试官系列-Tomcat优化-深入源码剖析Tomcat如何打破双亲委派

前言 上篇文章《Tomcat优化-深入Tomcat底层原理》我们从宏观上分析了一下Tomcat的顶层架构以及核心组件的执行流程。本篇文章我们从源码角度来分析Tomcat的类加载机制,且看它是如何打破JVM的ClassLoader双亲委派的 Tomcat ClassLoader 初始化 Tomcat的启动类是在…

【热门话题】实用Chrome命令:提升前端开发效率的利器

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 实用Chrome命令:提升前端开发效率的利器引言目录1. 快速打开Chrome …

基于C语言的贪吃蛇小游戏(简易版)

这篇博客会是对学习C语言成果的检测,为了实现贪吃蛇小游戏,我们用到的“工具”有:C语言函数、枚举、结构体、动态内存管理、预处理指令、链表、Win32 API等。 目录 1.简易版游戏效果 1.1欢迎界面 1.2游戏规则提示页面 1.3游戏进行页面 …

《挑战100个产品拆解:抖音》

抖音,作为当今社交媒体领域的明星产品,其背后的产品思维一直备受关注。在这篇文章中,我们将深入拆解抖音的产品思维,揭示其成功的秘密。 产品定位 1.产品是什么样的用户: 年轻人和青少年是抖音的主要用户群体。抖音…

20240506 深度学习高级技术点

1.基于BN层剪枝 基于Batch Normalization (BN)层进行剪枝是一种常用的模型压缩方法,特别是在卷积神经网络(CNNs)中。BN层在训练期间用于加速收敛和提高模型的泛化能力,而在剪枝过程中,BN层提供的统计信息(特别是均值(mean)和方差…

深度学习之基于YOLOv5电线电缆目标检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 项目简介:深度学习之基于YOLOv5电线电缆目标检测系统 本项目旨在利用深度学习技术,特别是基…

栈(使用顺序表构建)

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 目录 1、栈的概念2、栈的数组构建方法2.1 前言2.2 正文2.2.1 栈的初始化2.2.2 栈的销毁2.2.3 压…

工程绘图神器:Origin 2021软件安装与图像demo水印问题解决

目录 引言 正文 01-Origin软件简介 02-Origin软件安装 03-Origin软件复制图像带有水印问题解决 引言 注:本篇软件安装内容引用了微信公众号“软件管家”里的Origin 2021安装教程和…

[1726]java试飞任务规划管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java试飞任务规划管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql…

环境配置、内核配置、字符型驱动设备

配置交叉编译环境 arm-linux-gcc -v交叉编译 1、将版本配置为4.4.3 2、内核一部分 外设(时钟配置、GPIO、串口) 3、配置环境(将板载设置为2440) ubuntu下查看函数原码 ctag -R 路径 设置完成后进主 函数将光标停在函数名字处按…

Linux动态库与静态库解析

文章目录 一、引言二、C/C源文件的编译过程三、静态库1、静态库的定义和原理2、静态库的优缺点3、静态库的创建和使用a、创建静态库b、使用静态库 四、动态库1、动态库的定义和原理2、动态库的优缺点3、动态库的创建和使用示例a、创建动态库b、使用动态库 五、动静态库的比较 一…

KDTree空间搜索算法学习

目录 KDTree(K-Dimensional Tree)原理步骤空间索引建立例子[^1] 相关包案例[^2]数据KDTree 识别轨道衔接出行轨道衔接单车骑行范围分析结果保存 KDTree(K-Dimensional Tree)原理 将需要匹配的 K 维空间点建立 K 维树空间索引&…