« Return to Thread: Rails and JRuby

Re: Rails and JRuby

by Charles Oliver Nutter-4 :: Rate this Message:

Reply to Author | View in Thread

Specifically I'm talking about a writeup for getting GF gem + apache +
whatever else working well together. I'm not sure we have that article
anywhere.

On Wed, Jul 1, 2009 at 12:14 PM, Charles Oliver
Nutter<headius@...> wrote:

> Wow, this is a great writeup. Maybe you (Ole) and you (Janna) could
> add a page to the wiki or write up a blog post?
>
> On Fri, Jun 26, 2009 at 7:04 AM, Ole Christian Rynning<oc@...> wrote:
>> I second Janna B.
>>
>> I set this up on Solaris monday. It's running fantasticly and
>> performing like nothing I've seen before :) Completely stable memory,
>> no wirings or anything bad for 5 days now.. (with several ab/htperf
>> stresstests).
>>
>> In case you wonder how to integrate it with SMF, here's the short, no
>> fluff version
>>
>> smidig@...:~/ $ cat /etc/apache2/2.2/sites/ocr.smidig.no
>> <VirtualHost *:80>
>>
>> ServerName ocr.smidig2009.no
>> DocumentRoot /var/apps/smidig2009/oc/smidig2009/public
>>
>> <Directory /var/apps/smidig2009/oc/smidig2009/public>
>>  Options FollowSymLinks
>>  AllowOverride All
>>  Order allow,deny
>>  Allow from all
>> </Directory>
>>
>> <Proxy balancer://smidig2009>
>>  BalancerMember http://10.214.206.200:3000
>>  BalancerMember http://10.214.206.201:3000
>> </Proxy>
>>
>> ProxyPass / balancer://smidig2009/
>> CustomLog /var/log/apache2/smidig2009_oc_apache_access_log combined
>>
>> </VirtualHost>
>>
>>
>> $ cat config/glassfish.yml
>> environment: oc
>> http:
>>    port: 3000
>>    contextroot: /
>>
>> log:
>>    # Logging level. Log level 0 to 7. 0:OFF, 1:SEVERE, 2:WARNING,
>>    # 3:INFO (default), 4:FINE, 5:FINER, 6:FINEST, 7:ALL.
>>    log-level: 5
>>
>> jruby-runtime-pool:
>>
>>    initial: 1
>>    min: 1
>>    max: 1
>>
>> daemon:
>>    enable: true
>>    pid: tmp/pids/glassfish-oc.pid
>>    jvm-options: -server -Xmx2500m -Xms64m -XX:PermSize=256m
>> -XX:MaxPermSize=256m -XX:NewRatio=2 -XX:+DisableExplicitGC
>> -Dhk2.file.directory.changeIntervalTimer=6000
>>
>>
>> $ cat config/glassfish-gem.smf.xml
>> <?xml version='1.0'?>
>> <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
>> <service_bundle type='manifest' name='glassfish-gem'>
>>  <service name='network/glassfish-gem' type='service' version='0'>
>>    <dependency name='fs' grouping='require_all' restart_on='none'
>> type='service'>
>>      <service_fmri value='svc:/system/filesystem/local'/>
>>    </dependency>
>>    <dependency name='net' grouping='require_all' restart_on='none'
>> type='service'>
>>      <service_fmri value='svc:/network/loopback'/>
>>    </dependency>
>>    <dependent name='glassfish-gem_multi-user' restart_on='none'
>> grouping='optional_all'>
>>      <service_fmri value='svc:/milestone/multi-user'/>
>>    </dependent>
>>    <exec_method name='start' type='method'
>> exec='/opt/jruby/bin/glassfish' timeout_seconds='60' />
>>    <exec_method name='stop' type='method' exec=':kill' timeout_seconds='60' />
>>          <!-- INSTANCES -->
>>          <instance name='smidig2009_oc' enabled='false'>
>>                  <method_context
>> working_directory='/var/apps/smidig2009/oc/smidig2009'>
>>                          <method_credential user='smidig_no' group='daemon' />
>>                          <method_environment>
>>                            <envvar name="PATH"
>> value="/opt/jruby/bin:/usr/bin:/bin" />
>>                          </method_environment>
>>                  </method_context>
>>          </instance>
>>          <instance name='smidig2009_production' enabled='false'>
>>                  <method_context
>> working_directory='/var/apps/smidig2009/production/smidig2009'>
>>                          <method_credential user='smidig_no' group='daemon' />
>>                          <method_environment>
>>                            <envvar name="PATH"
>> value="/opt/jruby/bin:/usr/bin:/bin" />
>>                          </method_environment>
>>                  </method_context>
>>          </instance>
>>  </service>
>> </service_bundle>
>>
>> $ pfexec svccfg validate config/glassfish-gem.smf.xml
>> $ pfexec svccfg import config/glassfish-gem.smf.xml
>> $ pfexec svcadm enable glassfish-gem:smidig2009_oc
>> $ pfexec svcadm restart apache22
>>
>> oc
>>
>> On Thu, Jun 25, 2009 at 4:47 PM, Mistress Janna
>> Brossard<mistressjanna@...> wrote:
>>> James,
>>>
>>> I simply put the following into my httpd.conf: (I am runninf Apache
>>> 1.3.33...I think you must have it set up to be able to do VirtualHosting as
>>> well -- which is set up if you have installed, say InstantRailis and their
>>> examples):
>>>
>>> <VirtualHost *>
>>>     ServerName gg.dyndns.org
>>>     DocumentRoot C:/jruby/rails_apps/gg/public/
>>>     ProxyPass / http://localhost:3000/
>>>     ProxyPassReverse / http://localhost:3000
>>> </VirtualHost>
>>>
>>> Then fire up the LATEST Glassfish gem on, say, port 3000:
>>>
>>> C:\jruby\rails_apps\gg>jruby -S glassfish
>>>
>>> Voila...blazing speed, can handle lots of traffic. Note that I am also
>>> cominging into apache from a dyndns name. So, whatever IP I have, I can go
>>> straight to execution on the glassfish gem and NO warring up! What could be
>>> easier deployment, or a faster execution? -Janna B
>>>
>>>
>>>
>>>
>>> ________________________________
>>> From: james.herdman@...
>>> Date: Thu, 25 Jun 2009 09:17:10 -0400
>>> To: user@...
>>> Subject: Re: [jruby-user] Rails and JRuby
>>>
>>> How does the proxying to Glassfish work? Doesn't Glassfish have Grizzly for
>>> handling incoming requests quickly?
>>> James
>>>
>>> On Fri, Jun 19, 2009 at 3:55 PM, marc <gmane@...> wrote:
>>>
>>> Mistress Janna Brossard said:
>>>
>>>> I find the glassfish gem to be the most performant of all -- and I don't
>>>> need to war-up my app.
>>>>
>>>> I proxy to the glassfish gem out of apache.
>>>
>>> Ditto. I use glassfish3
>>>
>>> I also have some mongrel cluster stuff, but glassfish is simpler and just
>>> works.
>>>
>>> --
>>> Best,
>>> Marc
>>>
>>> "Change requires small steps."
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe from this list, please visit:
>>>
>>>    http://xircles.codehaus.org/manage_email
>>>
>>>
>>>
>>>
>>> ________________________________
>>> Windows Live™: Keep your life in sync. Check it out.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>>    http://xircles.codehaus.org/manage_email
>>
>>
>>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


 « Return to Thread: Rails and JRuby