Nginx+Tomcat+pcre 安裝過程和出現的問題以及解決方案

整合過程以及問題解決方案
一:前提準備條件

1、  apache-tomcat-6.0.29

2、  nginx-0.8.38

3、  pcre-8.02

4、  nginx-upstream-jvm-route-0.1

5、  jdk-6u6-linux-i586-rpm.bin

二:安裝JDK安裝

命令:./ jdk-6u6-linux-i586-rpm.bin進行安裝

 

然後將下面的幾句話放到/etc/profile文件的最下方即可

export JAVA_HOME=/usr/java/jdk1.6.0_11

export JAVA_BIN=/usr/java/jdk1.6.0_11/bin

export PATH=$PATH:$JAVA_HOME/bin

exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH

Tomat 安裝


將tomcat解壓放入到指定的目錄下即可

 

然後將 tomcat/conf/server.xml 中的內容替換成右側鏈接內容 

裏面需要改一些啓動、訪問以及停止的端口號,還需要改

jvmRoute 以及 engine 的prot 。然後編譯tomcat/conf/web.xml,

在</web-app>之前加入<distributable/>,保存即可

這是爲作負載均衡做準備的,每一個tomcat下的端口只不能重複

 

Pcre 安裝

進入到 Pcre 目錄下,執行

# ./configure

# make

# make install

如果在執行編譯的時候提示缺少gcc或 gcc-c++ 包的時候,需要重新進行編譯gcc包,

命令 yum -y install gcc+ gcc-c++ 可進行gcc包的編譯 或yum -y update gcc 命令進行更新gcc包,如果在編譯或更新的時候提示‘缺少包’ 或 ‘Thissystem is not registered with RHN’ 等原因的時候,說明 不能使用它自身的源進行編譯或更新,那麼就需要手動下載源來進行更新(下載地址:http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo),將用下載的文件替換掉/etc/yum.repos.d/目錄下的文件(將之前的文件備份,被後續的服務器安全做準備),然後重新執行yum -y install gcc+ gcc-c++即可

Nginx 安裝

進入 nginx 目錄下,執行如下命令

./configure--with-pcre=/usr/include/pcre --with-http_stub_status_module--prefix=/usr/local/nginx

備註:--with-pcre 是 pcre 的源文件,非安裝後的文件,prefix 是需要將 nginx 安裝到的目錄

然後執行 make

最後執行make install

 

配置普通配置一對一

將 nginx/conf 下的 nginx.conf 中的內容替換成如下內容即可

#user nobody;

worker_processes  5;

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

}

http {

#    upstream backend { # 負載均衡的時候用到

#       server localhost:8088 srun_id=tomcatweb1; #負載均衡的時候用到:訪問的路徑:端口  srun_id = tomcat已經配好的用於負載均衡的jvm

#       server localhost:8087 srun_id=tomcatweb2;  #負載均衡的時候用到:訪問的路徑:端口  srun_id =tomcat已經配好的用於負載均衡的jvm

#       jvm_route $cookie_JSESSIONID|sessionid reverse; #用於session共享

#  }

   include       mime.types;

   default_type application/octet-stream;

   charset UTF-8;

   server_names_hash_bucket_size 128;

   client_header_buffer_size 32k;

   large_client_header_buffers 4 32k;

   client_max_body_size 20m;

   limit_rate  1024k;

   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/plainapplication/x-javascript text/css application/xml;

   gzip_vary on;

   #limit_zone  crawler  $binary_remote_addr  10m;

   server {

       listen       80;

       server_name localhost;#需要訪問的外網域名,如果直接寫localhost可直接用ip訪問

         indexindex.jsp index.htm index.html;

       root /usr/local/program/web/xhqm_web;#需要接管的web服務路徑地址

       #access_log logs/host.access.log  main;

       location / {

           proxy_pass http://localhost:8088;#本機訪問地址,如果配置了負載均衡則直接將localhost:8088改爲backend即可

           proxy_redirect    off;

           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

           proxy_set_header  X-Real-IP  $remote_addr;

           proxy_set_header  Host $http_host;

       }

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

         {

           expires      30d;

       }

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

       {

           expires      1h;

       }

         location/Nginxstatus {

           stub_status on;

           access_log   off;

       }

         log_format  access '$remote_addr - $remote_user [$time_local] "$request" '

            '$status $body_bytes_sent "$http_referer" '

            '"$http_user_agent" $http_x_forwarded_for';

         #access_log  off;

    }

}

一對多

只需要將一對一關係的配置文件中增加一段與之前server並列關係的如下代碼即可

   server {

       listen       80;

       server_name cms.xhqm.com; #需要訪問的外網域名,如果直接寫localhost可直接用ip訪問

 

       index index.jsp index.htm index.html;

       root /usr/local/program/web/xhqm_admin; #需要接管的web服務路徑地址

 

       #access_log logs/host.access.log  main;

 

       location / {

           proxy_pass http://localhost:8099; #本機訪問地址

           proxy_redirect    off;

           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

           proxy_set_header  X-Real-IP $remote_addr;

           proxy_set_header  Host $http_host;

       }

    }

負載均衡

配置負載均衡的時候需要添加一個nginx-upstream-jvm-route-0.1組件

添加方法:

首先要進入nginx 源文件主目錄下

 

首先執行:patch-p0 < /usr/local/ nginx-upstream-jvm-route-0.1/jvm_route.patch  #  jvm源文件存放目錄加上jvm_route.patch 文件

 

然後執行:./configure--add-module= /usr/local/nginx-upstream-jvm-route-0.1/   # jvm源文件存放目錄

 

在然後執行 make  à make install  即可

 

 

只需要將一對一關聯中的upstream {}的註釋去掉,然後將紅色字體部分根據備註將其修改即可是想負載均衡

 

測試

執行 /usr/local/nginx/sbin/nginx–t

顯示:

the configuration file/usr/local/nginx/conf/nginx.conf syntax is ok 

the configuration file/usr/local/nginx/conf/nginx.conf was tested successfully

則表示配置正確

 

啓動與停止方式

啓動:/usr/local/nginx/sbin/nginx

停止:/usr/local/nginx/sbin/nginx–s stop

 

如有問題聯繫我 [email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章