¶ ↑
Mongrel Cluster PluginTool to help start/stop/restart multiple mongrel servers to use behind a load balancer like Apache 2.2 (mod_proxy_balancer), Lighttpd, Pound, Pen or Balance. This plugin adds an option to specify a number of Mongrel servers to launch, a range of ports, and a configuration file for the cluster. Use “-h” to see command syntax.
NOTE: this is an unofficial fork of mongrel_cluster to get it working under ruby 1.9. A new dependency is an updated mongrel v 1.1.6 which has also been made ruby 1.9 compatible. If you are using ruby 1.8, you don’t need this version.
If you will use this version of mongrel_cluster on ruby 1.9, you will need to install v 1.1.6 of mongrel, which you can do in your environment.rb as follows: config.gem “mongrel”, :version => ‘1.1.6’, :source => ‘gems.rubyinstaller.org’
Configure cluster and write configuration file:
mongrel_rails cluster::configure
Start cluster:
mongrel_rails cluster::start
Restart cluster:
mongrel_rails cluster::restart
Stop cluster:
mongrel_rails cluster::stop
¶ ↑
Capistrano RecipesAdd to config/deploy.rb:
require 'mongrel_cluster/recipes'
Variables:
mongrel_servers: Number of Mongrel servers to start. mongrel_port: Starting port to bind to. mongrel_address: Address to bind to. mongrel_environment: Rails environment to run as. mongrel_conf: Path to conf file. Defaults to /etc/mongrel_cluster/app_name.conf mongrel_user: User to run mongrels in cluster as. Unset by default mongrel_group: Group to run mongrels in cluster as. Unset by default.
On Capistrano 2 you get then get the following tasks:
mongrel:cluster:configure Configure the cluster with variables. mongrel:cluster:start: Start Mongrel processes on the app server. mongrel:cluster:stop: Stop the Mongrel processes on the app server. mongrel:cluster:restart: Restart the Mongrel processes on the app server by starting and stopping mongrel_cluster. deploy:restart: Calls mongrel:cluster:restart to allow Mongrel to be used with the standard Capistrano deploy task. deploy:start: Calls mongrel:cluster:start to allow Mongrel to be used with the standard Capistrano deploy task. deploy:stop: Calls mongrel:cluster:stop to allow Mongrel to be used with the standard Capistrano deploy task.
On Capistrano 1 you get the same tasks, but without the namespace:
configure_mongrel_cluster: Configure the cluster with variables. start_mongrel_cluster: Start Mongrel processes on the app server. stop_mongrel_cluster: Stop the Mongrel processes on the app server. restart_mongrel_cluster: Restart the Mongrel processes on the app server by starting and stopping mongrel_cluster. restart: Calls restart_mongrel_cluster to allow Mongrel to be used with the standard Capistrano deploy task. spinner: Calls start_mongrel_cluster to allow Mongrel to be used with the standard Capistrano cold_deploy task.
¶ ↑
Starting clusters at boot-
Create mongrel_cluster conf directory (/etc/mongrel_cluster).
-
Assign ownership to your Capistrano user.
-
Copy the init.d script from this gem’s resouces directory /etc/init.d.
-
chmod +x /etc/init.d/mongrel_cluster
-
Add to init.d startup. On RHEL/CentOS use: /sbin/chkconfig –level 345 mongrel_cluster on