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

未完待续

相关推荐
曼岛_6 小时前
[架构之美]linux常见故障问题解决方案(十九)
linux·运维·架构
Think Spatial 空间思维7 小时前
【SSL部署与优化】如何为网站启用HTTPS:从Let‘s Encrypt免费证书到Nginx配置
nginx·https·证书·部署·ssl·配置·优化
大蚂蚁2号7 小时前
windows文件共享另一台电脑资源管理器网络文件夹无法找到机器
运维·服务器·网络
Lw老王要学习8 小时前
Linux数据库篇、第一章_02_MySQL的使用增删改查
linux·运维·数据库·mysql·云计算·it
斤斤计较8 小时前
Docker 环境安装(2025最新版)
运维·docker·容器
小锋学长生活大爆炸8 小时前
【教程】Docker方式本地部署Overleaf
运维·docker·容器
掘金者说8 小时前
docker系列-DockerDesktop报错信息(Windows Hypervisor is not present)
运维·docker·容器
2302_799525749 小时前
【Linux】第十六章 分析和存储日志
linux·运维·服务器
愚润求学9 小时前
【Linux】Ext系列文件系统
linux·运维·服务器·笔记
微刻时光9 小时前
影刀RPA网页自动化总结
运维·人工智能·python·低代码·自动化·rpa·影刀rpa