【Nginx基础篇】nginx的基本配置解析和应用场景

news2024/12/22 20:05:30

目录

一、最小配置

二、虚拟主机


一、最小配置

原始的配置文件


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       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  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

将注释删除后最简版


worker_processes  1;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;


    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;


        location / {

            root   html;
            index  index.html;
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
}
worker_processes
worker_processes 1 ; 默认为 1 ,表示开启一个业务进程
worker_connections
worker_connections 1024 ; 单个业务进程可接受连接数
include mime.types;
include mime.types ; 引入 http mime 类型
default_type application/octet-stream;
default_type application/octet - stream ; 如果 mime 类型没匹配上,默认使用二进制流的方式传输。
sendfifile on;
sendfile on ; 使用 linux sendfile(socket, file, len) 高效网络传输,也就是数据 0 拷贝。
未开启 sendfifile,此时nginx从磁盘拷贝请求资源后,到网络接口缓存之间仍需要经过多次拷贝

 开启后,只需要一个信号,读取一次

 keepalive_timeout 65;  连接保持心跳时间,这里分为客户端和被代理端,以后会介绍

server,一个server可以表示一台主机,所以配置多个server可以有多态虚拟主机(vhost)

 虚拟主机配置

server {
    listen 80; 监听端口号
    server_name localhost; 主机名
    location / { 匹配路径
        root html; 文件根目录
        index index.html index.htm; 默认页名称
    }
    error_page 500 502 503 504 /50x.html; 报错编码对应页面
    location = /50x.html {
        root html;
    }
}

二、虚拟主机

原本一台服务器只能对应一个站点,通过虚拟主机技术可以虚拟化成多个站点同时对外提供服务
servername 匹配规则
我们需要注意的是 servername 匹配分先后顺序,写在前面的匹配上就不会继续往下匹配了。
完整匹配
我们可以在同一 servername 中匹配多个域名
server_name vod.mmban.com www1.mmban.com;
通配符匹配
server_name *.mmban.com
通配符结束匹配
server_name vod.*;
正则匹配
server_name ~^[0-9]+\.mmban\.com$;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【前后端分离项目】搭建前后端分离项目框架(vue前端)

创建项目文件夹 创建文件夹(框架),可以在里面增加页面实现自己的需求。 在官网下载nodejs 官网地址:https://nodejs.org/en nodejs中自带了npm包,npm负责管理依赖,将nodejs下载完成后,即可使…

开关电源基础04:新型开关电源拓扑(1)-拓扑的改进

说在开头:关于互补原理 玻尔在挪威滑雪之余好好的思考了波粒问题,并逐渐完善了这个新想法;当他看到海森堡的论文时,自然而然地用这种想法去印证整个结论。他问海森堡:这种不确定性是从粒子的本性而来,还是…

软件架构:构建软件架构SOA

Web服务一种作为炙手可热的技术,应用到企业的IT系统和商业流程之中,并给企业带来直接的经济效益,一直以来得到了国内外企业管理者的推崇。而在近两年,伴随着企业需求的不断变化,一种被誉为Web服务的技术架构&#xff0…

【Flowable】Flowable任务分配和流程变量

1.任务分配 (1).固定分配 固定分配就是我们前面介绍的,在绘制流程图或者直接在流程文件中通过Assignee来指定的方式 (2).表达式分配 Flowable使用UEL进行表达式解析。UEL代表Unified Expression Language,是EE6规范的一部分.Flowable支持两种UEL表…

基于云平台的光伏监控系统是怎样的?

摘要:针对国内光伏发电监控系统的研究现状,文中提出了基于云平台的光伏发电监控体系。构建基于B/S架构的数据实时采集与推送,以SSH(strutsspringhibernate)作为Web开发框架,开发基于云平台的光伏发电远程监控系统。在平台部署过程…

开关电源基础04:新型开关电源拓扑(2)-新型电源拓扑

说在开头:关于量子理论 我们再来回顾下量子理论对双缝干涉的解释:当电子通过狭缝,假如我们采用任其自然的观测方式,让它不受干扰地在空间中传播,这时候电子的波动性就占据了上风,它于是以某种方式同时穿过…

农业机器人技术栈

