nginx(一) の 入门解析

OSI 模型的前三层

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

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

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

nginx 作用

  1. 提供静态网页服务

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

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

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

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

nginx 的工作流程架构

  1. 分为两个 master 进程和 n 个 worker 进程。

  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     # 优雅关闭

注意点:
用什么命令启动的,就用什么命令去管理 systemctl 和 nginx -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  阅读(93)  评论(0)    收藏  举报