学习ngixn

什么是ngixn

Ngixn是一个轻量级高性能HTTP反向代理web服务器

特点:占有内存少,并发能力强。事实上ngixn的并发能力在同类型网页服务器表现较好,中国大陆使用Ngixn网站有:百度,京东,新浪,网易,腾讯,淘宝等

为什么使用Ngixn

传统Web项目中,并发量小,用户使用的少。

在低并发情况下,用户可以直接访问tomcat服务器,然后tomcat服务武器发送消息给用户。

用户访问 <------->Tomcat服务器

在互联网项目下,因单个tomcat默认并发量有限制。如果请求量过大,会产生如下问题:

Tomcat8默认配置最大请求数是150。也就是说同时支持150个并发,当然了,也可以将其改大
当某个应用拥有250个以上并发的时候,应考虑应用服务器的集群
具体能承载多少并发,需要看硬件配置,CPU越多性能越高,分配给JVM的内存越多性能也就越高,但也会加重GC的负担
操作系统对于进程中的线程有一定的限制:
Windows每个进程中的线程数不允许超过2000
Linux每个进程中的线程数不允许超过1000
(在JAVA中每开启一个线程需要消耗1MB的JVM内存空间用于作为线程栈之用)
Tomcat对的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能和CPU数量都有很大的关系。更好的硬件,更多的处理器都会使Tomcat支持更多的并发。
maxThreads="150"
minSpareThreads="150"
maxSpareThreads="500"

高并发:

是互联网分布式系统架构设计中必须考虑的因素之一

通常指:通过设计保证系统能够同时并行处理很多请求

高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数

响应时间:系统对请求做出响应时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。

吞吐量:单位时间内处理的请求数量

QPS:每秒响应请求数。在互联网领域,这个指标和吞吐量区分的没有这么明显

并发用户数:同时承载正常使用系统功能的用户数量

高可用:通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。

高性能:是指服务响应时间快,(CPU/处理器/内存)特别是在高并发下响应时间不会急剧增加。

反向代理和正向代理

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

正向代理:是一个客户端和原始服务器之间的服务器,为了从原始服务器获得内容。客户端向代理发送一个请求并指定目标(原始服务器),然后代理原始服务器转发并获得的内容返回给客户端

学习ngixn_第1张图片        

ngixn主要功能 

 请求转发:类似于 “接线员”

学习ngixn_第2张图片

负载均衡

学习ngixn_第3张图片 动静分离

学习ngixn_第4张图片

ngixn的安装和启动 

官网:http://ngixn.org/

学习ngixn_第5张图片 下载完成后解压至无中文路径

 学习ngixn_第6张图片

 常用的配置文件是 ./conf/nginx.conf。查看默认监听端口。

学习ngixn_第7张图片

启动Nginx: 可以双击安装目录下的 nginx.exe,第一次启动时不建议这么做,因为启动窗口会一闪而过,看不到报错信息。可以使用 cmd 来启动。 

学习ngixn_第8张图片

学习ngixn_第9张图片

学习ngixn_第10张图片

启动后,关闭DOS窗口并不会关闭Nginx,在后台运行着。(可以使用任务管理器查看、关闭)

ngixn常用命令 

cd /usr/local/nginx/sbin/
./nginx  # 启动
./nginx -s stop # 停止
./nginx -s quit # 安全退出
./nginx -s reload # 重新加载配置文件
./nginx -v 显示nginx版本
./nginx -s reopen 重新打开日志文件
ps aux|grep nginx # 查看nginx进程

Nginx实际操作 

nginx配置文件结构

...              #全局配置

events {         #events配置
   ...
}

http {     #http配置
	
    upstream edustudy {	# 负载均衡配置,默认是轮询
        server 127.0.0.1:8080 weight=1;	# weight是权重
        server 127.0.0.1:8081 weight=1;
    }
    server {        #server代理
        listen       9001;
        server_name  localhost;	# 监听到之后转发到localhost
        
        location / {  # 9001端口下的所有请求都会被匹配到这里
			proxy_pass http://edustudy;	# 转发至负载均衡里
        }
        
        # www.edustudy.com/admin
        location /admin {
            
        }
        
        # 当地址中包含"eduService"时,请求会转发至 http://localhost:8085
        location ~ /eduService/ { 
            proxy_pass http://localhost:8085;
        }

    }
    
    server {
      	listen       9002;
        server_name  localhost;
    }
}

 Nginx学习_蛋头弹头的博客-CSDN博客_nginx学习

Nginx 是什么、为什么、怎么用? - 知乎

linux和nginx的区别?

Linux是一个操作系统,而nginx只是一个运行在操作系统上的软件。

nginx windows还是linux? 

Nginx可以在windows下运行,也可以下载Linux版本,但一般推荐在性能更好的Linux下使用 

你可能感兴趣的:(学习)