1、ps -ef|grep nginx  

     查看 nginx 的目录

2、Nginx是一个http服务器,是一个使用c语言开发的高性能的http服务器及反向代理服务器。

    Nginx是一个高性能的http和方向代理的service(服务器),也是一个IMAP/POP3/SMTP代理server

    Nginx相较于Apache\lighttpd具有占用的内存小、稳定性高等优势,并发能力强。丰富的模块库存以及友好灵活的配置而闻名。

    代理service

       是介于浏览器和web服务器之间的一台服务器,其功能是代理网络用户去取得网络信息。网络信息则是通过代理服务器进行中转的

         Nginx是一种反向代理服务器软件,在代理服务器接受客户端的请求后,然后把请求分发给具体的服务器进行处理,然后再将服务器响应结果反馈给客户端。

       Nginx是以多进程的方式来工作的。

3、指令

   到 nginx 目录下sbin目录下

   启动nginx:              ./nginx

   查看nginx的运行状态:    ps aux | grep nginx 

   查看nginx是否启动好         直接在网址上输入ip就可以    默认的端口号为80

   停止nginx:       ./nginx -s stop 

   查看版本:        ./nginx -V 

 

4、nginx基本配置与参数说明 

  #运行用户

  user nobody;

  #启动进程,通常设置成和cpu数量相同

  woker_processes 3;

  #全局错误日志及PID文件

  #error_log         logs/error.log;

  #error_log    logs/error.log  notice;

  #error_log         logs/error.log  info;  

  #pid           logs/nginx.pid;

  #工作模式及连接上限

  events {

    #epoll是多路复用IO(I/O Multiplexing)中的一种方式

    use epoll;

    

    #单个后台的worker process进程的最大并发连接数

    worker_connections  1024;

    

    #总并发数是 worker_process 和 worker_connections的乘积

    #即 max_clients = worker_process * worker_connections的乘积

    #在设置了方向代理的情况下,max_clients = worker_process * worker_connections/4

    #为什么上面的反向代理要除以4,应该说是一个经验值

    #根据以上条件,正常情况下Nginx Server可以应付的最大连接数为:4*8000 = 32000

    #worker_connections值的设置跟物理内存大小相关

    #因为并发受IO约束,max_clients的值必须小于系统可以打开的最大文件数

    #而系统可以打开的最大文件数和内存大小成正比,一般1GB内存的机器上可以打开的文件数大约是10万左右

    # $ cat /proc/sys/fs/file-max

    # 输出 34336

    # 32000 < 34336,即并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统可以承受的范围之内

    # 所以,worker_connections 的值需要根据worker_processes 进程数目和系统可以打开的最大文件总数进程

    # 使得并发总数小于操作系统可以打开的最大文件数目

    # 其实质也就是根据主机的物理CPU和内存进行配置

    # 当然,理论上的并发总数可能和实际有所偏差,因为主机还有其他的工作进程需要消耗资源。

  }

    

  #设置http服务器,利用它的反向代理功能提供负载均衡支持

  http{  

    #设置mime类型,类型由mime.type 文件定义

    include mine.types;

    default_type application/octet-stream;

    

    #设置日志格式

         log_format                main                 '$remote_addr - $remote_user [$time_local] "$request" '

                    '$status $body_bytes_sent "$http_referer" '

                         '"$http_user_agent" "$http_x_forwarded_for"';

    access_log     logs/access.log       main;

    #sendfile 指令指定 nginx 是否调用sendfile 函数(zero copy方式)来输出文件

    #对于普通的应用,必须设为on

    #如果用来进行下载等应用磁盘IO负载应用,可设置为off,

    #以平衡磁盘与网络I/O处理速度,降低系统的uptime

    sendfile    on;

    #tcp_nopush     on;

    #链接超时时间

    #keepalive_timeout  0;

    keepalive_timeout  65;

    tcp_nodelay     on;

    

    #编码格式

    charset       utf-8;

 

    #开启gzip压缩

    gzip    on;

    gzip_disable "MSIE [1-6].";

    

    #设置虚拟主机配置

    server{

       #监听80接口

         listen       80; 

       #定义使用www.nginx.cn访问

         server_name  www.nginx.cn 

 

        #定义服务器的默认网站根目录位置

        #root html;            ----------基本不用,注释起来

 

       #设定本虚拟主机的访问日志

       #access_log  logs/nginx.access.log  main;           ----------基本不用,注释起来

     }

  }

    location ~*.\.(html|js|css|png|gif|jpg)$ {  

        root /opt/tomcat/apache-tomcat-7.0.69/webapps/ROOT/WEB-INF/resources;

    }

