国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

如何在tomcat上配置jruby on rails

開發 后端
本文詳細講解了如何在tomcat上配置jruby on rails。

本文介紹了jruby on rails在tomcat的配置實踐。由于要在tomcat上部署3個rails項目,暫時使用的版本是rails1.2.3,jdk6 ,jruby1.1.2,tomcat5.5.12

用了一臺非常爛的測試機器(p4 2.8  1g),當然,真實服務器比這個要好多了

1.使用rails開發應用之后,使用goldspike打包,不過我老是不成功,所以基本都手動添加,需要的東西主要是

Web-inf下面的lib:

Java代碼

  1. jruby-complete-1.1.2.jar     
  2. mysql-connector-java-5.1.6-bin.jar     
  3. goldspike-1.6.jar     
  4. commons-pool-1.3.jar     
  5. activation-1.1.jar   

web-inf下面的gems,從你的ruby gems那里copy過來就可以了

主要有rails,另外由于使用mysql,所以有

Java代碼

  1. activerecord-jdbc-adapter-0.8    
  2. activerecord-jdbcmysql-adapter-0.8    
  3. jdbc-mysql-5.0.4    
  4. jruby-openssl-0.2.3 //可選   

2.修改environment.rb,不過貌似rails2是不需要配置這個的

Ruby代碼

  1. if defined?(JRUBY_VERSION)     
  2.   require 'rubygems'    
  3.   gem 'activerecord-jdbc-adapter'    
  4.   require 'jdbc_adapter'    
  5. end   

還有database.yml,使用jndi

Ruby代碼

  1. production:  
  2.   adapter: jdbc  
  3.   jndi: java:comp/env/jdbc/gdpolice 

最后是production.rb

Ruby代碼

  1. config.cache_classes = true    
  2. config.action_controller.consider_all_requests_local = false    
  3. config.action_controller.perform_caching             = true    
  4. config.action_view.cache_template_loading            = true    
  5. config.breakpoint_server = false   

3.配置web.xml

