nginx1-网站服务部署

老男孩教育61期--week14--网站web服务

  1. 课程介绍部分:
    1)网站web服务概念介绍说明 nginx apache
    2)网站web服务软件部署过程 3种 web01 web02 web03
    3)网站web服务软件配置应用
    4)网站web服务企业配置实践
    5)网站web服务网页跳转功能
    6)网站web服务如何安全访问 HTTPS
  1. 知识重点回顾:
    1)批量管理服务扩展功能
    剧本变量设置功能
    剧本注册设置功能
    剧本判断设置功能 setup
    剧本循环设置功能
    剧本忽略错误功能
    剧本标签设置功能
    剧本忽略采集功能
    剧本汇总执行功能
    2)批量管理服务角色配置 规范化配置
    3)网站服务协议概念
    用户访问网站的原理过程
    网站访问HTTP报文信息 请求报文(方法 协议(tcp长/短链接)) 响应报文(状态码)
    网站访问资源信息 静态资源 动态资源 伪静态资源
    网站度量方法 IP PV (awk-数组功能 ELK) UV (获取用户访问网站cookie)
  1. 企业常用网站web服务有哪些
    https://w3techs.com/technologies/overview/web_server/all 记录全球web服务使用比例

    静态网站web服务软件
    apache
    nginx

    动态网站web服务软件
    php
    tomcat (java) 优化
    python

  2. nginx网站web软件概述
    特点:处理高并发能力比较强,占用系统资源比较少
    功能:网站web服务 网站负载均衡(LVS haproxy) 网站缓存功能
    用户访问网站(获取图片) --- 负载均衡 --- web01 --- nfs存储服务器 (读)
    用户访问网站(获取图片)
    用户访问网站(获取图片)
    用户访问网站(获取图片) --- 负载均衡 --- web01(缓存图片) --- nfs存储服务器 (读)
    用户访问网站(获取图片)
    用户访问网站(获取图片)
    用户访问网站(获取图片) --- 负载均衡 ( --- web01 --- nfs存储服务器 (读)
    用户访问网站(获取图片)
    用户访问网站(获取图片)
    用户访问网站(获取图片) --- LVS --- 负载均衡 --- web01 --- nfs存储服务器 (读)
    用户访问网站(获取图片) --- 负载均衡 --- web01 --- nfs存储服务器 (读)
    用户访问网站(获取图片)
    用户访问网站(获取图片) --- CDN ---LVS --- 负载均衡 --- web01 --- nfs存储服务器 (读)
    用户访问网站(获取图片) --- 负载均衡 --- web01 --- nfs存储服务器 (读)
    用户访问网站(获取图片)
    将架构中有瓶颈服务器的压力,向前推
    原理:nginx(epoll) 和 apache(select) 进行对比
    select(宿舍管理员/幼儿园阿姨)
    找宿舍人员---宿舍管理员---一个一个访问查询相关(遍历过程)
    看孩子 ---幼儿园阿姨---一个一个小朋友进行确认是否上厕所

      epoll(宿舍管理)
      找宿舍人员---宿舍管理员---名单册 检索名单册
      看孩子    ---幼儿园阿姨---只要有想上厕所都站在指定位置
    
  3. nginx软件安装部署
    方法一:利用官方源进行yum安装 最新的稳定版 配置目录结构 conf.d
    web01
    第一个历程:更新yum源
    vim /etc/yum.repos.d/nginx.repo
    [nginx-stable]
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/releasever/basearch/
    gpgcheck=0
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
    第二个历程:nginx软件yum安装
    yum install -y nginx

    方法二:利用非官方源进行yum安装 稳定版
    web02
    yum install -y nginx

    方法三:编译安装软件
    web03
    第一个历程:获取源码文件
    mkdir /server/tools -p
    cd /server/tools
    wget http://nginx.org/download/nginx-1.16.0.tar.gz

第二个历程:解压源码包,解决软件依赖问题
tar xf nginx-1.16.0.tar.gz
yum install -y pcre-devel openssl-devel 
pcre-devel    --- 兼容perl正则信息
openssl-devel --- 实现部署HTTPS网站

第三个历程:编译安装软件
1)配置过程
cd nginx-1.16.0
./configure 
 --prefix=指定程序保存目录 
 --user=nginx服务worker进程管理用户
 --group=nginx服务worker进程管理用户组
 --with-http_ssl_module          -- 实现激活HTTPS访问功能
 --with-http_stub_status_module  -- 实现激活nginx状态监控功能

./configure --prefix=/application/nginx-1.16.0 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module

