Centos6.5系统下nginx反向代理实现tomcat负载均衡

  1. 查看当前系统的内核和系统参数以及版本。
[[email protected] ~]# uname -a
Linux node1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[[email protected] ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m

2.安装nginx。

1)安装gcc编译器及相关工具和依赖库。

[[email protected] ~]# yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers pcre

2)编译安装pcre库。

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正规表达式。Pcre的作用主要是使nginx支持HTTP rewrite模块。

创建一个指定放置压缩包的目录。

[[email protected] ~]# mkdir -p /taokey/tools
[[email protected] ~]# cd /taokey/tools/
[[email protected] tools]# tar -zxf pcre-8.33.tar.gz
[[email protected] pcre-8.33]# ./configure
[[email protected] pcre-8.33]# make && make install
[[email protected] nginx-1.5.8]# ./configure --with-http_stub_status_module --with-http_ssl_module --prefix=/data/nginx
[[email protected] nginx-1.5.8]# make && make install

注意:安装成功启动nginx,有可能会遇到下面错误,

[[email protected] nginx-1.5.8]# /data/nginx/sbin/nginx -t
/data/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

解决办法:

[[email protected] ~]# cd /lib64/
[[email protected] lib64]# ln -s libpcre.so.0.0.1 libpcre.so.1

3)此事再启动nginx,查看下进程和端口。

[[email protected] lib64]# /data/nginx/sbin/nginx -t
nginx: the configuration file /data/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /data/nginx/conf/nginx.conf test is successful
[[email protected] lib64]# /data/nginx/sbin/nginx 
[[email protected] lib64]# ps -ef | grep nginx
root      8991     1  0 16:43 ?        00:00:00 nginx: master process /data/nginx/sbin/nginx
nobody    8992  8991  0 16:43 ?        00:00:00 nginx: worker process 
root      8994  1907  0 16:44 pts/1    00:00:00 grep nginx
[[email protected] lib64]# netstat -anpt | grep nginx
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      8991/nginx

3.配置nginx web反向代理,实现两个tomcat负载均衡:

nginx配置文件如下:
[[email protected] ~]# cat /data/nginx/conf/nginx.conf
user  root;
worker_processes  1;
#error_log  logs/error.log  info;
pid  /data/nginx/logs/nginx.pid;
worker_rlimit_nofile 65535;
events {
    use epoll;
    worker_connections 65535;
    multi_accept on;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    charset   utf-8;
    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  60;
    server_tokens  off;
    limit_rate_after 3m;
    limit_rate 512k; 
    tcp_nodelay on;
    client_header_buffer_size 256k;
    large_client_header_buffers 4 256k;
    
    # Define nginx proxy module
        proxy_http_version 1.1;
        proxy_connect_timeout 60;
        proxy_read_timeout 60;
        proxy_send_timeout 60;
        proxy_buffer_size   16k;
        proxy_buffers       4 64k;
        proxy_busy_buffers_size     128k;
        proxy_temp_file_write_size 128k;
        proxy_headers_hash_max_size 51200;
        proxy_headers_hash_bucket_size 6400; 

    # Define Gzip compression module
    gzip on;
    gzip_vary on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types       text/plain application/x-javascript text/css application/xml;

    # Define realserver pool
    upstream  taokey.com {
        ip_hash;
        server 192.168.1.15:8080  max_fails=0  weight=5;
        server 192.168.1.19:8080  max_fails=0  weight=5;
   }

    server {
        listen       80;
        server_name  taoyake.cn www.taoyake.cn;

        location / {
                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_pass  http://taokey.com;
                expires 1d; 
                access_log  logs/host.access.log  main;
        }
       
        # Define 404 502 503 504 error page
        error_page   404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
时间: 2024-12-25 20:51:16

Centos6.5系统下nginx反向代理实现tomcat负载均衡的相关文章

nginx反向代理及tomcat负载均衡

 tomcat服务器及负载均衡 1:tomcat主要用于web网页应用,它的静态处理能力低于nginx服务器, 但是可以当做容器主要用于JAVA程序编写的页面.jsp.用于测试. 2:可以实现负载均衡,反向代理,tomcat和其他的服务相比较,性价比高 另外tomcat是有apache基金会维护和支持 3:根据案例搭建tomcat服务器,以及实现负载均衡   一..实施准备 1.启动后关闭iptables防火墙 #service iptables stop 2.安装jdk.配置java环境 (1

学习Nginx反向代理实现简单负载均衡

 Nginx proxy作为Nginx的重要功能,使用nginx proxy基本可以实现一个完整的7层负载均衡.其特色如下:1.功能强大,性能卓越,运行稳定.2.配置简单灵活. Nginx proxy作为Nginx的重要功能,使用nginx proxy基本可以实现一个完整的7层负载均衡. 其特色如下: 1.功能强大,性能卓越,运行稳定. 2.配置简单灵活. 3.能够自动剔除工作不正常的后端服务器. 4.上传文件使用异步模式. 5.支持多种分配策略,可以分配权重,分配方式灵活 配置环境: 三台

腾讯云Centos下Nginx反向代理Apache+Tomcat

1. 安装Apahce, PHP, MySQL以及php连接mysql库的组件#yum -y install httpd php mysql mysql-server php-mysql     //这里"-y"参数表示静默安装,不会出现提示及交互 2. 安装apache扩展#yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql 3. 安装php的常用扩展#yum -y install php-gd php-xml ph

Nginx反向代理及简单负载均衡配置

nginx配置文件主要分为六个区域:main section.events section.http section.sever section.location section.upstream section. 以下为Nginx的主要配置 #main module配置 use nobody;  #设置运行用户 worker_processes 1;    #设置启动进程,通常设置成cpu数量相当 error_log  logs/error.log;  #全局错误日志定义类型,[ debug

nginx配置、反向代理缓存、负载均衡

一.nginx基本配置nginx开启文件目录浏览功能(web上显示目录) 1location / { 2 root /data/www/file //指定实际目录绝对路径: 3 autoindex on; //开启目录浏览功能: 4 autoindex_exact_size off; //关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b: 5 autoindex_localtime on; //开启以服务器本地时区显示文件修改日期! 6}php-fpm配置 1 location ~

nginx作反向代理,实现负载均衡

nginx作反向代理,实现负载均衡按正常的方法安装好 ngixn,方法可参考http://www.cnblogs.com/lin3615/p/4376224.html其中作了反向代理的服务器的配置如下(不能让其去解析php,这里只作代理用)基本配置:(nginx.conf) #user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type ap

ASP.NET基于IIS反向代理实现Web负载均衡实战演练

一.课程介绍 随着公司业务的发展,后台.NET Web应用程序业务就变的越来越多,然而服务器的故障,时不时的汹涌而至,单点故障让我们防不胜防.由于客户访问量逐渐增多,单一个WEB站点(MVC.WebApi)响应越来越慢,由于我们的业务都是采用.NET Web应用程序部署托管在IIS上,那么如何实现我们流量的削峰谷平,应用程序的横向扩展,从而来提高单台WEB站点的吞吐量,降低了单台Web站点的压力. 这我们里决定采用微软的负载均衡解决方案,用两台WEB服务器供客户访问,这两台服务器提供相同的站点内

nginx反向代理(proxy_pass)tomcat的过程中,session失效的问题解决

Nginx反向代理tomcat,很是方便,但是也有些细节的问题需要注意:今天遇到了这样一个问题,tomcat中路径“host/web1”,nginx中直接“host/”代理,这时候session就无法正常进行了. 1 2 3 4 5 6 7 8 9 location / {             proxy_pass   http://192.168.1.12:11080/v1/;                      proxy_set_header   Host    $host;  

图解正向代理、反向代理、透明代理(反向代理可以实现负载均衡)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://z00w00.blog.51cto.com/515114/1031287 套用古龙武侠小说套路来说,代理服务技术是一门很古老的技术,是在互联网早期出现就使用的技术.一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,从而实现代理技术.常用的代理技术分为正向代理.反向代理和透明代理.本文就是针对这三种代理来讲解一些基本原理和具体的适用范围,便于大家更深入理