day-42 网站服务配置过程 nginx

00.课程介绍部分
    1.nginx服务程序目录结构
    2.nginx服务配置文件说明  主配置文件/扩展配置文件
    3.nginx服务搭建页面      静态网站页面
    4.nginx服务企业配置方法
        a  企业环境多个网站搭建
        b  企业利用网站服务搭建共享存储目录
        c  企业利用网站服务实现安全访问
            网站页面进行策略控制
            网站页面访问认证控制
        d  网站页面状态监控功能
        e  网站日志信息配置方法
01.课程知识回顾
    1.网站识别的资源有静态资源 .txt .MP3 .MP4 .jpg等
                     动态资源 php 
    2.URL URI 是什么?
    www.baidu.com      /newspage/data/landingsuper?context=%7B%22nid%22%3A%22news
       URL                             URI
    3. 静态资源   文本文件  图片文件  视频音频
       动态资源   交互性  抽奖 留言  投票等
       伪静态资源
       盗链      其他公司网站盗取本地网络链接资源,消耗本地网站流量

    4.网站访问的度量方法
        IP:根据用户的IP地址来统计访问数量  只供参考,原因:拨号会换IP NAT映射会统一IP
        PV:用户访问的页面量              只供参考,原因:每个网站种类不同,用户看的页面多少不同
        UV:记录独立访客数
            cookie:网站根据用户访问进行生成 交给用户   保存在浏览器中
            session:网站根据用户的访问情况生成         保存在缓存浏览器

    5.企业常用的web服务
        静态:nginx  Apache
        动态:php tomcat python

        nginx网站服务:
        特点:处理并发能力强,占用本地服务器资源较少(内存)
        功能:1V3
            web服务:apache
            负载均衡:lvs
            缓存功能
        
        nginx采用的网络模型:epoll
        Apache采用的网络模型:select

    6.nginx的安装方法有三种 ab两种方法路径信息不同

        a 直接yum安装    历史稳定版本
        b 官网查看并且编辑配置文件
            /etc/yum.repo.d/nginx.repo
            yum安装      最新稳定版本
        c 编译安装
            编译安装三部曲
            1.官网下载压缩包,解压即可
            2.解决依赖源问题
                yum install -y pcre-devel openssl-devel
            3.进入源码包目录,进行选择参数配置安装
                make&&make install

    缺点:麻烦  安装时间较长
    优点:可以自定义安装  安装灵活     
02.nginx程序目录结构信息
    /etc/logrotate.d/nginx              ---利用logrotate实现日志文件自动切割
                                        ---利用脚本+定时任务实现日志切割
                                        #!/bin/bash
    把老的日志修改名称                   mv nginx.log  nginx.log_$(date +%F)
    重启服务会重新创造日志文件               systemctl restart nginx

    /etc/nginx/nginx.conf                 ---主配置文件
    /etc/nginx/conf.d/default.conf        ---扩展配置文件
    /etc/nginx/fastcgi_params             --- 程序A(数据信息)nginx -接口方式 fastcgi-程序B(数据信息)php
                                              程序A(数据信息)nginx -接口方式 uwsgi-  程序B(数据信息)python
    /usr/sbin/nginx                       ---程序命令文件  
                                             检查配置文件语法是否正确   nginx -t
                                             控制服务运行状态          nginx(启动服务)  nginx -s stop/reload
                                             查看软件安装配置信息       nginx -V
    /usr/share/nginx/                     ---站点目录将网站页面所有元素资源进行整合,分类规范管理
    /var/log/nginx/                       ---保存程序日志文件信息 (access.log  error.log)
    /var/cache/nginx                      ---数据信息是否真正缓存了  
03.nginx配置文件
    主配置文件:  nginx.conf
    /etc/nginx/nginx.conf

    user  nginx;                                     --- 指定worker进程管理用户(建议指定为虚拟用户)
    worker_processes  1;                             --- 指定worker进程数量  建议设置数值=cpu核数 or 临时调整两倍cpu
    error_log  /var/log/nginx/error.log warn;        --- 配置错误日志保存路径
    pid        /var/run/nginx.pid;                   --- 配置程序pid(进程号码)保存路径
