day-43 网站服务配置过程(公司) nginx

00.课程介绍部分
1.nginx服务企业配置方法
        a  企业环境多个网站搭建
        b  企业利用网站服务搭建共享存储目录
        c  企业利用网站服务实现安全访问
            网站页面进行策略控制
            网站页面访问认证控制
        d  网站页面状态监控功能
        e  网站日志信息配置方法
2.nginx服务location配置     匹配URI
3.nginx服务rewrite配置      跳转

课程规划:
 1.LNMP架构部署            访问动态资源
 2.nginx反向代理负载均衡    调度处理(分配给不同的web)
 3.keepalived高可用服务     实现主备切换
 4.配置部署HTTPS安全访问

 7-16号综合架构搭建 10天时间

 综合架构扩展:
 1.监控服务zabbix          基础配置部分
 2.防火墙iptables          firewalld防火墙
 3.跳板机jumpserver
 4.vpn ntp 搭建yum仓库
 5.LVS负载均衡
 6.tomcat                  java web服务
01.课程回顾总结
1.nginx程序目录结构信息
        /etc/nginx/nginx.conf    主配置文件
        /etc.nginx/conf.d/default.conf   扩展配置文件
        /etc/nginx/fastcgi_params    php的接口配置文件
        /etc/nginx/mime.types     可以识别的资源信息合集
        /etc/nginx/scgi_params    网关接口配置文件
        /etc/nginx/uwsgi_params    python接口配置文件
        /usr/sbin/nginx        命令执行文件  nginx 启动 nginx -s stop/reload nginx -t nginx -V
        /usr/share/nginx         站点目录 把所有资源信息做整合
        /var/cache/nginx          数据信息是否缓存
        /var/log/nginx            日志信息

2.nginx服务的配置文件信息


3.用nginx部署静态网页
        1.编辑配置文件
            server {
              listen    80;
              server_name   xxxxx(域名);
              root   /urs/share/nginx/html;
              index  index.html;
              }
        2.重启服务
        3.必要要有响应的站点目录以及首页文件
            编辑首页文件
        4.配置本地解析  Windows里的hosts文件
            10.0.0.x   www.oldboy.com
