worker_processes 1;
# 单个后台 worker process 进程的最大并发链接数
# 并发总数 max_clients = worker_professes * worker_connections
events {
worker_connections 1024;
}
# 主模式
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#所有端口号
upstream tomcats{
server localhost:8080;
server localhost:8081;
}
#itrip_auths 是 localhost:8081 的别名
upstream itrip_auths{
server localhost:8080;
}
#itrip_searchs 是 localhost:8081 的别名
upstream itrip_searchs{
server localhost:8081;
}
#服务器配置
server {
#监听80端口
listen 80;
#server_name 用于设置虚拟主机服务名称
server_name localhost;
#路径拼接
location /auth {
#proxy_set_header 理解为
#用户认证接口:根据客户端IP和port,进行IP反查和端口范围确认,
#如符合则用户认证通过。
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://itrip_auths/; #反向代理地址
}
#同理
location /search {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://itrip_searchs/; #反向代理地址,注意最后加反斜杠
}
location / {
root alx;
#expires 缓存用户信息 7d = 7day
expires 7d;
}
# ~* ^/ 每个符号都有自己的含义
location ~* ^/(\w+\.(jpg|jpeg|gif|png))$ {
root alx/static/img/;
}
#error_page是当发生错误的时候能够显示一个预定义的uri
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
这是最基础的反向代理,当然这个文件也一样可以玩出花来,这就需要大量的理解和熟悉nginx