以上信息:nginx主区域配置信息

    events {
        worker_connections  1024;             ---定义一个worker进程连接数(并发) 总连接数=worker_processes*worker_connections<
    }
    http {
        include       /etc/nginx/mime.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  /var/log/nginx/access.log  main;                                ---配置日志保存路径
        sendfile        on;
        #tcp_nopush     on;
        keepalive_timeout  65;                                              ---是否开启长链接功能(超时时间)
        #gzip  on;
        include /etc/nginx/conf.d/*.conf;                                   ---加载扩展配置文件
    }



扩展文件配置信息:
        /etc/nginx/conf.d/default.conf

            server {
            listen       80;                              --- 指定服务监听端口号  默认是80
            server_name  localhost;                       --- 配置网站域名信息
            location / {
                root   /usr/share/nginx/html;             --- 站点目录信息
                index  index.html index.htm;              --- 指定首页文件  首页文件不存在,访问网站会报403错误
            }
            error_page   500 502 503 504  /50x.html;      --- 优雅显示错误页面配置
            location = /50x.html {
                root   /usr/share/nginx/html;
            }
        }

补充说明:
    01.nginx进程信息
       master进程:控制nginx服务运行状态    老板
       worker进程:处理用户访问网站请求      员工
    02.nginx配置文件语法规范
        a 指令信息结尾必须有分号
        b 括号信息必须成对出现

    03.nginx配置区域说明:
        a 主区域配置      配置错误日志  进程信息  worker进程用户
        b 时间区域配置    配置worker进程连接数信息
        c HTTP区域       配置功能参数   优化有关系
        d server区域     配置网站功能参数
        e location区域   ???
        f if区域         判断区域

    04.系统打开文件数
        程序运行起来,程序会打开响应文件
        echo '*               -       nofile          65535' >>/etc/security/limits.conf
04.部署搭建一个简单静态页面
    第一步:编写配置文件
    vim /etc/nginx/conf.d/www.conf
    server {
      listen        80;
      server_name   www.oldboy.com;
      root          /html/www;
      index         index.html;
    }
    systemctl restart nginx

    第二步:
    mkdir -p /html/www
    # cat index.html
        
            
            
            男士养生
            
            
            老男孩男士养生会所,联系方式
            
小红 17783240234
小兰 11238123709
小灵 12731273123
第三步:域名解析配置 hosts 10.0.0.8 www.oldboy.com 企业环境搭建静态网站页面: 第一步:编写nginx配置文件 第二步:让开发人员发送代码信息,上传到站点目录中
05.课程知识总结
    1.nginx配置文件说明   主配置文件/扩展配置文件
    2.nginx搭建静态网站   
作业:
1.利用logrotate自动切割日志配置方法
主配置文件: /etc/logrotate.conf
# grep -vE "^$|#" /etc/logrotate.conf 
    weekly                                     ---默认每周执行一次日志轮询
    rotate 4                                   ---默认保留四个日志文件
    create                                     ---自动创建新的日志文件,新文件与旧文件具有相同权限
    dateext                                    ---切割后的日志文件以当前日期为结尾
    include /etc/logrotate.d                   ---加载/etc/logrotate.d这个配置文件
    /var/log/wtmp {                            ---针对wtmp日志设置参数
        monthly                                ---每个月切割一次,代替默认每周
        create 0664 root utmp                  ---新的日志文件权限为0664 属主root 属组utmp
        minsize 1M                             ---文件大于1M后才会进行切割
        rotate 1                               ---只保留一个日志
    }
    /var/log/btmp {                 
        missingok                              ---如果日志丢失,不报错继续滚动下一个日志
        monthly
        create 0600 root utmp
        rotate 1
    }




nginx的自动切割配置文件
    # cat nginx
    /var/log/nginx/*.log {
            daily                                 ---计划每天执行
            missingok                             ---如果日志丢失,不报错继续滚动下一个日志
            rotate 52                             ---保留的个数
            compress                              ---通过gzip压缩存储一会的日志
            delaycompress                         ---和compress 一起使用时,转储的日志文件到下一次转储时才压缩
            notifempty                            ---当日志文件为空时,不进行轮转
            create 640 nginx adm                  ---新建日志权限为640,属主为nginx,属组为adm
            sharedscripts                         ---作用为所有日志都轮转后统一执行一次脚本,没有配置就每个日志都执行一次
            postrotate                            ---在logrotate转储之后需要执行的指令
                    if [ -f /var/run/nginx.pid ]; then
                            kill -USR1 `cat /var/run/nginx.pid`
                    fi
            endscript
    }
https://blog.51cto.com/wn2100/2074048

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