« Return to Thread: Rails and JRuby

Re: Rails and JRuby

by Ole Christian Rynning :: Rate this Message:

Reply to Author | View in Thread

I'll try to find some time. I've created an initial wiki page:
http://kenai.com/projects/jruby/pages/JRubyOnRailsWithGlassfishGem

TODO:
Notes in regards of Linux information. I currently only have a bunch
of Solaris servers, and no Linux servers. I'd also like to add a Nginx
config. I currently don't use it as frontend is usually hardware
based. However I used to, as I find it vastly superior to Apache
httpd, but there were no decent OpenSolaris package available atm.

oc

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

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

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

    http://xircles.codehaus.org/manage_email


 « Return to Thread: Rails and JRuby