NGINX 反向代理
大致流程
- 在http模块中配置upstream
- 在server模块中将服务器与upstream绑定
配置本机多端口服务器(模拟多台服务器)
server {
listen 82;
server_name 127.0.0.1;
root "C:\phpStudy\WWW\test2";
location / {
index index.html index.htm index.php;
#autoindex on;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
server {
listen 81;
server_name 127.0.0.1 phpStudy.net;
root "C:\phpStudy\WWW\test1";
location / {
index index.html index.htm index.php;
#autoindex on;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
配置 upstream
upstream 参数
server 192.168.0.100:80 : 负载均衡后端RealServer的IP或者域名,端口不写的话默认为80。高并发场景用域名,再通过DNS进行负载均衡
- server : 反向代理后端RealServer的IP或者域名,端口不写的话默认为80。高并发场景用域名,再通过DNS进行负载均衡
- weight : 权重,默认为1,权重越大接收的请求越多
- max_fails : 最大尝试的失败次数,默认为1,0表示禁止失败尝试
- fail_timeout : 失败超时时间,默认是10秒,通常3s左右比较合适
- backup : 热备配置,前段RealServer出现问题后会自动上线backup服务器
- down : 标志服务器不可用,这个参数通常配合IP_HASH使用
upstream 设置
http {
include mime.types;
default_type application/octet-stream;
#access_log logs/access.log main;
upstream backend {
server 127.0.0.1:81 weight=1;(之前配置的两个本机端口)
server 127.0.0.1:82 weight=3;
}
}
Server 绑定
server {
listen 80;
server_name fronthome.com;
#charset koi8-r;
#access_log logs/host.access.log main;
root "C:\phpStudy\WWW\advanced\frontend\web";
location / {
index index.html index.htm index.php l.php;
autoindex on;
proxy_pass http://backend;//通过这里来绑定我们之前配置的upsteam
}
}
这里只是简单的实现了反向代理,还有很多相关配置,留给以后探索吧
还没有评论,来说两句吧...