IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 2021最新版 => Nginx简介与配置 -> 正文阅读

[系统运维]2021最新版 => Nginx简介与配置

架构详解

  • nginx的web优势解析
  • Yum? Install 安装方法
    • nginx的模块及编译参数
    • nginx的配置文件
  • 做一个自己的小网站

Nginx(engine x)

简介:是一个高性能的HTTP(解决C10k的问题)和反向代理服务器,也是一个IMAP/POP3/SMTP服务器(邮局服务器) C10K => connection 10000(万机高并发)

面试: nginx是一款性能强大的Web服务器,使用IO多路复用中的epoll模型,解决高并发的代理器及负载均衡设备,成为当前企业主流的Web服务器。

一、Nginx的web 优势(动静分离)

动:能与用户进行交互,用户查询数据时与后方数据库进行调用

静:.html/.jpg/.avi/.css/.txt ......所见即所得

  • IO多路复用: < IO => input(输入)/output(输出)
  • 时分多路复用 ==> CPU时钟/中断设计 (一手画圆,一手画方)
  • 频分多路复用 高并发——IO多路复用——epoll——异步——非阻塞

-----------epoll IO多路复用---------------

传统方法最传统的多进程并发模型,每进来一个新的I/O流会分配一个新的进程管理
Apache < 传统的apache在处理用户的请求时,会分出n的子进程(复制),每个进程处理一个用户的请求
 ? ? ? ? 当其中有一个子进程发生故障,会导致其他的子进程错误!

Nginx  < 当用户的请求到达nginx服务器时,服务器会有时延(时间延时)
 ? ? ? ? 用户1访问请求到达时,nginx会处理第一个用户的请求
 ? ? ? ? 这时nginx不会暂停服务,而是会在去接收用户2的请求,丢给后方服务处理后
 ? ? ? ? 再去对用户3的请求进行接收.......
 ? ? ? ? 当用户1的请求完成后,返还数据给用户1,再去接收用户4的请求.......

IO:单个线程通过记录跟踪每个I/O流(sock)的状态,来同时管理多个I/O流

作用:是尽量多的提高服务的吞吐能力,在同一个线程里面,通过拨开关的方式,来同时传输多个I/O流

epoll(IO多路复用中的一种模型):线程安全,不仅告诉你sock组里面的数据,还会告诉你具体哪个sock有数据,你不用自己去找

  • 异步: 用户过来的请求不是同时在处理,而是多路复用处理多个请求

  • 非阻塞: nginx处理用户的请求时,不会因为后方Web服务器的问题而暂停服务,而是会处理其他用户的请求

  • 同步: 两边同时处理请求

  • 阻塞: 用户的请求到达时,只处理该用户的请求,只有处理完用户请求后,才去处理其他请求。


二、Installed(Yum 配置)

  1. 1. 在百度上搜索 "www.nginx.org" 
    2. 打开页面中找到 "documentation"单击打开
    3. 单击"installing" ,找到 "package"打开
    4. 找到 REHEL/CentOs,打开,按照步骤安装
    ?
    ------------版本--------------
    ?
    1. Mainline version: 主线版,即开发版
    2. Stable version: 最新稳定版,生产环境上建议使用的版本  #选择这版本即可
    3. Legacy versions: 遗留的老版本的稳定版

---------------安装nginx显示秘钥问题----------------------

wget https://nginx.org/keys/nginx_signing.key --no-check-certificate rpm --import nginx_signing.key

Nginx 配置文件 环境: rpm -ql nginx //列出nginx支持的所有模块/文件

  1. 1. /etc/logrotate.d/nginx ? ?  #日志轮转
    2. /etc/nginx/nginx.conf     ? #总配置文件
    3. /etc/nginx/conf.d/        ? #子配置文件
    4. /etc/nginx/conf.d/default.conf #默认的网站配置目录
    5. /etc/nginx/mime.types ?  #文件关联程序(网站类型和相关处理的程序)
    6. /etc/nginx/modules       #模块文件夹/第三方模块
    7. /usr/lib/systemd/system/nginx.service systemctl      #服务脚本
    8. /usr/sbin/nginx ?  #主程序
    9. /var/cache/nginx   #缓存

Nginx编译的参数

--with-file-aio ?  #支持异步非阻塞
--with-threads ? ? #多线程模块
--with-http_addition_module #响应式追加模块/替换模块
--with-http_auth_request_module #认证模块
--with-http_gunzip_module  #压缩模块
--with-http_realip_module  #代理功能,Nginx获取真实IP模块
--with-stream ? #负载均衡/反向代理

Nginx的主配置:vim /etc/nginx/nginx.conf

-------------核心模块-------------
    < worker_processes 1; ? ? ?#启动的worker进程数量(通常与本机的CPU数量一致或auto)
?
-------------事件驱动模块-------------
    < use epoll; ? ? #事件驱动模型epoll【默认】
    < worker_connections 10240; ?#每个worker进程允许处理的最大连接数,例如10240,65535
?
-------------Http模块--------------
模块的参数优化.......

Nginx的子配置:vim /etc/nginx/conf.d/default.conf

  1. 1. listen 80 => 监听端口(可以作修改)
    ?
    2. charset koi8-r; => 默认字符集(UTF8)
    ?
    3. location /{
     ?  root    /usr/share/nginx/html; => 网页内容存放目录
     ?  index   index.html index.htm; ?=> 网页的主页
     ?      }

三、做一个属于自己的小网站

  1. 1. vim /etc/nginx/conf.d/pt.conf
     ? server {
     ? ? ? ?listen 80;
     ? ? ? ?server_name ? ? pengge.com;
     ? ? ? ?location / {
     ? ? ? ? ? ? ? ?root ? ?/peng;
     ? ? ? ? ? ? ? ?index ? index.html;
     ? ? ? ?}
     ? }
    ?
    2. 创建存放文件的目录:mkdir /peng
    ?
    3. echo "penggeDaShuaiGe" ?>> /peng/index.html
    ?
    4. 域名解析: vim /etc/hosts
    192.168.178.131(本机的IP地址)    pengge.com
    ?
    5. 访问pengtong.com:yum -y install elinks ? #纯字符浏览器
                        elinks ?http://192.168.178.131
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-25 12:36:42  更:2021-08-25 12:37:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:31:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码