文章目录

  • 一、Nginx简介
  • 二、Nginx 相对于 Apache 的优点
  • 三、nginx 应用场景
  • 1.同步与异步
  • 2.阻塞与非阻塞
  • 四、Nginx安装及运行控制
  • 1、编译安装
  • 2、访问控制
  • 1、访问状态统计
  • 2、基于授权的访问控制
  • 3、基于客户端的访问控制
  • 4、基于域名的 Nginx 虚拟主机
  • 5、基于IP 的 Nginx 虚拟主机
  • 6、基于端口的 Nginx 虚拟主机
  • 总结



一、Nginx简介

Nginx是一款轻量级的Web服务器及电子邮件(IMAP/POP3)代理服务器,
最大的优点是它的稳定性和低系统资源消耗,以及对HTTPT并发连接的高出力能力,单台物理服务器可支持30000~50000个并发请求。

二、Nginx 相对于 Apache 的优点

轻量级,同样是 web 服务,比 Apache 占用更少的内存及资源 ;

高并发,Nginx 处理请求是异步非塞的,而 Apache 则是阻塞型的,在高并发下 Nginx 能保持低资源低消耗高性能;

高度模块化的设计编写模块相对简单;社区活跃,各种高性能模块出品迅速。

三、nginx 应用场景

1、静态服务器 (图片、视频服务、文本)
2、动态服务
3、反向代理, 负载均衡
4、缓存服务

1.同步与异步

同步指的是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。异步的概念和同步相对,当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。

2.阻塞与非阻塞

阻塞和非阻塞是进程在访问数据的时候,数据是否准备就绪的一种处理方式。当数据没有准备的时候,阻塞需要等待调用结果返回之前,进程会被挂起,函数只有在得到结果之后才会返回。非阻塞和阻塞的概念相对,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。

小结:
阻塞和非阻塞是指进程访问的数据如果尚未就绪,进程是否需要等待,简单说这相当于函数内部的实现区别,也就是未就绪时是直接返回还是等待就绪。

同步和异步是指访问数据的机制,同步一般指主动请求并等待I/O操作完毕的方式,当数据就绪后在读写的时候必须阻塞,异步则指主动请求数据后便可以继续处理其它任务,随后等待I/O,操作完毕的通知,这可以使进程在数据读写时也不阻塞。

四、Nginx安装及运行控制

1、编译安装

1.关闭防火墙、安全机制

linux中nginx怎么检查Fastjson版本 linux查看nginx_Nginx


2.安装依赖包

linux中nginx怎么检查Fastjson版本 linux查看nginx_nginx_02


3.创建运行用户与组

linux中nginx怎么检查Fastjson版本 linux查看nginx_Nginx_03


4.解压安装包,编译安装

linux中nginx怎么检查Fastjson版本 linux查看nginx_linux_04

linux中nginx怎么检查Fastjson版本 linux查看nginx_Nginx_05


linux中nginx怎么检查Fastjson版本 linux查看nginx_服务器_06


5.添加Nginx系统服务

linux中nginx怎么检查Fastjson版本 linux查看nginx_linux_07


linux中nginx怎么检查Fastjson版本 linux查看nginx_Nginx_08


linux中nginx怎么检查Fastjson版本 linux查看nginx_Nginx_09

2、访问控制

1、访问状态统计

1.先使用命令usr/local/nginx/sbin/nginx -V 查看已安装的 Nginx 是否包含 HTTP_STUB_STATUS 模块:

linux中nginx怎么检查Fastjson版本 linux查看nginx_linux_10


2.修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置

linux中nginx怎么检查Fastjson版本 linux查看nginx_运维_11


linux中nginx怎么检查Fastjson版本 linux查看nginx_服务器_12


3.重启服务,访问测试

systemctl restart nginx

linux中nginx怎么检查Fastjson版本 linux查看nginx_linux_13


浏览器访问 http192.168.40.103/status

Active connections :表示当前的活动连接数;

server accepts handled requests :表示已经处理的连接信息,三个数字依次表示已处理的连接数、成功的TCP握手次数、 已处理的请求数。

linux中nginx怎么检查Fastjson版本 linux查看nginx_nginx_14


