什么是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主要功能
请求转发:类似于 “接线员”
负载均衡
动静分离
ngixn的安装和启动
官网:http://ngixn.org/
下载完成后解压至无中文路径
常用的配置文件是 ./conf/nginx.conf。查看默认监听端口。
启动Nginx: 可以双击安装目录下的 nginx.exe,第一次启动时不建议这么做,因为启动窗口会一闪而过,看不到报错信息。可以使用 cmd 来启动。
启动后,关闭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下使用



