« Return to Thread: Rails and JRuby

Re: Rails and JRuby

by Ole Christian Rynning :: Rate this Message:

Reply to Author | View in Thread

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


 « Return to Thread: Rails and JRuby