Xml代碼

  1. <?xml version="1.0" encoding="UTF-8"?>    
  2. <web-app xmlns="http://java.sun.com/xml/ns/j2ee"    
  3.   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
  4.   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"    
  5.   version="2.4">    
  6.     <context-param>    
  7.         <param-name>jruby.standalone</param-name>    
  8.         <param-value>true</param-value>    
  9.     </context-param>    
  10.     <context-param>    
  11.         <param-name>rails.env</param-name>    
  12.         <param-value>production</param-value>    
  13.     </context-param>    
  14.     <context-param>    
  15.         <param-name>files.default</param-name>    
  16.         <param-value>rails</param-value>    
  17.     </context-param>    
  18.          
  19.     <!-- 設置jruby線程池參數 -->    
  20.     <context-param>    
  21.         <param-name>jruby.pool.maxActive</param-name>    
  22.         <param-value>10</param-value>    
  23.     </context-param>    
  24.     <context-param>    
  25.         <param-name>jruby.pool.maxWait</param-name>    
  26.         <param-value>50000</param-value>    
  27.     </context-param>    
  28.          
  29.     <!-- 其他優化設置:objectspace和jit參數,設置session為db方式 -->    
  30.     <context-param>    
  31.         <param-name>jruby.objectspace.enabled</param-name>    
  32.         <param-value>false</param-value>    
  33.     </context-param>    
  34.     <context-param>    
  35.         <param-name>jruby.jit.threshold</param-name>    
  36.         <param-value>0</param-value>    
  37.     </context-param>    
  38.     <context-param>    
  39.         <param-name>jruby.session_store</param-name>    
  40.         <param-value>db</param-value>    
  41.     </context-param>    
  42.          
  43.     <servlet>    
  44.         <servlet-name>rails</servlet-name>    
  45.         <servlet-class>org.jruby.webapp.RailsServlet</servlet-class>    
  46.     </servlet>    
  47.     <servlet>    
  48.         <servlet-name>files</servlet-name>    
  49.         <servlet-class>org.jruby.webapp.FileServlet</servlet-class>    
  50.     </servlet>    
  51.     <listener>    
  52.         <listener-class>org.jruby.webapp.RailsContextListener</listener-class>    
  53.     </listener>    
  54.     
  55.     <!-- Allow all requests to go to the files servlet first -->    
  56.     <servlet-mapping>    
  57.         <servlet-name>files</servlet-name>    
  58.         <url-pattern>/</url-pattern>    
  59.     </servlet-mapping>    
  60.              
  61.     <resource-ref>    
  62.         <res-ref-name>jdbc/gdpolice</res-ref-name>    
  63.         <res-type>javax.sql.DataSource</res-type>    
  64.         <res-auth>Container</res-auth>    
  65.     </resource-ref>    
  66. </web-app>    
  67.  
  68. <?xml version="1.0" encoding="UTF-8"?> 
  69. <web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
  70.   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  71.   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
  72.   version="2.4"> 
  73.     <context-param> 
  74.         <param-name>jruby.standalone</param-name> 
  75.         <param-value>true</param-value> 
  76.     </context-param> 
  77.     <context-param> 
  78.         <param-name>rails.env</param-name> 
  79.         <param-value>production</param-value> 
  80.     </context-param> 
  81.     <context-param> 
  82.         <param-name>files.default</param-name> 
  83.         <param-value>rails</param-value> 
  84.     </context-param> 
  85.       
  86.     <!-- 設置jruby線程池參數 --> 
  87.     <context-param> 
  88.         <param-name>jruby.pool.maxActive</param-name> 
  89.         <param-value>10</param-value> 
  90.     </context-param> 
  91.     <context-param> 
  92.         <param-name>jruby.pool.maxWait</param-name> 
  93.         <param-value>50000</param-value> 
  94.     </context-param> 
  95.       
  96.     <!-- 其他優化設置:objectspace和jit參數,設置session為db方式 --> 
  97.     <context-param> 
  98.         <param-name>jruby.objectspace.enabled</param-name> 
  99.         <param-value>false</param-value> 
  100.     </context-param> 
  101.     <context-param> 
  102.         <param-name>jruby.jit.threshold</param-name> 
  103.         <param-value>0</param-value> 
  104.     </context-param> 
  105.     <context-param> 
  106.         <param-name>jruby.session_store</param-name> 
  107.         <param-value>db</param-value> 
  108.     </context-param> 
  109.       
  110.     <servlet> 
  111.         <servlet-name>rails</servlet-name> 
  112.         <servlet-class>org.jruby.webapp.RailsServlet</servlet-class> 
  113.     </servlet> 
  114.     <servlet> 
  115.         <servlet-name>files</servlet-name> 
  116.         <servlet-class>org.jruby.webapp.FileServlet</servlet-class> 
  117.     </servlet> 
  118.     <listener> 
  119.         <listener-class>org.jruby.webapp.RailsContextListener</listener-class> 
  120.     </listener> 
  121.  
  122.     <!-- Allow all requests to go to the files servlet first --> 
  123.     <servlet-mapping> 
  124.         <servlet-name>files</servlet-name> 
  125.         <url-pattern>/</url-pattern> 
  126.     </servlet-mapping> 
  127.     
  128.     <resource-ref> 
  129.         <res-ref-name>jdbc/gdpolice</res-ref-name> 
  130.         <res-type>javax.sql.DataSource</res-type> 
  131.         <res-auth>Container</res-auth> 
  132.     </resource-ref> 
  133. </web-app> 

注明幾點:

jruby.standalone為false的時候,需要定義jruby.home

rails.env就對應rails的那幾種環境

jruby線程池有幾個參數(需要根據情況來配置),如下:

Java代碼

  1. jruby.pool.maxActive #最大運行時數量,默認4  
  2. jruby.pool.minIdle #最小運行時數量 默認2  
  3. jruby.pool.initialSize #運行時初始數量 默認jruby.pool.minIdle 的值  
  4. jruby.pool.checkInterval #檢查是否需要更多運行時之間的毫秒數 默認1000  
  5. jruby.pool.maxWait #最長等待時間 默認3000 

jruby.objectspace.enabled貌似默認就是false

jruby.jit.threshold設置使用jit編譯的方法數量的閥值,為0表示全部使用jit

jruby.session_store為db表示使用rails的db方式保存session

resource-ref只是針對5..5或以下,6.0不需要這個鬼東西

4.配置tomcat

server.xml(其實跟普通的web應用沒什么區別,就是配置數據源什么什么的,不說了)

另外有需要注意的是:

Jruby占用的內存,cpu相當驚人,所以要做好準備,需要配置好tomcat的內存參數(具體還是要配合機器)

Java代碼

  1. #catalina.sh     
  2. JAVA_OPTS="$JAVA_OPTS -server -Xms512m -Xmx512m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=256m"    
  3. #catalina.bat     
  4. set JAVA_OPTS=%JAVA_OPTS% -server -Xms512m -Xmx512m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=128m    
  5.  
  6. #catalina.sh  
  7. JAVA_OPTS="$JAVA_OPTS -server -Xms512m -Xmx512m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=256m" 
  8. #catalina.bat  
  9. set JAVA_OPTS=%JAVA_OPTS% -server -Xms512m -Xmx512m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=128m   

