0
点赞
收藏
分享

微信扫一扫

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

穿裙子的程序员 2024-05-11 阅读 33

在这里插入图片描述

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启动成功生效。
    在这里插入图片描述

基础运维命令

在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 配置文件至关重要。

举报

相关推荐

0 条评论