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

【nginx】nginx.conf配置详解

nginx 安装配置
nginx/conf/nginx.conf文件
Ngnix配置config,Docker安装

# = 全局块 =
# 定义 Nginx 工作进程的用户和用户组,linux写为用户名就行
user nginx;
# 定义 Nginx 工作进程的数量,通常设置为 CPU 核心数
worker_processes auto;
# 错误日志的路径和日志级别
error_log /var/log/nginx/error.log warn;
# Nginx 进程 ID 存储文件的路径
pid /var/run/nginx.pid;


# = events 块 =
events {
    # 每个工作进程允许的最大连接数
    worker_connections 1024;
    # 选择事件驱动模型,不同操作系统有不同的最优选择,如 epoll(Linux)、kqueue(FreeBSD)等;=可不写=
    use epoll;
}


# = http 块 =
http {
    # 文件扩展名与文件类型的映射表
    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;

    # 开启高效文件传输模式,sendfile 可以将文件数据直接从磁盘传输到网络,减少用户空间和内核空间的拷贝
    sendfile on;
    # 数据包发送时间间隔,用于提高网络传输效率;=可不写=
    tcp_nopush on;

    # 客户端连接超时时间
    keepalive_timeout 65;

    # 开启 gzip 压缩;=可不写=
    gzip on;
    # 最小压缩文件大小;=可不写=
    gzip_min_length 1k;
    # 压缩级别,范围 1-9,数值越大压缩比越高,但 CPU 消耗也越大;=可不写=
    gzip_comp_level 2;
    # 压缩的文件类型;=可不写=
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    # 包含其他配置文件,方便管理和维护
    include /etc/nginx/conf.d/*.conf;


	# = server 块 =
    # server 块,配置虚拟主机
    server {
        # 监听的端口
        listen 80;
        # 服务器的域名或 IP 地址,可以localhost
        server_name example.com;

        # 根目录,请求的文件将从该目录中查找
        root /var/www/html;
        # 默认首页文件
        index index.html index.htm;


		# = location 块 =
        # location 块,用于匹配不同的 URL 路径
        location / {
            # 处理请求的方式,这里表示直接返回文件内容
            try_files $uri $uri/ /index.html;
        }
		# /Services/ 是具体的匹配规则,表示当客户端发起的 HTTP 请求的 URI 以 /Services/ 开头时,就会使用这个 location 块内的配置来处理该请求。例如,像 /Services/api/getData
		location /Services/ {
		    # proxy_pass 是 Nginx 实现反向代理功能的核心指令。它的作用是将客户端的请求转发到指定的后端服务器。http://localhost:8088 明确了后端服务器的地址和端口。在这个配置中,意味着当请求匹配到 /Services/ 时,Nginx 会把请求转发到本地机器(localhost)的 8088 端口上运行的服务。比如,客户端访问 http://your-nginx-server.com/Services/api/getData,Nginx 会将该请求转发到 http://localhost:8088/Services/api/getData。
			proxy_pass http://localhost:8088;
			# proxy_set_header 用于在将请求转发到后端服务器时,修改或添加请求头信息。它可以帮助后端服务器获取到一些额外的有用信息。
			# $proxy_add_x_forwarded_for 是 Nginx 的一个变量,它会将客户端的 IP 地址添加到 X-Forwarded-For 头中。如果请求已经经过了其他代理服务器,这个变量还会将之前代理服务器记录的 IP 地址一并追加进来,多个 IP 地址之间用逗号分隔。例如,如果客户端的 IP 是 1.2.3.4,请求先经过了代理服务器 5.6.7.8,再经过当前的 Nginx 服务器,那么 X-Forwarded-For 头的值会是 1.2.3.4, 5.6.7.8。
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		}
		# 可以配置多个服务xxxxx
		location /xxxxxx/ {
            # 处理请求的方式,这里表示直接返回文件内容
            try_files $uri $uri/ /index.html;
        }



        # 处理静态资源的 location 块
        location /static/ {
            # 静态资源的根目录
            alias /var/www/static/;
        }

        # 错误页面配置
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root /var/www/html;
        }
    }
}

相关文章:

  • 编写第一个 C++ 程序 – Hello World 示例
  • 【YOLOv8】YOLOv8改进系列(3)----替换主干网络之ConvNeXt V2
  • Nginx的安装和部署以及Nginx的反向代理与负载均衡
  • 芯旺微KF32A156芯片CANFD过滤配置
  • 【数据结构】顺序表和链表
  • PHP Zip 文件处理指南
  • 计算机毕设-基于springboot的人工智能领域复合型人才校企协同培养管理系统的设计与实现(附源码+lw+ppt+开题报告)
  • xcLeigh 博主:全栈领域优质创作者,博客专家
  • LabVIEW 中 codeGenEngine.llb 工具库
  • 简单理解Oracle中的latch
  • bat命令在b站下载单个音视频
  • 【GO】学习笔记
  • leetcode_动态规划/递归 509. 斐波那契数
  • 【LLM】R1复现项目(SimpleRL、OpenR1、LogitRL、TinyZero)持续更新
  • ROS2 强化学习:案例与代码实战
  • flutter: table calendar笔记
  • Log | Hugo+PaperMod+Github创建自己的博客网站
  • 京东web 详情 cfe滑块分析
  • 电脑键盘知识
  • uniapp从入门到精通(全网保姆式教程)~ 别再说你不会开发小程序了
  • 时隔三年,俄乌直接谈判重启
  • 新片|《碟中谍8:最终清算》定档5月30日
  • 多地举办演唱会等吸引游客刺激消费,经济日报:引导粉丝经济理性健康发展
  • 上海黄浦江挡潮闸工程建设指挥部成立,组成人员名单公布
  • 92岁上海交大退休教师捐赠百万元给学校,其父也曾设奖学金
  • 中国科学院院士、我国航天液体火箭技术专家朱森元逝世