Nginx+Tomcat 反向代理负载均衡 配置 学习(1)

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: Nginx+Tomcat 反向代理负载均衡 配置学习#user nobody;worker_processes 1;

Nginx+Tomcat 反向代理负载均衡  配置学习


#user  nobody;

worker_processes  1;



#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;



#pid        logs/nginx.pid;





events {

   worker_connections  1024;

}



http {

   include       mime.types;

   default_type  application/octet-stream;



   #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

   #                  '$status $body_bytes_sent "$http_referer" '

   #                  '"$http_user_agent" "$http_x_forwarded_for"';



   #access_log  logs/access.log  main;



   sendfile        on;

   #tcp_nopush     on;



   #keepalive_timeout  0;

   keepalive_timeout  65;



   gzip  on;

   upstream local_tomcat {  


#负载均衡


server 192.168.9.211:8080;

server 192.168.9.211:8081;  

server 192.168.9.210:8080;  

server 192.168.9.212:8080;

}



 upstream local_tomcat2 {  

server 192.168.9.211:8081;  

}


#应用1

   server {

       listen       8091;

       server_name  localhost;



       #charset koi8-r;



       #access_log  logs/host.access.log  main;



       location / {  

         proxy_pass http://local_tomcat;

#以下是一些反向代理的配置可删除.

         proxy_redirect off;

         #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP

         proxy_set_header Host $host;

         proxy_set_header X-Real-IP $remote_addr;

         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

         client_max_body_size 500m;    #允许客户端请求的最大单文件字节数

         client_body_buffer_size 128k;  #缓冲区代理缓冲用户端请求的最大字节数,

         proxy_connect_timeout 90;  #nginx跟后端服务器连接超时时间(代理连接超时)

         proxy_send_timeout 90;        #后端服务器数据回传时间(代理发送超时)

         proxy_read_timeout 90;         #连接成功后,后端服务器响应时间(代理接收超时)

         proxy_buffer_size 4k;             #设置代理服务器(nginx)保存用户头信息的缓冲区大小

         proxy_buffers 4 32k;               #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置

         proxy_busy_buffers_size 64k;    #高负荷下缓冲大小(proxy_buffers*2)

         proxy_temp_file_write_size 64k;  #设定缓存文件夹大小,大于这个值,将从upstream服务器传

 

       }

       location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {  #指定缓存文件类型

                         

           expires 10d;      #设置浏览器过期时间

           root nginx_cache/local_tomcat;   #静态文件根目录目录(必须对应proxy_temp_path)            

           proxy_store on;  #开启缓存机制

           proxy_store_access user:rw group:rw all:rw;     #缓存读写规则          

           proxy_temp_path nginx_cache/local_tomcat;  #存放静态文件的缓存目录              

           proxy_set_header   Host             $host;

           proxy_set_header   X-Real-IP        $remote_addr;

           proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

          #外联proxy理的详细配置如proxy_set_header, client_max_body_size

           if ( !-e $request_filename) {

          #正则表达式,匹配缓存目录中的文件与源文件是否存在

           proxy_pass  http://local_tomcat;

           }

       }

     

   



       #error_page  404              /404.html;



       # redirect server error pages to the static page /50x.html

       #

       error_page   500 502 503 504  /50x.html;

       location = /50x.html {

           root   html;

       }



       # proxy the PHP scripts to Apache listening on 127.0.0.1:80

       #

       #location ~ \.php$ {

       #    proxy_pass   http://127.0.0.1;

       #}



       # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

       #

       #location ~ \.php$ {

       #    root           html;

       #    fastcgi_pass   127.0.0.1:9000;

       #    fastcgi_index  index.php;

       #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

       #    include        fastcgi_params;

       #}



       # deny access to .htaccess files, if Apache's document root

       # concurs with nginx's one

       #

       #location ~ /\.ht {

       #    deny  all;

       #}

   }


#应用2

server {

       listen       8092;

       server_name  localhost;



       #charset koi8-r;



       #access_log  logs/host.access.log  main;



       location / {  

         proxy_pass http://local_tomcat2;

#以下是一些反向代理的配置可删除.

         proxy_redirect off;

         #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP

         proxy_set_header Host $host;

         proxy_set_header X-Real-IP $remote_addr;

         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

         client_max_body_size 500m;    #允许客户端请求的最大单文件字节数

         client_body_buffer_size 128k;  #缓冲区代理缓冲用户端请求的最大字节数,

         proxy_connect_timeout 90;  #nginx跟后端服务器连接超时时间(代理连接超时)

         proxy_send_timeout 90;        #后端服务器数据回传时间(代理发送超时)

         proxy_read_timeout 90;         #连接成功后,后端服务器响应时间(代理接收超时)

         proxy_buffer_size 4k;             #设置代理服务器(nginx)保存用户头信息的缓冲区大小

         proxy_buffers 4 32k;               #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置

         proxy_busy_buffers_size 64k;    #高负荷下缓冲大小(proxy_buffers*2)

         proxy_temp_file_write_size 64k;  #设定缓存文件夹大小,大于这个值,将从upstream服务器传

 

       }

       location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {

                             #指定缓存文件类型

           expires 10d;      #设置浏览器过期时间

           root nginx_cache/local_tomcat;

                            #静态文件根目录目录(必须对应proxy_temp_path)

           proxy_store on;  #开启缓存机制

           proxy_store_access user:rw group:rw all:rw;

                            #缓存读写规则

           proxy_temp_path nginx_cache/local_tomcat;

                            #存放静态文件的缓存目录

           proxy_set_header   Host             $host;

           proxy_set_header   X-Real-IP        $remote_addr;

           proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;



          #外联proxy理的详细配置如proxy_set_header, client_max_body_size

           if ( !-e $request_filename) {

          #正则表达式,匹配缓存目录中的文件与源文件是否存在

           proxy_pass  http://local_tomcat2;

           }

       }

     

   



       #error_page  404              /404.html;



       # redirect server error pages to the static page /50x.html

       #

       error_page   500 502 503 504  /50x.html;

       location = /50x.html {

           root   html;

       }



       # proxy the PHP scripts to Apache listening on 127.0.0.1:80

       #

       #location ~ \.php$ {

       #    proxy_pass   http://127.0.0.1;

       #}



       # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

       #

       #location ~ \.php$ {

       #    root           html;

       #    fastcgi_pass   127.0.0.1:9000;

       #    fastcgi_index  index.php;

       #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

       #    include        fastcgi_params;

       #}



       # deny access to .htaccess files, if Apache's document root

       # concurs with nginx's one

       #

       #location ~ /\.ht {

       #    deny  all;

       #}

   }



   # another virtual host using mix of IP-, name-, and port-based configuration

   #

   #server {

   #    listen       8000;

   #    listen       somename:8080;

   #    server_name  somename  alias  another.alias;



   #    location / {

   #        root   html;

   #        index  index.html index.htm;

   #    }

   #}





   # HTTPS server

   #

   #server {

   #    listen       443 ssl;

   #    server_name  localhost;



   #    ssl_certificate      cert.pem;

   #    ssl_certificate_key  cert.key;



   #    ssl_session_cache    shared:SSL:1m;

   #    ssl_session_timeout  5m;



   #    ssl_ciphers  HIGH:!aNULL:!MD5;

   #    ssl_prefer_server_ciphers  on;



   #    location / {

   #        root   html;

   #        index  index.html index.htm;

   #    }

   #}



}

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
25天前
|
编解码 应用服务中间件 Linux
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
101 1
|
5天前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
96 18
|
7天前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
81 17
|
1月前
|
数据建模 应用服务中间件 PHP
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
本示例演示如何通过Docker挂载同一宿主目录至Nginx与PHP容器,实现PHP项目运行环境配置。需注意PHP容器中监听地址修改为0.0.0.0:9000,并调整Nginx配置中fastcgi_pass指向正确的IP与端口。同时确保Nginx容器中/var/www/html权限正确,以避免访问问题。
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
|
2月前
|
应用服务中间件 网络安全 nginx
配置Nginx以支持Websocket连接的方法。
通过上述配置,Nginx将能够理解WebSocket协议的特殊要求,代理Websocket流量到合适的后端服务器。注意,Websocket并不是HTTP,尽管它最初是通过HTTP请求启动的连接升级,因此保证Nginx了解并能够妥善处理这种升级流程是关键。
538 10
|
1月前
|
Ubuntu 应用服务中间件 Linux
在Ubuntu上配置Nginx实现开机自启功能
至此,Nginx应该已经被正确地设置为开机自启。在Ubuntu中利用 `systemd`对服务进行管理是一种高效的方式,为系统管理员提供了强大的服务管理能力,包括但不限于启动、停止、重启服务,以及配置服务的开机自启动。通过这些简洁的命令,即使是对Linux不太熟悉的用户也能轻松地进行配置。
101 0
|
3月前
|
安全 应用服务中间件 网络安全
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
256 0
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
|
负载均衡 安全 前端开发
百度搜索:蓝易云【Nginx与Tomcat负载均衡-动静分离教程】
这些是将Nginx与Tomcat结合使用实现负载均衡和动静分离的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
136 1
|
负载均衡 应用服务中间件 nginx
百度搜索:蓝易云【Nginx和tomcat实现负载均衡教程】
至此,你已经成功地使用Nginx和Tomcat实现了负载均衡。Nginx将根据配置的负载均衡策略将客户端请求分发到多个Tomcat服务器上,以提高系统的性能和可用性。请注意,在实际生产环境中,还需要进行其他配置和优化,如健康检查、会话保持等,以满足具体的需求。
109 0
|
4月前
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
172 11