Nginx使用
Nginx应用场景
反向代理:拦截所有请求,转发到真实的服务器,隐藏真实IP地址(抓包工具也抓取不到真实ip地址),提高安全性
负载均衡:减少单台服务器的压力和故障转移
虚拟主机:将一台主机可以部署多个网站,可以是基于域名的虚拟主机,也可以是基于端口的虚拟主机
http服务器:静态资源服务器
基于域名的虚拟主机配置
http { include mime.types; default_type application/octet-stream; keepalive_timeout 65; ## 当客户端访问nginx 的时候,拦截域名访问为www.xxx.com,监听端口号为80,匹配所有url地址 ## root data/www; 相对于nginx的安装目录 server { listen 80; server_name www.xxx.com; location / { root data/www; index index.html index.htm; } } server { listen 80; server_name bbs.xxx.com; location / { root data/bbs; index index.html index.htm; } } }
基于端口的虚拟主机配置
http { include mime.types; default_type application/octet-stream; keepalive_timeout 65; server { listen 8080; server_name www.xxx.com; location / { root data/www; index index.html index.htm; } } server { listen 8081; server_name www.xxx.com; location / { root data/bbs; index index.html index.htm; } } }
反向代理配置
(一般是nginx单独一台服务器,真实服务器和nginx在同一局域网内,将请求转发到真实服务器上,真实服务器设置为外网无法访问,提高安全性)
http { include mime.types; default_type application/octet-stream; keepalive_timeout 65; server { listen 80; server_name www.xxx.com; location / { ##反向代理到内网或者外网地址都可以,推荐使用内网 proxy_pass http://127.0.0.1:8081/; } } }
负载均衡配置
http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #配置了3台真实服务器,并配置了负载均衡的策略为权重 upstream backServer{ server 127.0.0.1:8080 weight=1; server 127.0.0.1:8081 weight=1; server 127.0.0.1:8082 weight=1; } server { listen 80; server_name www.irish.com; location / { proxy_pass http://backServer/; #配置故障转移,超时3秒就转发到可以正常访问的服务器 #当发生故障的服务器恢复正常后,nginx会自动把该服务器添加进来 proxy_connect_timeout 3s; proxy_send_timeout 3s; proxy_read_timeout 3s; } } }
域名相同,以项目名称区别反向代理的服务器
http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name www.xxx.com; #这里反向代理要以斜杠结尾, #访问http://www.xxx.com/tomcat8080/ 地址实际上对应的是http://127.0.0.1:8080/ # 在访问地址后面追加的路径也会同样追加在代理地址后面 location /tomcat8080/ { proxy_pass http://127.0.0.1:8080/; } location /tomcat8081/ { proxy_pass http://127.0.0.1:8081/; } } }