成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JSP應用服務器搭建實施文檔(Nginx+Tomcat)

原創
系統 Linux
本文節選自某電子商務網站JSP應用服務器的環境搭建實施文檔,文中的IP和域名進行了修改。JSP應用服務器由Nginx+Tomcat整合而成。靜態HTML頁面、圖片、CSS等由Nginx來處理,jsp、do內容由后端的Tomcat處理。

 

【51CTO獨家特稿】本文節選自某電子商務網站JSP應用服務器的環境搭建實施文檔,文中的IP和域名進行了修改。JSP應用服務器由Nginx+Tomcat整合而成,而新的Tomcat 7.0相對于以前的版本來說,它的新特征如下:

◆使用隨機數防止跨站腳本攻擊;

◆改變了安全認證中的jessionid的機制,防止Session攻擊;

◆可進行內存泄露的偵測和防范;

◆在war文件外使用別名去存儲靜態內容;

◆支持Servlet 3.0、JSP 2.2和JSP-EL 2.2;

◆更容易將Tomcat內嵌到應用中去,比如JBoss;

◆異步日志。

其中第三點是我最為關注的,在以前的版本中Tomcat均存在著內存泄露的情況,我希望能在新版本中有所改善。

Nginx與Tomcat整合的好處如下所示:

◆靜態分離,加快用戶訪問網站的速度。

◆整個負載均衡層和Web層的工作流程為LVS/DR+Keeaplived→Nginx反向代理(動靜分離)→Tomcat集群,可以保證整個網站不會因為某一臺LVS或Nginx+tomcat機器掛掉而影響網站的運營。

◆Nginx穩定,宕機的可能性微乎其乎。

下面是項目實施的具體步驟——

由于服務器均采用的是最小化安裝,所以先安裝一些基礎的編譯庫,命令如下:

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

(1)首先分別在xxx.xxx.xxx.146和xxx.xxx.xxx.147上安裝Nginx 0.8.56和Tomcat 7.0,然后整合它們。

在安裝Tomcat 7.0之前,必須先安裝JDK,其下載地址為

https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter

由于我的服務器都是CentOS x86_64,所以選擇了jdk-6u18-linux-x64.bin軟件包,記得還是要將其放在/usr/local/src目錄下,方便以后的工作規劃。

下載完成后,修改jdk-6u18-linux-x64.bin為可執行,并運行它:

cd /usr/local/src
chmod +x jdk-6u18-linux-x64.bin
./jdk-6u18-linux-x64
mv jdk1.6.0_18 /usr/local/jdk

接著配置系統的Java運行環境,我是通過修改/etc/profile文件來實現,修改內容如下所示:

JAVA_HOME="/usr/local/jdk"
CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
PATH=".:$PATH:$JAVA_HOME/bin"
CATALINA_HOME="/usr/local/tomcat"
export JAVA_HOME CATALINA_HOME

保存退出后,執行以下命令讓環境立即生效:

source /etc/profile 

然后下載并安裝apache-tomat7.0.12,如下所示。

cd /usr/local/src/
wget http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-7/v7.0.12/bin/apache-tomcat-7.0.12.tar.gz
tar zxvf apache-tomcat-7.0.12.tar.gz
mv apache-tomcat-7.0.12 /usr/local/tomcat/
cp –rf /usr/local/tomcat/webapps /data/htdocs/www
vim /usr/local/tomcat/conf/server.xml

修改tomcat的根路徑位置,我的網站地址為/data/htdocs/www/shop,這個虛擬主機需要在/usr/local/tomcat/conf/server.xml里指定,改動后的內容如下所示:

<Host name="www.ekrvqnd.cn"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="/data/htdocs/www/shop/" />

如果我們要繼續增加虛擬主機,按照如上格式繼續添加內容即可,Host name后面接虛擬主機名稱,docBase后面接虛擬主機對應的路徑位置。

安裝完成后,啟動tomcat,默認即監聽了8080端口,啟動命令如下:

/usr/local/tomcat/bin/startup.sh

成功運行后,用lsof-i:80來進行驗證,如下所示:

lsof -i:8080
COMMAND   PID USER   FD   TYPE  DEVICE SIZE NODE NAME
java    23731 root   40u  IPv6 3347645       TCP *:webcache (LISTEN)

最后安裝pcre8.1.0及Nginx0.8.56,整合Nginx0.8.56與Tomcat7.0.12, Nginx0.8.56的安裝過程可參考前面的內容,為了節約篇幅就不再詳細說明了。靜態HTML頁面、圖片、CSS等由Nginx來處理,jsp、do內容由后端的Tomcat處理,nginx.conf配置文件的內容如下所示(這里為了調試方便,我們首先將域名www.ekrvqnd.cn指向了xxx.xxx.xxx.146,另一臺Web配置跟xxx.xxx.xxx.146一樣的,我這里以xxx.xxx.xxx.146舉例說明,等此架構中的Web環境均順利后,再將域名www.ekrvqnd.cn指向我們的VIP地址):

