Nginx浅析

177 阅读4分钟

「这是我参与11月更文挑战的第9天,活动详情查看:2021最后一次更文挑战」。

一、什么是Nginx?

Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东新浪网易腾讯淘宝等。

二、为什么使用Nginx?

概念: 首先,我们需要知道现如今互联网分布式系统已经普遍存在,高并发(High Concurrency)是其架构设计重点之一,而Nginx的并发能力又是在同类型的网页服务器中表现较好的。

介绍:

在传统的Web项目中,并发量小,用户使用的少。所以在低并发的情况下,用户可以直接访问tomcat服务器,然后tomcat服务器返回消息给用户。在此情况下,因单个tomcat默认并发量有限制。如果请求量过大,会产生许多问题:

Tomcat8 默认配置的最大请求数是 150,也就是说同时支持 150 个并发,当然了,也可以将其改大。 当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群。

具体能承载多少并发,需要看硬件的配置,CPU 越多性能越高,分配给 JVM 的内存越多性能也就越高,但也会加重 GC 的负担。

操作系统对于进程中的线程数有一定的限制:

Windows 每个进程中的线程数不允许超过 2000

Linux 每个进程中的线程数不允许超过 1000 (在 Java 中每开启一个线程需要耗用 1MB 的 JVM 内存空间用于作为线程栈之用。)

Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的。 更好的硬件,更多的处理器都会使Tomcat支持更多的并发。

maxThreads="150" 最大并发数

minSpareThreads="10"///初始化时创建的线程数

maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。

特点:

高并发、高性能、可扩展性好、高可靠性、热部署、BSD许可证。

小知识:

  • 反向代理:

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

  • 正向代理:

是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。

三、Nginx下载和使用

1.下载: 官方网址: nginx.org/

image.png

2.安装:

  • Windows操作系统 1、解压文件夹

image.png

2、双击nginx.exe ,一闪而过,nginx启动成功了,通过访问:http://localhost (端口号默认80)

  • Linux操作系统 1、安装Nginx源

执行以下命令:

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装该rpm后,我们就能在/etc/yum.repos.d/ 目录中看到一个名为nginx.repo 的文件。

安装完Nginx源后,就可以正式安装Nginx了。

yum install -y nginx

3.使用:

  • Windows操作系统

常用命令

start nginx   启动nginx
nginx -s stop 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。 
nginx -s quit 平稳关闭Nginx,保存相关信息,有安排的结束web服务。 
nginx -s reload 因改变了Nginx相关配置,需要重新加载配置而重载。 
nginx -s reopen 重新打开日志文件。
nginx -c filename 为 Nginx 指定一个配置文件,来代替缺省的。 
nginx -t 不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。 
nginx -v 显示 nginx 的版本。 
nginx -V 显示 nginx 的版本,编译器版本和配置参数