标签:影响 一个 alt ups 基于 处理 地址 upstream 协议
nginx是一个http服务器,可以将服务器上的静态文件通过http协议展现给客户端
配置:
server {
listen 80; # 端口号
location / {
# 静态文件路径
}
}
什么是反向代理?
客户端本来可以直接通过http协议访问某些网站应用服务器,如果在网站管理员中间加上一个nginx,客户端请求nginx,nginx请求应用服务器
然后把结果返回给客户端,此时nginx就是反向代理服务器
server {
listen 80;
location / {
proxy_pass http://192.168.0.112:8080; # 应用服务器HTTP地址
}
}
当网站访问量很大时,一台服务器已经不能足以支持服务了,于是将多台服务器搭建成一个集群用于提供服务,将客户端的大量请求分别分给不同的服务器进程处理,nginx可以使用反向代理来实现负载均衡
配置:
upstream myweb {
server 192.168.0.111:8080; # 应用服务器1
server 192.168.0.112:8080; # 应用服务器2
}
server {
listen 80;
location / {
proxy_pass http://myweb;
}
}
当网站访问量小的时候为了节约成本可以将多个网站部署到一台服务器,例如将www.aaa.com和www.bbb.com两个网站部署在同一台服务器上,两个域名解析到同一个IP地址,但是用户可以通过两个域名可以打开两个不同的网站,互不影响,就像访问两台服务器一样,所以是两个虚拟主机
配置:
server {
listen 80 default_server;
server_name _;
return 444; # 过滤其他域名的请求,返回444状态码
}
server {
listen 80;
server_name www.aaa.com; # www.aaa.com域名
location / {
proxy_pass http://localhost:8080; # 对应端口号8080
}
}
server {
listen 80;
server_name www.bbb.com; # www.bbb.com域名
location / {
proxy_pass http://localhost:8081; # 对应端口号8081
}
}
在服务器8080和8081分别开了一个应用,客户端通过不同的域名访问,根据server_name可以反向代理到对应的应用服务器。
虚拟主机的原理是通过HTTP请求头中的Host是否匹配server_name来实现的,另外,server_name配置还可以过滤有人恶意将某些域名指向你的主机服务器。
注意:负载均称和虚拟主机都是基于动态代理实现的
标签:影响 一个 alt ups 基于 处理 地址 upstream 协议
原文地址:https://www.cnblogs.com/zhangmeng0726/p/14623400.html