美文网首页
Nginx日常使用

Nginx日常使用

作者: 暖小忧 | 来源:发表于2020-09-01 18:46 被阅读0次

    Nginx简单实用

    相关代理详解

    • 正向代理
      • 介绍
        • 用户A(想访问ServerB,但是不能直接访问,ServerA可以访问ServerB) --> ServerA --> ServerB ,对于这个访问链路来说,ServerA就是一个正向代理。
      • 优缺点:
        • 屏蔽或者隐藏了真实的客户端信息(ServerB只知道ServerA访问,并不知道用户A的相关信息);
      • 应用
        • cache作用;
        • 客户端访问授权;
    • 反向代理
      • 介绍
        • 用户A(获取ServerB的服务,但是对于用户A来说,访问ServerA就能获得ServerB的服务,但是ServerA是一个代理服务器。) --> ServerA --> ServerB
      • 优缺点
        • 隐藏了对外部的实际服务器的地址(比如实际提供服务的是ServerB,但是外部只知道ServerA,并不知道ServerB的存在);
      • 应用
        • 负载均衡;
    • 透明代理
      • 客户端不知道代理服务器的存在,它会修改请求的报文,并传送真实的ip,多用于路由器的NAT转发中。

    Windows下的nginx配置

    • 安装
    • 配置
    • 常用命令(在nginx安装目录下,cmd进入windows命令行)
      • nginx -s stop (强制停止nginx,如果存在未处理的数据,丢弃)
      • nginx -s quit (如果存在未处理数据,等待数据处理完成后,停止)
      • nginx -s reload (配置文件修改后,重新启动nginx)
      • nginx -s reopen (打开一个新的日志文件,防止原日志文件过大。)

    Linux下的nginx配置

    • 安装
      Linux的安装与windows有一些区别,需要经历./configure(链接)、make(编译)、make install(安装) 等步骤,并且特别注意一下其中的参数,会影响到最后安装的结果。
      • 下载tar包: http://nginx.org/en/download.html,nginx-version.tar.gz;
      • ./configure 命令,部分参数说明:
        • -prefix=path 指定安装路径,不指定的话默认/usr/local/nginx;
        • -sbin-path=path nginx可执行文件安装路径,只能安装时指定,如不指定,默认<prefix>/sbin/nginx
        • -conf-path=path 在不指定-c参数时的配置文件路径,如不指定,默认为<prefix>/conf/nginx.conf
    • 常用命令
      • nginx -c /path/to/nginx.conf 指定nginx启动时的配置文件;
      • nginx -s reload 修改配置后,重新加载配置文件;
      • nginx -s stop 强制关闭nginx;
      • nginx -s quit 关闭nginx,如有使用,使用完毕后关闭;
      • nginx -t 测试配置文件是否有效(修改配置文件后,可以测试修改后的配置文件是否可行);

    Nginx配置文件简单使用说明

    nginx在项目使用中,核心的几个功能分别是反向代理、负载均衡和静态服务器;
    nginx的配置文件,主要分为以下几个模块:

    • 全局配置; 全局配置.png
      • user 指定nginx-worker 进程运行用户及用户组(主要在linux服务器上使用,指定运行nginx的linux用户即可,如果是静态资源,注意一下访问的静态资源权限问题);
      • worker_processes 指定nginx开启的子进程数量,一般是cpu内核数量的整数倍;
      • worker_rlimit_nofile 指定一个进程可以打开最多文件数量的描述;
    • event 模块配置; event模块.png
      • worker_connections 指每个worker_processes最大可以同时接收的连接数量;
      • use epoll 选择事件驱动模块。调优使用。支持类型有select、poll、kqueue、epoll、rtsing等;
    • http 模块配置;

      • server 模块; http-server.png
        • server模块,一个http模块可以有多个server;
        • server_name,指定ip地址或者域名,多个配置之间使用空格;
        • listen,监听的端口地址;
      • location 模块; location模块.png
      • proxy_pass 指定代理的地址信息;
      • alias 指定的目录是准确的,即访问的location是直接在alias指定的目录下寻找的;
      • root 指定的目录是,访问location页面的上一级目录。需要保证path目录一定要在root目录下,具体可参考(https://www.cnblogs.com/moon3/p/11095645.html);
    • upstream (负载均衡)模块; 负载均衡.png
      • server 即为轮询的服务列表,访问的时候,可以在location模块中使用upstream模块指定的name;
      • ip_hash不指定时,默认使用的是轮询,比较适合静态页面和图片服务集群;
      • ip_hash指定时,按访问的ip的hash分配,可以解决session问题;
      • max_fail 最大失败次数,超过失败次数暂停服务;
      • fail_timeout 如果请求受理失败,暂停指定的时间之后重新发起请求;
      • server ip:port weight=5 也可以使用权重设置,用于后端服务器性能不均衡的情况;

    参考文档

    代理相关说明
    nginx相关

    相关文章

      网友评论

          本文标题:Nginx日常使用

          本文链接:https://www.haomeiwen.com/subject/hqtpsktx.html