user  www www;   
worker_processes 8; 
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服務器,利用它的反向代理功能提供負載均衡支持 
http 
{   
  #設定mime類型   
  include       mime.types;   
  default_type  application/octet-stream;     
  #charset  gb2312;  
  #設定請求緩沖      
  server_names_hash_bucket_size 128;   
  client_header_buffer_size 32k;  
  large_client_header_buffers 4 32k;  
  client_max_body_size 300m; 
  sendfile on;  
  tcp_nopush     on;   
  keepalive_timeout 60; 
  tcp_nodelay on; 
  server_tokens off;
   client_body_buffer_size 512k; 
  proxy_connect_timeout   5; 
  proxy_send_timeout      60; 
  proxy_read_timeout      5; 
  proxy_buffer_size       16k; 
  proxy_buffers           4 64k; 
  proxy_busy_buffers_size 128k; 
  proxy_temp_file_write_size 128k; 
  #  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.1; 
  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;
 
  ###禁止通過ip訪問站點  
  server{         
 server_name _;         
 return 404;         
  }  
  server
   {     
 listen       80;    
 server_name  www.ekrvqnd.cn;    
 index index.html index.htm index.jsp index.do;#設定訪問的默認首頁地址     
 root  /data/htdocs/www/shop;#設定網站的資源存放路徑      
 #limit_conn   crawler  20;  
 if (-d $request_filename)
  {
   rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
  }
  #所有jsp的頁面均交由tomcat處理
  location ~ \.(jsp|jspx|do)?$ {
   proxy_set_header  Host $host;  
  proxy_set_header  X-Real-IP  $remote_addr;
   proxy_pass http://127.0.0.1:8080;#轉向tomcat處理       
 }            
 location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ #設定訪問靜態文件直接讀取不經過tomcat     
 {       
  expires      30d;     
 }      
 location ~ .*\.(js|css)?$     
 {       
  expires      1h;     
 }      
 
  #定義訪問日志的寫入格式      
 log_format  wwwlog  '$remote_addr - $remote_user [$time_local] "$request" '              
  '$status $body_bytes_sent "$http_referer" '             
  '"$http_user_agent" $http_x_forwarded_for';    
 access_log  /data/logs/www_nginx.log wwwlog;#設定訪問日志的存放路徑  
   } 
}

配置完成后,我們用如下命令啟動Nginx進程,讓其監聽80端口,如下所示:

/usr/local/webserver/nginx/sbin/nginx 

然后我們在/data/htdocs/www/shop/下面寫一段Java代碼,驗證以上的配置是否成功,寫完后我們可以用cat 命令來查看/data/htdocs/www/shop/mem.jsp文件,文件內容如下所示:

<%
Runtime lRuntime = Runtime.getRuntime();
out.println("*** BEGIN MEMORY STATISTICS ***<br/>");
out.println("Free Memory: "+lRuntime.freeMemory()+"<br/>");
out.println("Max   Memory: "+lRuntime.maxMemory()+"<br/>");
out.println("Total Memory: "+lRuntime.totalMemory()+"<br/>");
out.println("Available Processors : "+lRuntime.availableProcessors()+"<br/>");
out.println("*** END MEMORY STATISTICS ***");
%>

我們可以輸入http://www.ekrvqnd.cn/mem.jsp來驗證nginx+tomcat整合成功了。

【編輯推薦】

  1. Cacti如何監控Nginx運行狀態
  2. 1分鐘完美安裝最新CentOS+Nginx+PHP-FPM+MySQL
  3. JSP環境配置圖文詳解 初學者必備

 

 

責任編輯:yangsai 來源: 51CTO.com
相關推薦

2018-12-12 08:40:11

服務器TomcatJava

2009-01-16 14:37:57

TomcatWeb服務器應用服務器

2019-10-23 10:14:24

TomcatJettyGlassFish

2009-01-10 19:32:36

2009-02-27 14:25:00

Weblogic應用服務器服務器管理

2012-02-02 10:24:08

JavaResin

2021-05-28 05:18:08

PHP語言roadrunnner

2009-06-16 15:35:20

JBoss應用服務器

2012-02-23 10:02:08

Web服務器應用服務器

2012-04-02 15:43:45

nginxtomcat

2019-07-17 15:05:35

應用服務器Tomcat監控

2018-02-07 10:08:02

應用服務器網絡數據庫

2009-05-08 16:38:54

SpringHyperic服務器

2009-06-18 10:03:57

EquinoxOSGi應用服務器

2014-08-08 16:35:37

應用服務器

2018-05-24 10:15:18

服務器Session問題

2012-03-23 09:32:48

應用服務器

2009-06-16 12:02:37

JBoss IPv6

2017-10-17 09:15:06

Web服務器區別
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲午夜av久久乱码 | 亚洲一区二区欧美 | 乳色吐息在线观看 | 一区二区三区视频在线免费观看 | avav在线看 | 国产精久久久久久久妇剪断 | 欧美精品一区三区 | 国产精产国品一二三产区视频 | 97人人草 | 91精品国产高清久久久久久久久 | 在线91| 天堂国产| 久久精品91久久久久久再现 | 欧美精品一二区 | 国产视频三区 | 99热播放 | 亚洲视频中文字幕 | 一级毛片免费看 | av男人的天堂在线 | 日韩av一区二区在线观看 | 欧美一级久久 | 少妇一区在线观看 | 懂色av蜜桃av | 欧美一级二级视频 | 国产精品一区二区av | 欧美人成在线视频 | 国产精品久久久久不卡 | 国产成人精品一区二区三区在线观看 | 免费黄色a视频 | 久久精品国产一区二区电影 | 天天久久 | 亚洲一区 中文字幕 | 国产小网站 | 国产欧美日韩精品一区二区三区 | 欧美精品a∨在线观看不卡 国产精品久久国产精品 | 国产精品一区二区在线免费观看 | 午夜噜噜噜 | 欧美精品欧美精品系列 | 精品久久一区二区三区 | 97av视频| 精品欧美一区二区三区久久久 |