ThankNeko's Blog ThankNeko's Blog
首页
  • 操作系统

    • Linux基础
    • Linux服务
    • WindowsServer笔记
    • Ansible笔记
    • Shell笔记
  • 容器服务

    • Docker笔记
    • Kubernetes笔记
    • Git笔记
  • 数据库服务

    • MySQL笔记
    • ELK笔记
    • Redis笔记
  • 监控服务

    • Zabbix笔记
  • Web服务

    • Nginx笔记
    • Tomcat笔记
  • 数据处理

    • Kettle笔记
  • Python笔记
  • Bootstrap笔记
  • C笔记
  • C++笔记
  • Arduino笔记
  • 分类
  • 标签
  • 归档
  • 随笔
  • 关于
GitHub (opens new window)

Hoshinozora

尽人事,听天命。
首页
  • 操作系统

    • Linux基础
    • Linux服务
    • WindowsServer笔记
    • Ansible笔记
    • Shell笔记
  • 容器服务

    • Docker笔记
    • Kubernetes笔记
    • Git笔记
  • 数据库服务

    • MySQL笔记
    • ELK笔记
    • Redis笔记
  • 监控服务

    • Zabbix笔记
  • Web服务

    • Nginx笔记
    • Tomcat笔记
  • 数据处理

    • Kettle笔记
  • Python笔记
  • Bootstrap笔记
  • C笔记
  • C++笔记
  • Arduino笔记
  • 分类
  • 标签
  • 归档
  • 随笔
  • 关于
GitHub (opens new window)
  • 操作系统

  • 虚拟化服务

  • 数据库服务

  • 监控服务

  • Web服务

    • Nginx笔记

      • HTTP/HTTPS介绍
      • Nginx介绍与部署
        • Nginx介绍
          • 简介
          • Nginx网络模型
          • Nginx进程
        • Nginx部署
          • 1. 解决软件依赖
          • 2. 创建相关环境
          • 3. 解压源代码包
          • 4. 编译安装
          • 5. 验证是否部署成功
        • Nginx目录结构
      • Nginx配置与常用模块
      • Nginx负载均衡
      • Nginx优化
    • Tomcat笔记

  • 数据处理

  • Ops
  • Web服务
  • Nginx笔记
Hoshinozora
2023-03-27
目录

Nginx介绍与部署

# Nginx介绍

# 简介

Nginx是一款开源的高性能HTTP和反向代理WEB服务器软件。它的特点是并发能力强、系统资源占用少、跨平台性好、且支持负载均衡、缓存服务、网站WEB服务等功能。

# Nginx网络模型

image-20230326185415660

  • Nginx实现网络通讯时使用的是epoll模型,epoll模型是一个异步IO模型,并发量高大时,基本不受影响。

  • 而Apache使用的是select模型,select模型是一个IO多路复用,该模型的轮询效率低、代价大,需要遍历整个数组才知道谁发生了变化,因此并发越大、连接数越多时,性能越低。

  • 相比Apache,Nginx使用更少的资源,支持更多的并发连接,体现更高的效率。

# Nginx进程

  • Nginx进程分类两个角色,主进程和工作进程。
  • nginx: master process - 主进程,用于保证服务正常运行。
    • master进程会保证运行的worker进程 一直处于指定的worker进程数。
    • 如果worker进程被杀掉后会被master进程重新拉起。
  • nginx: woker process - 工作进程,处理用户的访问请求。

# Nginx部署

# 1. 解决软件依赖

# yum安装相关依赖
yum -y install make zlib zlib-devel gcc-c++ libtool openssl-devel pcre-devel
1
2

# 2. 创建相关环境

# 创建安装目录
mkdir -p /data/apps/nginx

# 创建管理用户
useradd -s /sbin/nologin -M nginx
1
2
3
4
5

# 3. 解压源代码包

# 下载源代码包,选择Stable稳定版
https://nginx.org/en/download.html

# 解压Nginx源代码
tar -xvf nginx-*.tar.gz -C ./nginx_source
1
2
3
4
5

# 4. 编译安装

# 切换到源代码目录以方便进行编译安装
cd ./nginx_source

# --prefix=[程序安装路径] --user=[NGINX管理用户] --group=[NGINX管理用户组]
# 另外还可以指定一些其他模块,很多模块都是默认开启的,一般不需要额外配置
./configure --prefix=/data/apps/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre

# 编译成二进制文件
make

# 将编译的二进制文件安装到/bin中
make install
1
2
3
4
5
6
7
8
9
10
11
12

# 5. 验证是否部署成功

# Nginx相关文件会存放在指定的程序安装目录中
ls /data/apps/nginx/

# 验证命令是否正常可用
nginx -v
1
2
3
4
5

# Nginx目录结构

# ./nginx/sbin/

  • 存放Nginx二进制命令文件。

# ./nginx/logs/

  • 存放Nginx运行日志、访问日志、错误日志等文件。

# ./nginx/html/

  • 存放Nginx默认站点文件。

# ./nginx/conf/

  • 存放Nginx配置文件、接口相关文件、支持的资源拓展配置文件、编码转换映射配置文件等
  • nginx.conf - 主配置文件
  • conf.d - 存放虚拟主机配置文件,会在主配置文件中导入
  • fastcgi_params、scgi_params、uwsgi_params - 接口配置文件
  • koi-utf、koi-win、win-utf - 编码转换映射配置文件
  • mime.types - 定义支持的资源扩展名的配置文件
#Web#Nginx
HTTP/HTTPS介绍
Nginx配置与常用模块

← HTTP/HTTPS介绍 Nginx配置与常用模块→

最近更新
01
二〇二五年四月十七日随笔
04-17
02
二〇二五年四月十六日随笔
04-16
03
二〇二五年四月九日随笔
04-09
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Hoshinozora | MIT License
湘ICP备2022022820号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式