另外,tomcat服務器優化的就不說了,例如加httpd,調節參數,apr,nio之類。。。

5.其他觀察結果:由于部署多個rails,用jconsole監測,內存消耗很大,特別是permsize的消耗,一直維持在85m上下,所以導致真實服務器也出項outofmemory。經過測試,把上個項目的lib提取到tomcat的lib去(只保留一份),permsize僅僅維持在50m那樣子。另外要盡量使用jruby的新版本,1.1比1.0的性能提升相當大(感覺非常明顯)。后來還啟用了jruby的server模式,感覺就是tomcat的啟動速度慢許多了。。至于性能提升,暫時還沒察覺。。jruby有jit和aot兩種編譯模式,aot只是試過一下,還沒跟jit進行過測試對比,暫時不清楚。

6.以上就是jruby on rails在tomcat的配置實踐。jruby on rails的部署方式還是挺不錯的。現在很期待jruby。

【編輯推薦】

  1. Jython和JRuby,以及Groovy:Java平臺的統一認識模型
  2. JRuby 1.3.0 RC1發布 加強對GAE支持
  3. JRuby中調用java帶可變參數的方法
  4. 使用Java Web Start部署JRuby應用
  5. JRuby入門教程:從無到有建立第一個Hello World
責任編輯:佚名 來源: JavaEye社區
相關推薦

2009-07-17 17:34:15

JRuby On Ra

2014-06-30 09:27:17

UbuntuTomcat集群

2019-07-12 16:28:32

MacKubernetes

2009-07-17 17:00:13

在JRuby下將RoR

2015-11-30 15:05:01

Linux瀏覽器Docker

2019-10-21 13:28:38

UbuntuPostgreSQL命令

2013-03-06 13:27:03

HadoopLinux

2015-11-24 14:14:00

CentOS 7.0Ceph配置

2009-07-20 15:37:26

JRuby安裝JRuby配置

2018-03-29 15:21:03

LinuxDebian網橋

2024-01-30 20:06:18

RHELVLAN

2020-03-18 14:40:14

Ubuntu 18.0RedisLinux

2016-01-06 14:00:20

Ubuntu 14Ubuntu 15Apache Solr

2022-12-27 08:51:31

WebDebian 11

2009-12-14 15:37:35

Ruby on Rai

2021-11-05 08:00:00

數據庫PostgreSQL開源

2015-08-04 13:29:06

Fedoralinux

2023-05-24 11:56:06

RHEL 9DHCP服務器

2009-07-17 17:05:29

JRuby是什么JRuby

2010-05-13 09:07:13

JRuby
點贊
收藏

51CTO技術棧公眾號

