赞
踩
localhost 解析为 dns域名,为了方便记忆 我们会使用域名再通过dns解析成我们的ip地址
一般来说我们是在C:\Windows\System32\drivers\etc目录下的host 解析域名
如果找到就返回对应的ip地址,没有则通过电信运行商找到域名对应的ip地址
1、反向代理/正向代理 客户端发送请求到nginx服务器,nginx转发到真实的服务器访问,从而保证真实的服务安全性!
2、负载均衡 可以对集群的节点实现负载和故障转移,负载均衡算法:(轮询,权重、随机、hash等·
3、微服务网关入口,可以对微服务网关实现集群(×)
4、静态服务器比tomcat性能多的多,可以存放静态资源
5、保护网站 使用nginx+lua实现对请求实现服务限流
下载地址:http://nginx.org/en/download.html
启动:
首先,我们进入nginx所在的文件夹,在地址栏敲击命令"cmd",最后按确认键;
1、config 配置文件(nginx 核心配置文件 nginx.conf)
2、contrib 存放实用工具
3、docs 存放文档
4、html 存放静态资源
5、logs 存放日志
进入到命令行模式
#启动命令 start nginx
start nginx
有时候,我们在启动之前可以检查下配置命令是否正确
#检查命令
nginx -t -c conf/nginx.conf
要启动nginx,请运行可执行文件。一旦nginx启动,就可以通过调用带有-s参数的可执行文件来控制它。使用以下语法:
nginx -s signal
当信号可以是下列之一:
stop - 快速关机
quit - 优雅的关机
reload - 重新加载配置文件
reopen - 重新打开日志文件
例如,要停止nginx进程并等待工作进程完成当前请求的服务,可以执行以下命令:
nginx -s quit
这个命令应该在启动nginx的同一个用户下执行。
说明:如果在启动过程中未正常启动,可以去查看错误日志,根据其中报错信息寻找解决问题的方法;
问题:An attempt was made to access a socket in a way forbidden by its access permissions 报错
默认80端口占用问题
解决方法:
一般方法是关闭80端口
强制解决:
在 nginx-1.12.1\conf 路径下,打开nginx.conf文件,将监听的端口80 修改为 8090,重新启动Nginx
客户端 -> nginx 服务器 ->html/order
例如我们的项目是前后端分离的,可以直接将前端静态资源直接存放到html目录中
根据业务区分域名
1、在hosts文件中创建
127.0.0.1 number.com
127.0.0.1 order.com
用于区分不同的业务
2、在nginx下创建两个子文件夹,内各包含一个html文件
![({NQBH]%0ATGRXAI9CW1D36.png](https://img-blog.csdnimg.cn/img_convert/52ae48d8bd49c5dcfb8f79f0844f98f0.png#averageHue=#232221&clientId=u6be9f52b-0136-4&from=paste&height=226&id=u1a415722&name=({NQBH]%0ATGRXAI9CW1D36.png&originHeight=226&originWidth=692&originalType=binary&ratio=1&rotation=0&showTitle=false&size=17904&status=done&style=none&taskId=u978f472e-b691-47b4-9664-88bbc79082e&title=&width=692)

tomcat实现集群,客户端通过url访问到nignx服务器端,服务器端转发到tomcat端,实现轮流访问我们的tomcat服务器,这就是轮询,如果访问到其中一个tomcat访问不通,就会访问另外一台tomcat,实现来回切换,即故障转移
![{I5CPCQ]Z3Z14]J{5@K_{P.png](https://img-blog.csdnimg.cn/img_convert/1c76679b95f7233ed0e295eddb23532c.png#averageHue=#f8f4e9&clientId=ucb4c22ac-dcf2-4&from=paste&height=263&id=u9a754647&name={I5CPCQ]Z
3Z14]J{5@K_{P.png&originHeight=263&originWidth=891&originalType=binary&ratio=1&rotation=0&showTitle=false&size=117183&status=done&style=none&taskId=u74a14353-f13b-43bf-9e1e-ea35ac1dbac&title=&width=891)
实现:
1、修改host文件
127.0.0.1 upstream.zxq.com
2、配置nginx文件
upstream backServer{
# 实现轮询
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
server {
listen 8090;
server_name upstream.zxq.com;
location / {
proxy_pass http://backServer;
index index.html index.htm;
}
}
3、重启nginx服务
4、浏览器访问
![W0EKP]HJQE9W}0I05PDHI8H.png](https://img-blog.csdnimg.cn/img_convert/29a7f677c8414c6ed5ca17403c0d12a4.png#averageHue=#bfdec4&clientId=ucb4c22ac-dcf2-4&from=paste&height=118&id=ub9857777&name=W0EKP]HJQE9W}0I05PDHI8H.png&originHeight=118&originWidth=537&originalType=binary&ratio=1&rotation=0&showTitle=false&size=12502&status=done&style=none&taskId=uf89cf409-fff4-43e7-b202-f965b1750ba&title=&width=537)

访问同一个url。实现两个tomcat来回切换-
多个tomcat之间,强度有强有弱,因此需要配置权重,能力好的多访问,能力弱的少访问,即权重策略
实现方法:
在配置多个tomcat时配置,其他配置如上不变
upstream backServer{
# 实现轮询 默认权重比为1:1
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:8081 weight=1;
}
一般推荐tomcat集群,一台tomcat宕机,底层会使用故障转移策略,访问另外一台tomcat
当转发地址发生宕机,无须访问 nginx会默认自动故障转移到下一个地址,集群保证服务器端高可用 故障转移 立马切换到下一台
在一个server中需要配置多个location进行定位匹配,根据开头转发到不同的tomcat服务器(可以解决跨域问题)
server {
listen 8090;
server_name www.my.com;
location /number {
proxy_pass http://127.0.0.1:8080/;
index index.html index.htm;
}
location /order {
proxy_pass http://127.0.0.1:8081/;
index index.html index.htm;
}
}
重启nginx,访问地址:http://www.my.com:8090/number http://www.my.com:8090/order
java代码:
@RestController
public class Demo2 {
@GetMapping("/")
public String demo1() {
return "nginx8080";
}
}
效果图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。