刷新页面观察页面变化

linux中nginx怎么检查Fastjson版本 linux查看nginx_Nginx_15

2、基于授权的访问控制

1.生成用户密码认证文件

yum install -y httpd-tools

htpasswd -c /usr/local/nginx/passwd.db swxg

chown nginx /usr/local/nginx/passwd.db

chmod 400 /usr/local/nginx/passwd.db

linux中nginx怎么检查Fastjson版本 linux查看nginx_运维_16


2.修改主配置文件相对应目录,添加认证配置项

linux中nginx怎么检查Fastjson版本 linux查看nginx_nginx_17


linux中nginx怎么检查Fastjson版本 linux查看nginx_nginx_18


3.重启服务,访问测试

linux中nginx怎么检查Fastjson版本 linux查看nginx_linux_19

浏览器访问 http192.168.40.103

linux中nginx怎么检查Fastjson版本 linux查看nginx_Nginx_20


成功登录

linux中nginx怎么检查Fastjson版本 linux查看nginx_linux_21

3、基于客户端的访问控制

deny IP/IP 段:拒绝某个 IP 或 IP 段的客户端访问。
allow IP/IP 段:允许某个 IP 或 IP 段的客户端访问。
规则从上往下执行,如匹配则停止,不再往下匹配。

修改配置文件vim /usr/local/nginx/conf/nginx.conf

linux中nginx怎么检查Fastjson版本 linux查看nginx_linux_22


linux中nginx怎么检查Fastjson版本 linux查看nginx_服务器_23

4、基于域名的 Nginx 虚拟主机

1、为虚拟主机提供域名解析

echo “192.168.40.103 www.kgc.com www.benet.com” >> /etc/hosts

linux中nginx怎么检查Fastjson版本 linux查看nginx_nginx_24


2、为虚拟主机准备网页文档

linux中nginx怎么检查Fastjson版本 linux查看nginx_服务器_25


3、修改配置文件

vim /usr/local/nginx/conf/nginx.conf

设置域名www.kgc.com

linux中nginx怎么检查Fastjson版本 linux查看nginx_服务器_26


设置域名www.czc.com

linux中nginx怎么检查Fastjson版本 linux查看nginx_linux_27


4、重启服务,访问测试

systemctl restart nginx

浏览器访问

http://www.kgc.com http://www.czc.com

linux中nginx怎么检查Fastjson版本 linux查看nginx_服务器_28


linux中nginx怎么检查Fastjson版本 linux查看nginx_服务器_29

5、基于IP 的 Nginx 虚拟主机

1、设置虚拟网卡ifconfig ens33:0 192.168.40.104 netmask 255.255.255.0

ip a查看

linux中nginx怎么检查Fastjson版本 linux查看nginx_Nginx_30


2、修改配置文件

vim /usr/local/nginx/conf/nginx.conf

linux中nginx怎么检查Fastjson版本 linux查看nginx_服务器_31

linux中nginx怎么检查Fastjson版本 linux查看nginx_运维_32


3、重启服务,访问测试

systemctl restart nginx

浏览器访问

http://192.168.40.103 http://192.168.40.104

linux中nginx怎么检查Fastjson版本 linux查看nginx_服务器_33

linux中nginx怎么检查Fastjson版本 linux查看nginx_linux_34

6、基于端口的 Nginx 虚拟主机

1、修改配置文件

vim /usr/local/nginx/conf/nginx.conf

linux中nginx怎么检查Fastjson版本 linux查看nginx_Nginx_35


linux中nginx怎么检查Fastjson版本 linux查看nginx_Nginx_36


2、重启服务,访问测试

systemctl restart nginx

浏览器访问

http://192.168.40.103:8080 http://192.168.40.104:8888

linux中nginx怎么检查Fastjson版本 linux查看nginx_运维_37


linux中nginx怎么检查Fastjson版本 linux查看nginx_运维_38


总结

LNMP平台的N表示Nginx,是一款轻量级的Web服务器软件,在高并发下 Nginx 能保持低资源低消耗高性能;
Nginx页面访问安全有基于授权和基于客户端两种方式。