57pao国产成人免费| 97高清免费视频| 丝袜制服一区二区三区| 日本美女视频一区二区| 美女福利视频一区| 色呦呦视频在线观看| 久久久久久久久岛国免费| 国产伦精品一区二区三区照片91 | 韩国一区二区av| 老司机免费视频一区二区三区| 国产精品 欧美在线| 北岛玲精品视频在线观看| 欧美一区二区三区四区久久| 偷拍自拍在线视频| 亚洲一区二区精品久久av| 亚洲国产日韩欧美在线观看| 成人黄页在线观看| 91专区在线观看| 1024欧美极品| 国产三级欧美三级| 青青草国产免费| 本田岬高潮一区二区三区| av免费播放网址| 国产日韩亚洲欧美综合| jlzzjlzz欧美大全| 悠悠色在线精品| 日本私人网站在线观看| 日韩欧美亚洲范冰冰与中字| 污视频免费在线看| 欧美日韩免费在线视频| 永久免费网站在线| 色99之美女主播在线视频| 999精品嫩草久久久久久99| 97国产精品免费视频| 91蜜臀精品国产自偷在线| 91免费在线观看网站| 日韩av一区二区三区四区| 免费在线看黄色片| 亚洲国产精华液网站w| 一不卡在线视频| 日韩电影网在线| 亚洲成a人片77777在线播放| 国产伦精品一区二区三区视频孕妇 | 欧美成人一区二区在线观看| 日韩黄色片在线观看| 亚洲欧洲国产日韩精品| 成人精品视频一区二区三区| 婷婷色播视频| 狠狠色丁香婷婷综合影院| 国产一区免费在线观看| av亚洲精华国产精华精华| 中文字幕免费在线| 亚洲成人av片在线观看| 日韩高清影视在线观看| 亚洲激情图片| 婷婷丁香激情综合| 户外露出一区二区三区| 亚洲伊人第一页| xf在线a精品一区二区视频网站| 青青草免费在线视频| 超碰精品一区二区三区乱码| 亚洲日韩成人| 在线免费黄色毛片| 久久精品成人欧美大片| 久久精品人人| 深夜福利视频一区| 国产做受高潮69| 99国产精品久久久久| 日本在线观看高清完整版| 成人在线一区二区| 亚洲美女视频一区| 91麻豆精品激情在线观看最新| 加勒比在线一区二区三区观看| 亚洲人成电影网站色mp4| www.久久99| 精品少妇在线视频| 精品一区二区亚洲| 国产一区视频网站| 欧美韩国亚洲| 日韩国产精品毛片| 国产亚洲欧美视频| 成人小视频免费在线观看| 日韩新的三级电影| 自拍日韩亚洲一区在线| 亚洲精品日韩欧美| 日韩高清一级片| 丝袜美腿一区| 中文字幕在线中文| 久久中国妇女中文字幕| 久久久噜噜噜久久人人看 | 在线一区二区三区做爰视频网站| jiujiure精品视频播放| 在线国产视频观看| 99免费在线视频观看| 精品日韩av一区二区| 国产精品18久久久久久久久久久久| 丝袜老师在线| 999香蕉视频| 国产精品露脸av在线| 91麻豆精品国产91| 久久青草欧美一区二区三区| 热久久天天拍国产| 不卡的av影片| a在线观看免费视频| 国产精品久久久久久久久婷婷| 亚洲精品久久久久久下一站| 精品一区二区三区久久| 老司机aⅴ在线精品导航| 国产一级片在线| 国产系列第一页| 欧美中文字幕精品| 欧美mv日韩mv国产网站app| 国产午夜久久久久| 欧美在线高清| 久久影视精品| 成人在线免费电影| 97影院理论午夜| 久久99久久久久久| 成人精品一二区| 国产不卡av在线免费观看| 亚洲一区二区久久久| 欧美日韩五月天| 一区二区三区在线观看国产| 成人免费视频国产在线观看| 亚洲视频大全| 欧美va天堂| 婷婷激情图片久久| 偷拍亚洲色图| 美女主播精品视频一二三四| 国产精品原创视频| 成人国产二区| 黄网av在线| 快射av在线播放一区| 在线黄色.com| 97视频免费| 韩国版免费三体| jizzjizzji欧美| 国产激情视频网址| 国产九色porn网址| 亚洲男男gay视频| av成人动漫| 在线观看成年人视频| 亚色视频在线播放| 日本搞黄视频| 中文字幕在线免费观看| 小草av在线播放| 成人免费在线电影| 精品极品在线| 日本亚州欧洲精品不卡| 天堂资源在线亚洲| 你懂的亚洲视频| 久久久亚洲人| 精品白丝av| 99视频一区二区三区| 国产精品久久国产精麻豆99网站| 中文av一区二区| 亚洲国产精品精华液网站| 欧美曰成人黄网| 欧美一区二区三区在线视频| 欧美大肚乱孕交hd孕妇| 8av国产精品爽爽ⅴa在线观看 | 91精品国产色综合久久不卡蜜臀| 日韩av在线看| 日本精品久久久久影院| 久久精品中文字幕一区二区三区| 久久观看最新视频| 亚州色图欧美色图| 欧美艳星kaydenkross| 欧美日韩中文一区二区| 久久99国产精品麻豆| 亚洲动漫第一页| 亚洲视频在线看| 国产精品高精视频免费| 精品无码国产一区二区三区av| 你懂的视频在线播放| 日韩成人在线看| 另类欧美日韩国产在线| 中文字幕一区二区三区av| 亚洲乱码国产乱码精品精| 日本成人免费在线| 亚洲日本理论电影| 成人羞羞视频免费看看| 日本性爱视频在线观看| 婷婷精品在线| 高清shemale亚洲人妖| 欧美精品一区二区在线观看| 成人黄色免费看| 日本成人黄色网址| 福利一区二区| 成人一道本在线| 亚洲韩国青草视频| 欧美日韩激情一区二区| 国产精品久久久久aaaa九色| 免费全黄无遮挡裸体毛片| 91麻豆精品激情在线观看最新| 成人ar影院免费观看视频| 综合136福利视频在线| 国产中文字幕视频在线观看| 老司机亚洲精品一区二区| 自拍偷自拍亚洲精品播放|