域名解析问题
域名访问,先从浏览器缓存中解析,然后从本地host文件解析,最后去万网解析域名。
本地host文件路径:C:\Windows\System32\drivers\etc

nginx解决端口问题

  • 反向代理
  • 负载均衡
  • 动态路由
  • 请求过滤
nginx作为web服务器

Web服务器分2类:

web应用服务器,如:

  • tomcat(并发在200)
  • resin
  • jetty
  • List item
  • List item

web服务器,如:

  • Apache 服务器
  • Nginx(并发在上万起步)
  • IIS

区分:web服务器不能解析jsp等页面,只能处理js、css、html等静态资源。
并发:web服务器的并发能力远高于web应用服务器。
采用:Nginx + tomcat
Nginx:
静态资源服务器【类似于tomcat】
反向代理服务器:代理服务器

nginx作为反向代理

什么是反向代理?

  • 代理:通过客户机的配置,实现让一台服务器代理客户机,客户的所有请求都交给代理服务器处理。
  • 反向代理:用一台服务器,代理真实服务器,用户访问时,不再是访问真实服务器,而是代理服务器。

nginx可以当做反向代理服务器来使用:

  • 我们需要提前在nginx中配置好反向代理的规则,不同的请求,交给不同的真实服务器处理
  • 当请求到达nginx,nginx会根据已经定义的规则进行请求的转发,从而实现路由功能

利用反向代理,就可以解决我们前面所说的端口问题,如图

如果是安装在本机:

nginx配置报域名解析错误 nginx域名解析流程_服务器


nginx配置报域名解析错误 nginx域名解析流程_反向代理_02


nginx通过命令行来启动,操作命令

  • 启动:start nginx.exe
  • 停止:nginx.exe -s stop
  • 重新加载:nginx.exe -s reload

需要让nginx反向代理我们的服务器,因此需要自定义nginx配置 .conf文件。

指定配置的路径:include vhost/*.conf;

nginx配置报域名解析错误 nginx域名解析流程_nginx_03


创建一个指定好的文件夹

nginx配置报域名解析错误 nginx域名解析流程_反向代理_04


在指定文件夹内创建一个指定的配置文件

nginx配置报域名解析错误 nginx域名解析流程_服务器_05


编写leyou.conf中的内容

例如:

upstream leyou-manage{
	server	127.0.0.1:9001;
}
upstream leyou-gateway{
	server	127.0.0.1:10010;
}
upstream leyou-portal{
	server	127.0.0.1:9002;
}

server {
	listen       80;
	server_name  ;
	
	location / {
	    proxy_pass   http://leyou-manage;
		proxy_connect_timeout 600;
		proxy_read_timeout 5000;
	}
}
server {
	listen       80;
	server_name  www.leyou.com;
	
	location / {
	    proxy_pass   http://leyou-portal;
		proxy_connect_timeout 600;
		proxy_read_timeout 5000;
	}
}
server {
	listen       80;
	server_name  ;
	
	location / {
	    proxy_pass   http://leyou-gateway;
		proxy_connect_timeout 600;
		proxy_read_timeout 5000;
	}
}

解读

  • upstream:定义一个负载均衡集群
  • server:集群中某个节点的ip和port信息,可以配置多个,实现负载均衡,默认轮询
  • server:定义一个监听服务配置
  • listen:监听的断开
  • server_name:监听的域名
  • location:匹配当前域名下的哪个路径。例如:/,代表的是一切路径
  • proxy_pass:监听并匹配成功后,反向代理的目的地,可以指向某个ip和port,或者指向upstream定义的负载均衡集群,nginx反向代理时会轮询中服务列表中选择。

域名访问网站中间的流程

nginx配置报域名解析错误 nginx域名解析流程_服务器_06