一、服务器
nginx可以作为静态页面的服务器,在前后端分离开发中比较常见,如:前台静态资源部署在nginx上,后台服务部署在tomcat服务器中
二、虚拟主机
虚拟主机通过子域名可以实现多级域名,只需要在dns服务器上注册一个域名,通过nginx实现了多个域名:
如:注册 lishaojun.com 域名,可以在nginx中配置 aaa.lishaojun.com bbb.lishaojun.com 的映射到不同的资源(静态资源或者服务器)
三、反向代理
所谓的反向代理就是代理服务器,而不是客户端。通过反向代理可以实现服务器负载均衡的功能,负载均衡很好理解,在虚拟主机映射到服务器时,每个配置的域名(虚拟主机)可以配置多个服务器,而且可以配置权重,nginx自动选择合适的服务器转发请求。
总结:nginx可以直接作为网页服务器,或者间接代理服务器,并且可以实现域名虚拟化
#web服务器
server {
listen 81; # 监听的端口
server_name localhost; # 域名或ip
location / { # 访问路径配置
root index;# 根目录
index index.html index.htm; # 默认首页
}
error_page 500 502 503 504 /50x.html; # 错误页面
location = /50x.html {
root html;
}
}
# 虚拟主机
server { listen 80; server_name www.lishaojun.com; location / { root cart; index cart.html; } }
server { listen 80; server_name abc.lishaojun.com; location / { root search; index search.html; } }
#反向代理+负载均衡
upstream tomcat-travel {
server 192.168.177.129:8080;
server 192.168.177.129:8081 weight=2;
server 192.168.177.129:8082;
}
server {
listen 80; # 监听的端口
server_name www.lishaojun.com; # 域名或ip
location / { # 访问路径配置
# root index;# 根目录
proxy_pass http://tomcat-travel; # 别名
index index.html index.htm; # 默认首页
}
error_page 500 502 503 504 /50x.html; # 错误页面
location = /50x.html {
root html;
}
}