天天看點

nginx+tomcat的安裝配置

Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 伺服器,也是一個 IMAP/POP3/SMTP代理伺服器。已經因為它的穩定性、豐富的功能集、示例配置檔案和低系統資源的消耗而被人們廣泛使用了。

大多數人選擇它主要考慮到的是它的高并發和負載均衡。

一、安裝Nginx

1. tar zxvf  nginx-0.7.44.tar.gz

2、編譯安裝nginx

   cd nginx-0.7.44

   ./configure --with-http_stub_status_module --with-http_ssl_module --prefix=/usr/local/nginx

   執行後,可能會提示 ./configure: error: the HTTP rewrite module requires the PCRE library.這個錯誤,是缺少pcre 包,可用yum install pcre pcre-devlel來解決

3、make && make install

4、nginx安裝成功後的安裝目錄為/usr/local/nginx

5.編輯配置檔案nginx.conf

#user  www www; 

worker_processes 8;    #啟動程序數,可根據機器核數來修改

error_log  /usr/local/nginx/logs/nginx_error.log  crit; #全局錯誤日志及PID檔案

pid        /usr/local/nginx/nginx.pid;

worker_rlimit_nofile 65535;

events

   {

     use epoll;

     worker_connections 65535; #工作模式及連接配接數上限

    } 

http                  #設定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;  #定義的日志格式和存放路徑

    #General Options

    server_names_hash_bucket_size 128;

    client_header_buffer_size 32k;

    large_client_header_buffers 4 32k;

    client_body_buffer_size    8m; #256k

    server_tokens off;

    ignore_invalid_headers   on;

    recursive_error_pages    on;

    server_name_in_redirect off; 

    sendfile                 on;

    #timeouts

    keepalive_timeout 60;

    #client_body_timeout   3m;

    #client_header_timeout 3m;

    #send_timeout          3m;

    #TCP Options

    tcp_nopush  on;

    tcp_nodelay on;

    #size limits

    client_max_body_size       50m;

    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;

    upstream xxx.com {

         ip_hash;

         server x.x.x.x:8080 max_fails=0 weight=1;

         server x.x.x.x:8080 max_fails=0 weight=1; #8080為tomcat端口

     }

    server {

        listen 80 default;

        rewrite ^(.*) http://www.xxx.com/ permanent;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        #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;

        }

    }

   server

        {

            listen      80;

            server_name  www.xxx.com;

            index index.php index.html index.htm;

            root   /http;

            access_log /data/logs/access.xxx.com.log  combined;

            error_log  /data/logs/error_test.xxx.log;

            #expires                        

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

              {

                   expires 30d;

               }

            location ~ .*\.(js|css)?$

                   expires 24h;

              }   

            location /nginxstatus {

                stub_status on;

                access_log off;

             }

          # location ~ .*\.jsp?$

            location /

            {

                proxy_pass http://xxx.com;

                proxy_redirect off;

             #  proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header Host $http_host;

                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                proxy_set_header Connection Close;

                proxy_set_header X-Forwarded-For $remote_addr;

                error_page   404              /404.html;

                error_page   500 502 503 504  /50x.html;

             #  location = /50x.html {

             #  root   html;

             #  }

           }

}

6、修改/usr/local/nginx/conf/nginx.conf配置檔案後,用指令/usr/local/nginx/sbin/nginx -t 檢查配置檔案是否正确:

7、啟動nginx的指令

  /usr/local/nginx/sbin/nginx

繼續閱讀