Nginx知识

nginx 精简的配置文件

复制代码
worker_processes  1;
# 可以理解为一个内核一个worker
# 开多了可能性能不好

events {
    worker_connections  1024;
}
# 一个 worker 可以创建的连接数
# 1024 代表默认一般不用改

http {
    include       mime.types;
    # 代表引入的配置文件
    # mime.types 在 nginx.conf 同级目录下
    # 给浏览器看的,让浏览器知道返回的是啥类型,便于好解析

    default_type  application/octet-stream;
    # 如果上面的 mime.types 匹配不到,就采用这个默认的

    sendfile        on;
    # 代表返回的数据是否走中间商,还是直接走网卡返回
    # 中间商就是 nginx 的内存
    
    keepalive_timeout  65;
    # 连接超时数

    # 一个服务器配置
    server {
        listen       80; # 监听的端口
        server_name  localhost; # 配置域名
        # 上面两个的组合要唯一,不然出问题
        
        # 上面两个匹配到了,匹配下面
        location / {
            root   html; # html文件夹里面的意思
            index  index.html index.htm;
        }
        
        # 出现错误了, 状态码,处理根路径 走下面的进行匹配
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

虚拟主机

因为服务器配置过剩产生的

一个 nginx 可以配置多个域名

复制代码
# 直接复制一个 server 然后改一下就行了
# 按从上往下匹配如果匹配到了就结束
# 通配符匹配 * # 看第二个 server
# 在 server_name 后面可以写多个
# 可以使用正则

http {
    server {
        listen       80; # 监听的端口
        server_name  localhost; # 配置域名

        location / {
            root   html; # html文件夹里面的意思
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    server {
        listen       80; # 监听的端口
        server_name  *.hello.*; # 配置域名

        location / {
            root   html; # html文件夹里面的意思
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

域名解析相关架构

二级域名

短网址:就是服务器用数据库存一个key和value,value为真实地址,key随便,返回给用户,节省空间。

httpDns:用于app和C/S架构,好像可以避免域名劫持的风险。

反向代理与正向代理

按角色来说的

就是服务器和用户之间要通过代理, 如果把服务器和代理绑在一起就是反向(理解在一个机房),用户和服务器在一起就是正向(家和路由器)

nginx作为反向代理有带宽瓶颈,用户请求过nginx然后与后端交互,后端处理返回给nginx,会产生瓶颈(nginx),可以使用DR架构,就是服务器直接返回给用户(通过机房网关)。

负载均衡

一定要考虑流量倾斜问题

复制代码
# 下面的那个网址
# 配置比重可以实现负载均衡
httpsdeom = {
    server 网址 weight=?[down # 代表当前机子挂了,这个参数基本不咋用,没啥用];
    server 网址 weight=?[backup # 代表这个机子作为备用机子];
}

server {
        listen       80; # 监听的端口
        server_name  localhost; # 配置域名

        location / {
            proxy_pass 网址(域名);
            # 下面没用了
            # root   html; # html文件夹里面的意思
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

未完待续

相关推荐
无效的名字11 分钟前
向日葵远程控制debian无法进入控制画面的解决方法
运维·debian
藥瓿亭37 分钟前
K8S认证|CKS题库+答案| 7. Dockerfile 检测
运维·ubuntu·docker·云原生·容器·kubernetes·cks
搬码临时工1 小时前
如何把本地服务器变成公网服务器?内网ip网址转换到外网连接访问
运维·服务器·网络·tcp/ip·智能路由器·远程工作·访问公司内网
Guheyunyi2 小时前
监测预警系统重塑隧道安全新范式
大数据·运维·人工智能·科技·安全
知更鸟呆呆2 小时前
【Linux操作系统】基础开发工具(yum、vim、gcc/g++)
linux·运维·vim
Gold Steps.3 小时前
Docker容器部署elasticsearch8.*与Kibana8.*版本使用filebeat采集日志
运维·docker·云原生·es
m0_637146933 小时前
C语言基础面试问答
运维·服务器
ricky_fan4 小时前
window下配置ssh免密登录服务器
运维·服务器·ssh
地衣君4 小时前
Ubuntu 配置使用 zsh + 插件配置 + oh-my-zsh 美化过程
linux·运维·ubuntu
2401_858286114 小时前
OS11.【Linux】vim文本编辑器
linux·运维·服务器·编辑器·vim