zoukankan      html  css  js  c++  java
  • nginx做负载均衡和tomcat简单集群

                                                        Nginx做负载均衡和TOMCAT简单集群
                    1.下载安装nginx及其依赖包
                    
                    
                    
                    安装nginx准备工作必须先安装依赖包:wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
                    
                    解压:tar zxvf pcre-8.35.tar.gz
                    
                    进入目录:cd pcre-8.35
                    
                    配置: ./configure
                    
                    编译安装:    make && make install
                    
                    下载:wget http://nginx.org/download/nginx-1.6.2.tar.gz
                    解压:tar zxvf nginx-1.6.2.tar.gz
                    
                    
                    进入目录:cd nginx-1.6.2
                    
                    配置:/configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.35
                    
                    编译:make
                    
                    安装: make install
                    
                    查看版本:/usr/local/nginx/sbin/nginx -v
                    
                    创建ngingx运行时使用的用户:  /usr/sbin/groupadd nginx
                                                 /usr/sbin/useradd -g nginx nginx
                                                
                    配置nginx.conf:
                    
                    user www www;
                    worker_processes 2; #设置值和CPU核心数一致
                    error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; #日志位置和日志级别
                    pid /usr/local/webserver/nginx/nginx.pid;
                    #Specifies the value for maximum file descriptors that can be opened by this process.
                    worker_rlimit_nofile 65535;
                    events
                    {
                    use epoll;
                    worker_connections 65535;
                    }
                    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';

                    #charset gb2312;
                    
                    server_names_hash_bucket_size 128;
                    client_header_buffer_size 32k;
                    large_client_header_buffers 4 32k;
                    client_max_body_size 8m;
                    
                    sendfile on;
                    tcp_nopush on;
                    keepalive_timeout 60;
                    tcp_nodelay on;
                    fastcgi_connect_timeout 300;
                    fastcgi_send_timeout 300;
                    fastcgi_read_timeout 300;
                    fastcgi_buffer_size 64k;
                    fastcgi_buffers 4 64k;
                    fastcgi_busy_buffers_size 128k;
                    fastcgi_temp_file_write_size 128k;
                    gzip 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;
                    gzip_vary on;

                    #limit_zone crawler $binary_remote_addr 10m;
                    #下面是server虚拟主机的配置
                    server
                    {
                    listen 80;#监听端口
                    server_name localhost;#域名
                    index index.html index.htm index.php;
                    root /usr/local/webserver/nginx/html;#站点目录
                      location ~ .*.(php|php5)?$
                    {
                      #fastcgi_pass unix:/tmp/php-cgi.sock;
                      fastcgi_pass 127.0.0.1:9000;
                      fastcgi_index index.php;
                      include fastcgi.conf;
                    }
                    location ~ .*.(gif|jpg|jpeg|png|bmp|swf|ico)$
                    {
                      expires 30d;
                    # access_log off;
                    }
                    location ~ .*.(js|css)?$
                    {
                      expires 15d;
                    # access_log off;
                    }
                    access_log off;
                    }

                    }
                    
                    
                    检查nginx配置文件nginx.conf正确命令:
                    /usr/local/webserver/nginx/sbin/nginx -t
                    
                    启动nginx:
                    /usr/local/webserver/nginx/sbin/nginx
                    
                    打开浏览器输入ip地址进入到nginx欢迎页说明配置成功,
                    启动过程中会报错,解决办法进入/etc/sysconf/iptable配置其他端口或通过lsof -i:80端口看那个在占80端口,然后将其杀死即可解决。
                    改配置文件记得重启。
                    
                    /usr/local/webserver/nginx/sbin/nginx -s reload            # 重新载入配置文件
                    /usr/local/webserver/nginx/sbin/nginx -s reopen            # 重启 Nginx
                    /usr/local/webserver/nginx/sbin/nginx -s stop              # 停止 Nginx
                    
                    2.下载安装tomcat
                    
                    此命令一步安装:wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.82/bin/apache-tomcat-7.0.82.tar.gz
                    (记得配置先要下载好jdk才行)
                    //补充说明,为了辨别是否是不同tomcat可以进入tomcat目录下webapps中的ROOT修改index.jsp即可达到目的
                    3.修改nginx配置文件
                    
                    #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 {  
                        use epoll;  
                        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;  
                          
                        #说明:端口必须保持一致
                        upstream servers{  
                        server 120.25.56.93:8080;  
                        server 120.25.58.50:8080;    
                        }  
                        #gzip  on;  
                      
                        server {  
                            listen       8084;  
                            server_name  120.76.112.207;  
                      
                            #charset koi8-r;  
                      
                            #access_log  logs/host.access.log  main;  
                      
                            location / {  
                               proxy_pass  http://servers;  
                           proxy_set_header Host $host;  
                           proxy_set_header X-Real-IP $remote_addr;  
                           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
                            }  
                      
                            #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;  
                        #    }  
                        #}  
                      
                    }

                        4.重新启动nginx
                        

                        [root@iZ94phz01rnZ sbin]# ./nginx -s reload  
                        [root@iZ94phz01rnZ sbin]# ./nginx -s reopen
                               

  • 相关阅读:
    SCI写作经典替换词,瞬间高大上!(转)
    最佳化常用测试函数 Optimization Test functions
    算法复杂度速查表
    VS 代码行统计
    CPLEX IDE 菜单栏语言设置( 中文 英文 韩文 等多国语言 设置)
    如何从PDF文件中提取矢量图
    Matlab无法打开M文件的错误( Undefined function or method 'uiopen' for input arguments of type 'char)
    visual studio 资源视图 空白 解决方案
    MFC DialogBar 按钮灰色不响应
    嗨翻C语言笔记(二)
  • 原文地址:https://www.cnblogs.com/youcong/p/7868250.html
Copyright © 2011-2022 走看看