JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Nginx反向代理

wys521 2024-09-06 04:17:17 精选教程 55 ℃ 0 评论

Nginx配置反向代理

在server块中配置

        #监听80端口
        listen       80;
        #监听的ip或域名
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            # 转发到127.0.0.1:8080
            proxy_pass http://127.0.0.1:8080;
        }

也可以根据访问路径的不同来访问不同的服务器

    server {
       listen       8000;
       server_name  localhost;
       #项目的目录
             root /www/work/;
       # 路径中包含/springmvc/则跳转至8080端口
       #~表示后边是正则表达式
       location ~ /springmvc/ {
           root   html;
           index  index.html index.htm;
           # 转发到http://127.0.0.1:8080
           proxy_pass http://127.0.0.1:8080;
       }

       # 路径中包含/webstudy/则跳转至8081端口
       location ~ /webstudy/ {
           root   html;
           index  index.html index.htm;
           # 转发到http://127.0.0.1:8081
           proxy_pass http://127.0.0.1:8081;
       }
    }

※proxy_pass

proxy_pass将请求传递给HTTP服务器,这个也是用的最多的

proxy_pass http://baidu.com; # 设置被代理服务器的地址
proxy_redirect off; # 修改响应头Location值,off表示直接返回proxy_pass后的值,默认为default(客户端请求的URI),

proxy_connect_timeout 600;# 设置Nginx服务器与后端被代理服务器尝试建立连接的超时时间,默认为60s
proxy_read_timeout 600; # 设置Nginx服务器向后端被代理服务器发出read请求后,等待响应的超时时间,默认为60s
proxy_send_timeout 600; # 设置Nginx服务器向后端被代理服务器发出write请求后,等待响应的超时时间,默认为60s

proxy_buffering: on; # 设置是否开启Proxy Buffer,默认为on
proxy_buffer_size 8k; # 设置Nginx服务器从被代理服务器获取的第一段数据buffer大小,一般和proxy_buffers设置的buffer大小一致,或者更小, 默认为4k或者8k
proxy_buffers 4 32k; # 设置Proxy Buffer的个数和每个Buffer的大小
proxy_busy_buffers_size 64k; # 设置处在Busy状态的Buffer总大小上限,默认为8K或者16K
proxy_temp_file_write_size 64k; #当超过内存允许大小时,存到临时文件
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404; # upstream设置被代理服务器集群时,设置组内服务器出现哪些异常时,可以依次轮询到下一个组内服务器处理

proxy_set_header #设置请求头  如:proxy_set_header Host $http_host

fastcgi_pass

fastcgi_pass将请求传递给FastCGI服务器

fastcgi_connect_timeout 3000;
fastcgi_send_timeout 3000;
fastcgi_read_timeout 3000;
fastcgi_buffer_size 200k;
fastcgi_buffers 8 200k;
fastcgi_busy_buffers_size 200k;
fastcgi_max_temp_file_size:1024M; # 设置临时文件大小,默认为1024M
fastcgi_temp_file_write_size 200k;# 配置同时写入临时文件的数据量的大小,合理的配置可以避免磁盘IO负载过高,导致系统性能下降,默认为8KB或16KB
fastcgi_temp_path /dev/shm; # 配置磁盘上的一个文件路径,用于临时存放代理服务器的大体积响应数据,如果proxy buffer 被装满后,响应数据仍然没有被Nginx服务器完全接收,响应数据就被会临时存放在该文件中

uwsgi_pass

uwsgi_pass将请求传递给uwsgi服务器(如python服务)

scgi_pass

scgi_pass将请求传递给SCGI服务器

memcached_pass

memcached_pass将请求传递给memcached服务器

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表