结构光 https://www.youtube.com/watch?vmSsnf5tqXnA 局部路径规划算法 光流法 统计像素 分辨前景背景 绿色是我们比较关注的 unet做图像分割 运动比较剧烈的是前景 特征点匹配 大豆农田点云建图 农田路况复杂 光流计算量比较大,可以捕捉运动比较大的物体 分割检…

ChatGPT直接访问,Edge浏览器-免费ChatGPT保姆级教程

人工智能大浪潮已经来临,对于ChatGPT,我觉得任何一个玩互联网的人,都应该重视起来,用起来。但是国内使用需要解决科学上网、注册、收费等繁琐问题。 所以,今天这篇文章就来推荐一个插件,无需任何繁琐操作&…

日撸 Java 三百行day48

文章目录 说明day48 堆排序1.基本思路2.代码 说明 闵老师的文章链接: 日撸 Java 三百行(总述)_minfanphd的博客-CSDN博客 自己也把手敲的代码放在了github上维护:https://github.com/fulisha-ok/sampledata day48 堆排序 1.基本…

【虚幻引擎】UE5 C++编译和打包失败的原因

一、出现The required library hostfxr.dll could not be found 错误 原因是缺少.NET Core3.1 解决办法一:可以去官网下载https://dotnet.microsoft.com/en-us/download/dotnet/3.1 解决方案二:打开Visual Studio Installer,选择单个组件&…

计算机Intel CPU体系结构分析

前段meldown漏洞事件的影响,那段时间也正好在读Paul的论文关于内存屏障的知识,其中有诸多细节想不通,便陷入无尽的煎熬和冥想中,看了**《计算机系统结构》、《深入理解计算机系统》、《大话处理器》**等经典书籍,也在g…

ISO9001是什么?ISO9000和ISO9001有何关系?

ISO 9000和ISO 9001是质量管理领域的两个重要标准。它们被用来确保组织能够提供符合客户要求的产品和服务,同时不断提高其业务效率和质量水平。本文将探讨ISO 9000和ISO 9001之间的关系,解释它们的区别以及为什么对企业非常重要。 什么是ISO9000和ISO90…

Windows安装Maven并配置环境

Windows下安装和配置Maven的步骤 介绍:步骤:步骤 1:下载Maven步骤 2:解压缩Maven分发包步骤 3:设置环境变量步骤 4:验证安装 结论: 介绍: Maven是一个非常流行的构建和项目管理工具…

Tunel技术是什么?

IPv4 用 32 位整数描述地址,最多只能支持 43 亿设备,显然是不够用的,这也被称作 IP 地址耗尽问题。为了解决这个问题,有一种可行的方法是拆分子网。拆分子网,会带来很多问题,比如说内外网数据交互&#xff…

银行业数字化运营体系(上):渠道触点矩阵建设

数字化运营体系是构建从获客、激活、留存、营收转化到转介的客户全生命周期的运营体系,推动线上产品和业务运营的数字化与智能化。 随着互联网技术的不断发展,移动设备已经成为人们日常生活中不可或缺的一部分,越来越多的用户在数字化渠道进行…

vmware 详细安装教程

一.VM是什么? VMware Workstation是一个“虚拟 PC”软件。它使你可以在一台机器上同时运行二个或更多 Windows、DOS、LINUX 系统。与“多启动”系统相比,VMWare 采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需…

软考A计划-重点考点-专题六(数据库知识)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

数据结构实验的实验报告--B树

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 数据结构实验的实验报告–B树 环境及工具 环境:C 工具:AnyivewCL B 定义 一棵 m 阶 B 树(Balance Tree of order m), 或为空树,或满足下列的特性的 m 叉树:(本次实验采用链式存储结构) …

SSM框架学习-加载properties文件

1. 创建新的命名空间 将 xmlns"http://www.springframework.org/schema/beans" 复制修改为 xmlns:context"http://www.springframework.org/schema/context" 再添加进去 表示开辟一个新的命名空间,叫做context 在xsi:schemaLocation中&#xff…

为什么耳鸣越来越年轻化了

耳鸣是一种声幻觉,当出现耳鸣的情况的时候,很多人都表示,耳朵总觉得听到很多奇怪的声音,甚至有时候还能听到车鸣笛声、或是轮船鸣笛声,但是附近并没有汽车轮船。 耳鸣,是一种没有外界声源情况下&#xff0c…