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;
        }
    }

未完待续

相关推荐
元气满满的热码式25 分钟前
K8S部署DevOps自动化运维平台
运维·kubernetes·devops
LUCIAZZZ1 小时前
基于Docker以KRaft模式快速部署Kafka
java·运维·spring·docker·容器·kafka
s_little_monster1 小时前
【Linux】从硬件到软件了解进程
linux·运维·服务器·经验分享·笔记·学习·学习方法
zyhhsss4 小时前
Ubuntu&Windows双系统安装
linux·运维·ubuntu
会飞的爱迪生5 小时前
mac和linux传输文件
linux·运维·macos
慕雪华年6 小时前
【Linux】CentOS8虚拟机的基本环境配置
linux·运维·服务器
Allen_LVyingbo6 小时前
三甲医院大型生信服务器多配置方案剖析与应用(2024版)
运维·服务器·数据库
软件开发和挖掘机技术7 小时前
在深度Linux (Deepin) 20中安装Nvidia驱动
linux·运维·服务器·cuda·deepin
lljss20207 小时前
arm-linux-gnueabihf安装
linux·运维·arm开发