nginx(一) の 入门解析

OSI 模型的前三层

  1. 应用层: 每一个应用程序自定义的协议

  2. 表示层: 数据的压缩与解压缩。图片的编码与解码

  3. 会话层: 会话管理(session)网络验证 。包括断点续传和服务器验证用户登录等。比如访问淘宝网页和他的子网页无需重复登录。

nginx 作用

  1. 提供静态网页服务

  2. 提供多个站点,多个域名的网页服务

  3. 提供反向代理功能(结合动态应用程序)

  4. 提供简单下载服务功能(ftp服务)

  5. 用户行为分析(日志功能)

nginx 的工作流程架构

  1. 分为两个 master 进程和 nworker 进程。

  2. master 是管理者,worker 是干活的

  3. master根据配置文件,决定 worker的数量

  4. 当有 client 发送来请求时,worker 之间相互竞争,获胜者与 client 建立连接并响应请求

nginx 的模块

命令 nginx -V 查看nginx中包含哪些模块。比如你要接受 https请求,那么就要安装 https 对应的模块。

nginx 配置

user www-data;      # 用户名称
worker_processes 4; # 和 cpu 个数保持一致,工作进程,对应的是 master 进程
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
       use epoll; # 选择内核模式
        worker_connections 1024; # 每个进程处理的最大连接数
        # multi_accept on;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on; # 打开零拷贝;
        tcp_nopush on;  # 请求要积累到一定的数量才会发送;
        types_hash_max_size 2048;
        # server_tokens off;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

        include /etc/nginx/mime.types;   # 设置文件的传输类型
        default_type application/octet-stream;

        ##
        # SSL Settings
        ##

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
        ssl_prefer_server_ciphers on;

        ##
        # Logging Settings
        ##

        access_log /var/log/nginx/access.log;  # 请求日志存放地址
        error_log /var/log/nginx/error.log;    # 错误日志存放地址

        ##
        # Gzip Settings
        ##

        gzip on;  # 开启压缩功能


        include /etc/nginx/conf.d/*.conf;      # 配置文件
        include /etc/nginx/sites-enabled/*;    # 静态文件

        # server 就相当于是一个服务;
        server {
          listen 88;
          server_name localhost;
          location / {
              root html;
              index index.html index.htm;
          }
          error_page 500 502 503 504 /50x.html;
          location /50x.html {
              root html;
        }
    }
}

nginx 管理命令

nginx             # 启动 nginx
nginx -t          # 检车 nginx.conf 语法
nginx -s reload   # 从新读取 nginx.conf 
nginx -s stop     # 快速关机,停止nginx ,相当于 kill -15 nginx
nginx -s quit     # 优雅关闭

注意点:
用什么命令启动的,就用什么命令去管理 systemctlnginx -s 这两个命令不要混着用。

nginx 配置静态服务器和虚拟主机

静态文件目录

www
├── w1
│   └── w1.txt
├── w2
│   └── w2.txt
├── w3
│   └── w3.txt
└── w4
    └── w4.txt

配置文件目录

conf.d/
├── w1.conf
├── w2.conf
└── w3.conf

根据端口号区分服务

w1的服务

server {
    listen 81;    # 端口号
    server_name localhost;  # 虚拟主机路由
    root /home/peng/www/w1; # 存放静态文件的路径
    index w1.txt;           # 主启动文件
}

根据域名区分区分服务

本地域名地址

192.168.50.164    w3.cn
192.168.50.164    w4.cn

nginx 配置

server {
    listen 80;
    server_name w3.cn;
    root /home/peng/www/w3;
    index w3.txt;
}

参考资料

https://www.bilibili.com/video/BV1m34y1p7EC?p=5&share_source=copy_web&vd_source=80cf96a12f63a1720dfc645c2eb041c0
https://www.bilibili.com/video/BV1yS4y1N76R?share_source=copy_web&vd_source=80cf96a12f63a1720dfc645c2eb041c0

posted @ 2022-10-09 04:49  沧海一声笑rush  阅读(58)  评论(0编辑  收藏  举报