node2:/etc/nginx#cat /etc/nginx/nginx.conf
events
{
use epoll;
worker_connections 65535;
multi_accept on;
}
http
{
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 256;
client_header_buffer_size 256k;
large_client_header_buffers 4 256k;
client_max_body_size 128m;
client_body_buffer_size 16m;
fastcgi_buffer_size 256k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
proxy_buffering on;
proxy_buffer_size 1024k;
proxy_buffers 32 8192k;
proxy_busy_buffers_size 16384k;
sendfile on;
tcp_nopush on;
keepalive_timeout 120s;
keepalive_requests 30000;
reset_timedout_connection on;
client_body_timeout 3m;
tcp_nodelay on;
gzip on;
gzip_min_length 16k;
gzip_buffers 8 32k;
gzip_http_version 1.1;
gzip_comp_level 4;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6].";
server_tokens off;
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
#access_log off;
upstream backend1 {
server 192.168.137.3:9000 weight=5;
}
upstream backend2 {
server 192.168.137.3:80 weight=5;
}
##upstream backend 位置放错了, upstream位置应该放在http模块里面 但必须是在server模块的外面
server
{
listen 8090 default_server backlog=1024;
#server_name paytest.zjtlcb.com;
index index.html index.htm;
#root /app/weblogic/html/;
#root /app_nas/apps/deploy/html/;
location /nginx_status {
stub_status on;
access_log off;
allow 1.2.101.1;
allow 1.2.101.2;
allow 1.2.101.3;
allow 1.2.101.4;
allow 1.2.101.5;
allow 1.2.101.6;
allow 1.2.101.7;
allow 1.2.101.8;
deny all;
}
location ^~ /aaa
{
proxy_pass http://backend1/;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
}
location ^~ /bbb
{
proxy_pass http://backend2/;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
}
}
#include vhost/*.conf;
}
1.##upstream backend 位置放错了, upstream位置应该放在http模块里面 但必须是在server模块的外面
2.
location = /uri
= 表示精确匹配
location ^~ /uri
^ 进行前缀匹配,~ 表示区分大小写
location ~ pattern
~ 区分大小写的匹配
location ~* pattern
~* 不区分大小写的匹配
location /uri
不带任何修饰符,也表示前缀匹配,但是在正则匹配之后
location /
通用匹配,任何未匹配到其它 location 的请求都会匹配到,相当于 switch 中的 default
location !~
区分大小写不匹配
location !~*
不区分大小写不匹配
————————————————