01.nginx多网站配置方法:
    第一步:编写多个网站配置文件  
    # vim bbs.conf 
        server {
          listen        80;
          server_name   bbs.oldboy.com;
          root          /html/bbs;
          index         index.html;
    }


    # vim blog.conf 
    server {
      listen        80;
      server_name   blog.oldboy.com;
      root          /html/blog;
      index         index.html;
    }


    # vim www.conf
    server {
      listen        80;
      server_name   www.oldboy.com;
      root          /html/www;
      index         index.html;
    }


    第二步:创建站点目录/创建网页首页文件
    mkdir /html/{www,blog,bbs} -p
    for name in www bbs blog;do echo $name.oldboy.com >>/html/$name/index.html;done

    第三步:进行DNS本地解析
    10.0.0.7   www.oldboy.com bbs.oldboy.com blog.oldboy.com
    

    网站页面访问方式:
    1.基于域名访问方式
    2.基于地址访问方式
        配置: /etc/nginx/nginx.conf
        include /etc/nginx/conf.d/www/conf;
        结论:nginx服务涉及到IP地址的修改,必须重启nginx服务
    3.基于端口的访问方式
        修改扩展配置文件
        listen     8080;
        访问时需要匹配三项: host 端口信息 IP信息
        如果host匹配不上,后两项能匹配,按照主配置文件加载顺序显示
        ll /etc/nginx/conf.d/*.conf
02.企业利用网站服务搭建共享存储目录
    server {
      listen        80;
      server_name   www.oldboy.com;
      root         /html/www;
      index        index.html;
    autoindex   on;     ---必须满足首页文件不存在 -->显示站点目录数据信息

    页面显示出现乱码:
    charset utf-8

    http://nginx.org/en/docs/                ---nginx程序可用的模块
    http://nginx.org/en/docs/dirindex.html   ---nginx程序所有可以配置指令参数
    http://nginx.org/en/docs/varindex.html   ---nginx程序所有变量信息配置
03.利用nginx服务配置安全访问控制
    a 根据用户IP地址限制访问
        欧美:不能让10.0.0.1地址访问
        日韩:可以让10.0.0.1地址访问
        大陆:只能让172.16.1.0网段访问

        第一步:编写nginx扩展配置文件www.conf
        location xxx(URI){
            allow 10.0.0.1        -->日韩
            deny  10.0.0.1        -->欧美
            allow 172.16.1.0/24   -->大陆
        }

        location区域嵌入在server区域内
        location /欧美{
           deny 10.0.0.1;
           allow all;
        }
        location /日韩{
          allow 10.0.0.1;
          deny all;
        }
        location /大陆{
          allow 172.16.1.0/24;
          deny all;
        }

    b 利用认证方式进行访问控制
        会员专区访问: 输入用户名和密码信息
        免费专区访问: 直接看到信息

        第一步:编写配置文件:
            认证功能:
            location /xxx{
                auth_basic            "oldboy";             ---开启页面访问认证
                auth_basic_user_file  /etc/nginx/password.txt 指定加载认证用户密码文件


        第二步:创建密码文件
            yum install -y httpd-tools
                创建用户
            htpasswd -bc /etc/nginx/password.txt oldboy 123456   --- 创建密码文件,并设置登录用户信息
                添加用户
            htpasswd -b /etc/nginx/password.txt oldboy 123456
                删除用户
            htpasswd -D /etc/nginx/password.txt oldbaby

        第三个历程: 重启服务
          systemctl restart nginx
          
          如果用户名与密码不正确
          401 Authorization Required   --- 访问页面认证失败
04.网站页面状态监控功能
    实现外网用户访问虚拟主机:
    第一步:修改虚拟软件  虚拟网络编辑器
    vmnet8 nat设置中 --> 端口转发设置
    访问 -- 192.168.34.112:9000 ==10.0.0.8:80
    hosts  www.oldboy.com
    192.168.34.112   www.oldboy.com
    改完hosts之后
    访问 -- www.oldboy.com:9000 ==10.0.0.8:80

    问题:统计有多少个用户访问我的网站
    第一步:编写配置文件
    vim /etc/nginx/conf.d/status.conf

    server {
        listen      80;
        server_name    state.oldboy.com;
        stub_status;                       ---开启访问状态监控功能
    }

    第二步:域名解析
    hosts:
    10.0.0.8  state.oldboy.com

    active connections: 11             ---在线连接数
    server accepts handled requests
              18     18      166 
    accepts:从服务运行开始,接收的所有连接请求总和
    handled:从服务运行开始,处理的所有连接请求总和
    requests:从服务运行开始,所用HTTP请求包的总数
  补充:keepalive_timeout  65;    ---超时时间,如果为0  就是短连接  http协议1.0

    Reading: 0 Writing: 1 Waiting: 1 
    reading:读取客户端的header信息数,只读取头部                   ---get
    wirting:响应数据到客户端的header信息署,服务头部后要等待响应    ---post
    waiting: == active-(reading+wirting) 等待下一次请求

    在线客户端只有三种情况: 1.正在连接 2.已经连接正在发送请求 3.请求结束 等待断开
    3=所有客户端-(读+写)
05.课程总结
    1.如何实现使用nginx部署多个网站页面 www blog bbs (多个虚拟机配置)
        写出多个配置文件  -->  分别创建站点目录/首页文件  --> 配置本地hosts信息

    2.网站页面访问方式
        基于ip地址访问  -->  涉及到IP地址修改必须重启不能reload
        基于域名访问    -->  配置文件配好后直接访问即可
        基于端口访问    --> 修改配置文件 改端口后需  www.xxxxx:端口号 即可看见

    3.利用nginx搭建数据共享服务器
        在站点目录创建共享数据资源
        必须删除首页文件
        修改配置文件   autoindex  on;

    4.网站页面安全访问控制
        a 根据用户的IP地址做限制 allow(允许)  deny(禁止)
        b 根据认证方式进行访问控制  location模块下写
            auth_basic            "oldboy";             
            auth_basic_user_file  /etc/nginx/password.txt

            htpasswd -bc /etc/nginx/password.txt xxx  xxxxxx
    5.访问网页连接线监控功能
        可以实现查看用户访问连接数的信息
          编辑配置文件 /etc/nginx/conf.d/status.conf
            stub_status;    ---开启监控功能
          本地域名解析,即可查看
作业:
01. 状态页面信息中,以下内容表示什么意思
Reading: 0 Writing: 1 Waiting: 10 

    reading:读取客户端的header信息数,只读取头部                   
    wirting:响应数据到客户端的header信息署,服务头部后要等待响应    
    waiting: == active-(reading+wirting) 等待下一次请求

    在线客户端只有三种情况: 1.正在连接 2.已经连接正在发送请求 3.请求结束 等待断开
    3=所有客户端-(读+写)    


02. 如何对网站服务器进行压力测试
测验:
01. 利用ansible一键化部署nginx服务,并且搭建三个静态网站
www.oldboy.com   --- www 
bbs.oldboy.com   --- bbs 
blog.oldboy.com  --- blog


第一步:安装nginx软件
    1.编辑yum源
      vim /etc/yum.repos.d/nginx.repo
      [nginx-stable]
        name=nginx stable repo
        baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
        gpgcheck=1
        enabled=1
        gpgkey=https://nginx.org/keys/nginx_signing.key

    yum clean all
    yum install -y nginx

第二步:编写配置文件
    1.
    # vim bbs.conf 
        server {
          listen        80;
          server_name   bbs.oldboy.com;
          root          /html/bbs;
          index         index.html;
    }


    # vim blog.conf 
    server {
      listen        80;
      server_name   blog.oldboy.com;
      root          /html/blog;
      index         index.html;
    }


    # vim www.conf
    server {
      listen        80;
      server_name   www.oldboy.com;
      root          /html/www;
      index         index.html;
    }
    2.创建站点目录以及首页文件

    3.本地NDS解析

你可能感兴趣的:(day-43 网站服务配置过程(公司) nginx)