5、 nginx upstream 的五种分配方式

    nginx 负载均衡upstream用法举例

    a、轮询(weight=1)

      默认选项,当weight不指定时,各服务器weight相同,

      每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

      upstream bakend {

        server 192.168.1.10;

        server 192.168.1.11;

      }

    b、weight

      指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况

      upstream bakend {

         server 192.168.1.10      weight=1; 

         server 192.168.1.11       weight=2; //访问次数多

       } 

    c、ip_hash

      每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session不能跨服务器的问题。

      如果后端服务器down掉,要手工down掉

        upstream    resinserver{  

           ip_hash;

           server     192.168.1.10:8080;

           server      192.168.1.11:8080;

        }

    d、fair(第三方)

      按后端服务器的响应时间来分配请求,响应时间短的优先分配。

      upstream backend {

          server server1;

          server server2;

          fair;   

      }

    e、rl_hash(第三方)

      按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

      例:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法

      upstream   backend {

         server  squid1:3128;

            server  squid2:3128;

         hash $request_uri;

         hash_method crc32;

      }

6、 域名是什么

  解析一个链接:

    http://mail.163.com/index.html

    a) http://: 这个是协议,也就是http超文本传输协议,也就是网页在网上传输的协议。

    b) mail : 这个是服务器名,代表着是一个邮箱服务器,所以是mail

    c) 163.com : 这个是域名,是用来定位未来网站的独一无二的名字

    d) mail.163.com : 这个是网域名,由服务器名+域名 组成

    e) / : 这个是根目录,也就是说,通过网站名找到服务器,然后在服务器存放网页的根目录

    f) index.html:这个是根目录下的默认网页(当然,163的默认网页是不是这个我不知道,只是大部分的默认网页,都是index.html)

    g)http://mail.163.com/index.html:这个叫做URL,统一资源定位符,全球性地址,用于定位网上的资源。

  域名和网域名的关系:

    eg:

      比如说,你买下了一个大学,这个大学的名字叫:myname.com.

      然后,你想建立一个语文系,所以,文科楼建立了,叫yuwen.myname.com

      然后,你又想建立一个数学系,OK,shuxue.myname.com建立了。

      就像163一样,他的域名是163.com,他想建立一个www服务器,所以有了www.163.com.

      他又想玩邮箱服务器,所以,mail.163.com也有了。

      例如我们用的 51jiuke.com 这个是域名   www.51jiuke.com 是分期的网域名 cm.51jiuke.com 是后台管理的网域名

      买一个域名回头可以有多个网域名,也就想一个公司有很多的网站访问一样。

    eg:

      mail.cctv.com

      mail 三级域名

      cctv 二级域名

      com  一级域名

      级别最低的域名写在最左边,而级别最高的字符写在最右边

      DNS既不规定一个域名需要包含多少个下级域名,也不规定每一级域名代表什么意思。

      各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理。

7、dns解析域名

   1、域名可分为三大类

      a、国家顶级域名nTLD :  cn代表中国,us代表美国,uk代表英国,等等。国家域名又常记为ccTLD(cc表示国家代码contry-code)。

           b、通用顶级域名gTLD : 最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。

      c、基础结构域名(infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名。

   2、DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位

   3、域名服务器分为四种不同的类型

      根域名服务器: 最高层次的域名服务器,也是最重要的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址

      顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。

      权限域名服务器:负责一个“区”的域名服务器。

      本地域名服务器:本地服务器不属于下图的域名服务器的层次结构,但是它对域名系统非常重要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。

    解析的过程如下:

      1、主机m.abc.com先向本地服务器dns.xyz.com进行递归查询。

      2、本地服务器采用迭代查询。它先向一个根域名服务器查询。

      3、根域名服务器告诉本地服务器,下一次应查询的顶级域名服务器dns.com的IP地址。

      4、本地域名服务器向顶级域名服务器dns.com进行查询。

      5、顶级域名服务器dns.com告诉本地域名服务器,下一步应查询的权限服务器dns.abc.com的IP地址。

      6、本地域名服务器向权限域名服务器dns.abc.com进行查询。

      7、权限域名服务器dns.abc.com告诉本地域名服务器,所查询的主机的IP地址。

      8、本地域名服务器最后把查询结果告诉m.xyz.com。 

 

    4、 DNS的几个基本的概念

      a、根域

        就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般我们在浏览器里输入时会省略后面的点,而这也已经成为了习惯。

      b、域的划分

    5、 DNS协议:

      DNS在端口53上监听请求并提供相应的服务,DNS查询请求用UDP协议交互并且每个请求的大小小于512字节,但是如果返回的请求大小大于512字节,交互双方会协商使用TCP协议。

    6、域维护是指通过DNS协议来在主域名服务器和从域名服务器之间维护同一个zone文件。

      DNS中有两种域维护手段,一种是全量传输AXFR(full zone transfer),另一种是增量传输IXFR(incremental zone transfer)。

    7、DNS,就是Domain Name System的缩写,翻译过来就是域名系统,是互联网上作为域名和IP地址相互映射的一个分布式数据库。

        DNS能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。

 

8、内网 的ip

    10.0.0.0~10.255.255.255

    172.16.0.0~172.31.255.255

    192.168.0.0~192.168.255.255  

      

   

 

 

 

     

 posted on 2018-08-22 13:46  风凌月歌  阅读(66)  评论(0编辑  收藏  举报