2)编译过程(翻译过程) (c c++ java python go -- 翻译过程 -- 内核 -- 硬件)
make

3)编译安装
make install
  1. nginx软件配置应用
    软件目录结构 (配置文件目录 站点目录 日志目录)
    /etc/nginx/ --- 保存nginx配置文件
    两个重要的配置文件

    1. nginx/nginx.conf --- 主配置文件
    2. nginx/conf.d/default.conf --- 虚拟主机模板配置文件

    接口信息
    用户访问请求(静态) --- nginx程序
    用户访问请求(动态) --- nginx程序 -fastcgi - php程序
    nginx程序 -uwsgi - python程序
    www.jd.com:80 (动态java) --- nginx程序(负载均衡) --- 数据转发 ip 后端800x --- tomcat程序(800x)

    /etc/share/nginx/html --- 站点目录 将网络资源信息规范存储
    /var/log/nginx --- 日志目录 错误日志 访问日志(分析用户访问行为)

    配置文件内容说明
    nginx.conf
    user www; --- 指定worker进程用户信息 虚拟用户管理worker
    master process:控制服务可以正常运行 公司老板
    worker process:工作进程,处理用户请求 公司职员
    worker_processes 10; --- 指定worker进程数量 进程数量<服务器核心数量 <服务器核心数量2倍
    增加worker进程数量,增加服务并行处理能力

    error_log /var/log/nginx/error.log warn; --- 指定错误日志保存的路径
    定义记录错误信息级别:
    1. debug 调试级别 产生输出的信息最详细
    2. info 信息级别 产生输出详细信息
    3. notice 通知级别 产生输出详细信息
    4. warn 警告级别 产生提示可能有问题信息 (推荐)
    5. error 错误级别 产生服务错误信息 (推荐)
    6. crit 严重级别 产生服务错误信息
    7. alert 极其严重
    8,emerg 灾难级别 记录日志信息最少
    pid /var/run/nginx.pid; --- 记录日志pid数值信息
    events {
    worker_connections 2048; --- 一个worker进程可以同时处理几个连接
    总的最大并发连接数=worker_processesworker_connections<系统打开文件数
    [root@web01 nginx]# ulimit -a
    open files (-n) 1024
    将打开文件数修改为5 -- ssh服务 远程连接
    }
    http {
    include /etc/nginx/mime.types; --- 加载媒体资源类型文件 可以识别类型直接处理/不能处理交给动态程序或直接下载
    default_type application/octet-stream; --- 默认加载的类型
    log_format oldboy 'remote_addr -remote_user [time_local] "request" ' --- 定义访问日志格式
    'statusbody_bytes_sent "http_referer" ' '"http_user_agent" "$http_x_forwarded_for"';
    access_log /var/log/nginx/access.log oldboy; --- 调用定义的格式 指定访问日志存储路径
    sendfile on;
    #tcp_nopush on;
    keepalive_timeout 65; --- 设置TCP通讯的方式为长连接 0表示短连接
    #gzip on;
    include /etc/nginx/conf.d/
    .conf; --- 加载conf.d 所有以.conf结尾的文件配置
    网站主机配置文件
    }

    补充:nginx配置文件是由多个区块做成

    1. 主区块
    2. 事件区块 events {}
    3. HTTP区块 HTTP {} --- 指定网站服务进行加载文件信息 访问日志信息 服务优化配置
    4. server区块 server {} --- 定义网站信息 www.oldboy.com
    5. location区块 location {} --- 匹配区块 匹配uri信息 ???
    6. if区块 if {} --- 做判断处理

    虚拟主机配置文件:每个网站配置文件 www bbs blog
    vim /etc/nginx/conf.d/www.conf
    server {
    listen 80; --- www网站监听端口
    server_name www.oldboyedu.com; --- 定义你的网站域名信息
    location / { --- ???
    root /html/www; --- 指定站点目录
    index index.html index.htm; --- 定义首页文件
    }
    error_page 500 502 503 504 /50x.html; --- 错误页面优雅显示配置
    location = /50x.html { --- 匹配指定uri
    root /usr/share/nginx/html; --- 设置指点目录
    }
    }

    一般服务无法启动如何排错:

    1. 进行配置文件语法检查
      nginx -t
    2. nginx配置文件规范
      规范一:大括号信息必须成对
      规范二:所有指令信息后面必须有分号
      规范三:配置指令信息必须符合要求
  2. 企业环境如何使用nginx

    1. 配置多个网站页面环境
      第一个历程部分:
      server {
      listen 80;
      server_name www.oldboy.com;
      location / {
      root /html/www;
      index index.html index.htm;
      }

      error_page 404 500 502 503 504 https://www.qq.com/babygohome/?pgv_ref=404;

      location = /oldboy.jpg {

      root /html;

      }

    }
    server {
    listen 80;
    server_name bbs.oldboy.com;
    location / {
    root /html/bbs;
    index index.html index.htm;
    }
    #error_page 500 502 503 504 /50x.html;
    #location = /50x.html {
    # root /usr/share/nginx/html;
    #}
    }
    server {
    listen 80;
    server_name blog.oldboy.com;
    location / {
    root /html/blog;
    index index.html index.htm;
    }
    #error_page 500 502 503 504 /50x.html;
    #location = /50x.html {
    # root /usr/share/nginx/html;
    #}
    }

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

    第三个历程:配置好解析信息
    本地进行解析
    10.0.0.7 www.oldboy.com bbs.oldboy.com blog.oldboy.com

    1. 虚拟主机的访问方式
      a 基于域名方式访问 企业环境
      b 基于端口方式访问 内部页面平台
      c 基于地址方式访问 提升网站安全 监听内网地址
      PS:nginx配置文件中涉及到地址修改,需要重启服务(不是平滑重启)

    2. 显示网站目录索引信息(利用web服务实现文件共享)
      第一个历程:修改文件配置
      server {
      listen 80;
      server_name bbs.oldboy.com;
      location / {
      root /html/bbs;
      autoindex on;
      }
      }
      第二个历程:删除首页文件(index.html)

      PS:403状态码出现的原因

      1. 对访问用户地址进行阻止
      2. 访问的首页文件不存在
    3. 网站页面安全配置方法
      1)对网站页面配置认证功能
      oldboy sa 运维人员 密码 oldboy123
      oldgirl dev开发人员 密码 oldgirl123
      第一个历程:编写配置文件
      server {
      listen 80;
      server_name bbs.oldboy.com;
      location / {
      root /html/bbs;
      autoindex on;
      auth_basic "oldboy60";
      auth_basic_user_file conf/htpasswd;
      }
      }

      第二个历程:需要生成密码文件
      yum install -y httpd-tools
      htpasswd -bc /etc/nginx/conf/htpasswd oldboy oldboy123 --- 创建密码文件并设置用户和密码
      htpasswd -b /etc/nginx/conf/htpasswd oldgirl oldgirl12 --- 在文件中追加新的用户和密码信息

      PS:如果认证不通过会显示401错误

      2)对访问用户访问资源进行策略阻止
      防止有用户攻击网站/爬网站资源
      第一个历程:编写配置文件
      [root@web01 bbs]# cat /etc/nginx/conf.d/bbs.conf
      server {
      listen 80;
      server_name bbs.oldboy.com;
      location / {
      root /html/bbs;
      #index index.html index.htm;
      autoindex on;
      auth_basic "oldboy60";
      auth_basic_user_file conf/htpasswd;
      }
      location /dev {
      root /html/bbs;
      autoindex on;
      allow 10.0.0.0/24;
      deny 10.0.1.0/24;
      }
      location /sa {
      root /html/bbs;
      autoindex on;
      deny 10.0.0.0/24;
      allow 10.0.1.0/24;
      }
      }

  1. 课程知识总结说明
    1. nginx网站服务概念介绍 特点 功能 原理(epoll)
    2. nginx网站服务部署过程 3种安装方式 源码编译安装更加灵活
    3. nginx网站服务目录结构 配置目录(nginx.conf conf.d/www.conf mime.type)
    4. nginx网站配置文件信息 root index location rewrite
    5. nginx网站企业应用配置
      1. 多个网站页面配置 多个server配置文件
      2. 访问网站多种方式 基于域名 基于地址 基于端口
      3. 显示网站目录结构 实现网站服务器充当FTP服务器 autoindex
      4. 网站访问安全配置
        1)基于认证访问 如果看不到页面401
        2)网站访问控制 根据用户源IP地址,进行访问控制 deny allow

异常问题:
IE: 会显示文件信息???

作业:

  1. 如何进行网站压力测试 ab Webbench LoadRunner
  2. 下次课程
    1)nginx服务状态模块功能
    2)nginx服务日志作用
    3)nginx服务location模块
    4)nginx服务跳转功能 rewrite
    5)nginx服务HTTPS访问 证书
    6)网站LNMP架构
    搭建自己博客网站
    购买云主机(外网地址) 购买域名(备案) 免费证书
    https://www.xuliangwei.com/
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容