这节主要简述什么是nginx,以及nginx的安装

目录

一、Nginx简介

1.1 描述

1.2 下载安装

二、Nginx基本目录结构及其相关功能

2.1 Nginx重要的组成结构

2.2 nginx.conf 文件结构介绍


一、Nginx简介

1.1 描述

 (摘抄自百度百科 20220416)

Nginx (engine x) 是一个高性能的HTTP反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。 [12] 

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2022年01月25日,nginx 1.21.6发布。 [13] 

Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

释义:

1. nginx 就是一个web服务器, 如何理解?  仅仅从其名字上可以类比Apache(tomcat),nginx提供的服务监听端口后,配置外网ip策略、内部防火墙等等便可以进行一个对外提供访问的服务器。

2. 轻量型: IO多路复用epoll,不像Apache 一个请求一个线程或进程,而且并发量因为epoll的介入,tomcat单台可以处理两百多个请求,nginx单台处理五万多个请求。

2. 提供代理和反向代理:目前场景经常使用nginx做转发操作。

1.2 下载安装

 第一步: 环境准备:

#centOs 
yum -y install make zlib-devel gcc-c++ libtool openssl openssl-devel


#ubuntu
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install libtool
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install libpcre3 
sudo apt-get install zlib1g-dev
sudo apt-get install libpcre3-dev

 第二步:下载nginx安装包

weget这个地址之后

nginx 区分移动端 nginx属于_Nginx

第三步:解压编译

#1. 解压 
tar -zxvf   xxxxxxx.tar.gz
 
#2. 进入到解压后的文件夹,找到configure 文件
cd xxxxxxxxx

#3. 配置
./configure

#4. 编译
make && make install

第四步:启动

#找到sbin文件夹,运行下面命令启动,一般都会自动安装在 /usr/local/nginx 目录下

/usr/local/nginx/sbin/nginx 


#指定配置文件
/usr/local/nginx/sbin/nginx  -c /usr/local/nginx/conf/nginx.conf

二、Nginx基本目录结构及其相关功能

2.1 Nginx重要的组成结构

nginx 区分移动端 nginx属于_nginx 区分移动端_02

1. sbin 文件夹: 主要是sbin里面的nginx二进制文件,主要是用于nginx的命令操作

nginx -t 检查配置文件

nginx -c filePath     指定conf配置文件

nginx -s [signal]
  # stop--快速关闭,相当于TERM/INT 信号
  nginx -s stop 
  # quit--优雅的关闭,类似于信号QUIT
  nginx -s quit
  # reopen -- 重写打开日志文件 相当于信号  USR1
  nginx -s reopen
  # reload -- 重新加载,相当于信号 HUP
  nginx -s reload

2. conf目录,主要存放nginx.conf 配置文件

3. logs目录, access.log 文件(主要存储用户请求相关信息) ,

                        error.log 存储错误请求相关日志

4. html目录:存储欢迎页面的html,我们可以吧不同错误的静态文件放进去进行访问

2.2 nginx.conf 文件结构介绍

nginx 区分移动端 nginx属于_nginx_03

1. 第一个红框框是全局配置位置

2. events 模块,主要处理nginx连接,例如默认的  keepalive_timeout  单位为秒,主要记录的是连接时长,tcp连接无状态,且每次连接都需要三次握手,四次挥手,那么我们对于同一个用户可以不急着断开,处理多次,  最长1024s断开。

3. http模块,主要是用于nginx请求相关具体内容。