• Nginx入门


    Nginx入门:

    一、服务器
    1、CentOS
    2、Ubantu

    二、FTP工具
    1、FileZilla(Win)
    2、ForkLift(Mac)

    公网IP

    三、连接方式
    1、远程连接
    2、xshell
    3、terminal

    ```
     ssh root@127.0.0.1
    输入密码
    修改know_hosts
    ```

    四、包管理器
         OS                           文件格式    工具
    1、Ubuntu        .deb                      apt,apt-cache,apt-get,dpkg
    2、CentOS        .rpm        yum

    五、
    1、更新所有包
    apt-get
    同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引
    apt-get update
    2、安装nginx
    apt-get install nginx
    3、查看进程
    ps aux | grep nginx

    process /usr/sbin/nginx -g daemon on; master-process on;

    4、访问公网IP,验证nginx是否安装ok

    ls -l /etc/nginx       默认安装路径


    六、nginx
    1、安装
    2、配置自启动
    3、systemd打开关闭nginx
    4、nginx.conf配置
    5、远程拷贝
    6、linux中权限管理
    7、前台项目nginx部署
    8、****sh编写启动脚本
    9、配置启动、重加载命令的脚本地址

    nginx -t  预启动,检查nginx状态
    systemctl restart nginx  重启nginx服务,重操作
    systemctl reload nginx 使配置信息生效,推荐


    10、curl命令
    eg: curl -I www.baidu.com
    curl -I www.baidu.com > index.html
    curl -I -H "Accept-Encoding:gzip,deflate" https://hectorstatic.baidu.com/cd37ed75a9387c5b.js?_=1614424501009
    11、配置不同文件的MIME类型
    http {

          types {
              text/html  html;
              text/css  css;
          }
          include mime.types
    }
    /etc/nginx/mime.types

    11、return and rewrite
    rewrite ^/user/(w+)  /greet/$1

    12、echo '' > access.log
    echo '' > error.log

    13、处理php文件
    location ~.php$ {
          include fastcgi.conf;
          fastcgi_pass  unix:/run/php/php7.4-fpm.sock;
    }

    14、配置工作进程
     ps aux | grep nginx

    worker_processes auto;

    nproc   // 查询系统核数

    ulimit -n   查询最大可打开文件数
    events {
          worker_connections  65535
    }
    // 最大并发数 = 工作进程 * 最大可打开文件数

    15、性能调优-缓冲
    // 设定request body的缓存大小,如果超过阈值,那么整个body或者部分body将会被写入一个临时文件,nginx如果使用文件缓冲,则此配置无效
    32位系统默认8K, 64位默认16K
    client_body_buffer_size 10K;
    // 设定Nginx可以处理的最大request body大小。如果收到的请求大于阈值,Nginx会回复HTTP 413错误
    (Request Entity too large),如果web服务器提供大文件上传的话,最好设置这个指令,Nginx默认大小为1M
    client_max_body_size 8m;

    // 类似client_body_buffer_size 它给request_header分配缓存,默认1K
    client_header_buffer_size 1K;

    16、性能调优-超时
    // 客户端与服务器建立连接后发送request body的超时时间,如果超过阈值未发送任何内容,Nginx返回HTTP 408错误,默认为60s
    client_body_timeout 12;

    client_header_timeout 12;
    // 设置keepalive连接的超时时间,默认为65秒,若将它设置为0,就禁止了keepalive连接
    keepalive_timeout 15;

    // 指定向客户端传输数据的超时时间,默认为60秒
    send_timeout 10;

    // 开启文件高效传输模式
    sendfile on;

    // 防止网络及磁盘I/O阻塞,提升Nginx工作效率
    tcp_nopush  on;

    17、动态模块
    需要单独引入

    18、gzip压缩
    gzip  on;
    gzip_comp_level 3;   #1~9
    gzip_types text/css text/javascript;  # 进行压缩的文件类型

    19、HTTPS配置
    # 生成秘钥
    openssl req -x509 -nodes -days 10 -newkey rsa:2048 -keyout /etc/ngnx/ssl/self.key -out /etc/nginx/ssl/self.crt

    listen: 443 ssl;
    # 配置证书
    ssl_certificate /etc/nginx/ssl/self.crt
    ssl_certicate_key /etc/nginx/ssl/self.key

    20、跳转安全链接

    21、server push
    location 

    22、基础授权


    23、反向代理


    24、负载均衡
    测试:while sleep 0.5: do curl http://localhost:8000;done
    # 配置服务器组
    upstream node_servers {
        server localhost:5001;
        server localhost:5002;
        server localhost:5003;
    }
    server {
         listen 8888;
         location  /  {
               # 反向代理到服务器组
               proxy_pass http://node_servers;
         }
    }

    25、永久开启node服务
    npm install forever -g
    forever start index.js
    or
    npm install pm2 -g

    二、HTTP2(2015)  HTTP1.1(1999)
    1、二进制分帧

    2、多路复用
    单路链接可以承载多路数据流

    3、头部压缩

    4、服务器推送

  • 相关阅读:
    前端工程师入门的阶段
    学习能力与思考能力
    翻译 前端面试题目
    css规范
    html规范
    javascript中apply、call和bind的区别
    Javascript高级程序设计学习笔记一
    css学习笔记四
    [LC] 23. Merge k Sorted Lists
    [LC] 234. Palindrome Linked List
  • 原文地址:https://www.cnblogs.com/nanhuaqiushui/p/15058205.html
Copyright © 2020-2023  润新知