Commit 5ea0231e99689c8485877602ae01455551ecb94d

Authored by Antonio Terceiro
1 parent af972f2b

Use thin instead of mongrel

Tried to not break upgrades from Lenny. Need to test yet.
debian/apache2/conf.d/noosfero-cluster.conf 0 → 100644
@@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
  1 +<Proxy balancer://noosfero>
  2 + Include /etc/noosfero/apache/cluster.conf
  3 + Order Allow,Deny
  4 + Allow from All
  5 +</Proxy>
  6 +
  7 +# vim: ft=apache
  8 +
debian/apache2/conf.d/noosfero-mongrel.conf
@@ -1,7 +0,0 @@ @@ -1,7 +0,0 @@
1 -<Proxy balancer://noosfero>  
2 - Include /etc/noosfero/apache/mongrel.conf  
3 - Order Allow,Deny  
4 - Allow from All  
5 -</Proxy>  
6 -  
7 -# vim: ft=apache  
debian/bootstrap
1 #!/bin/sh 1 #!/bin/sh
2 2
3 -runtime_dependencies=$(sed -e '/^Depends:.*rails/!d; s/Depends: //; s/([^)]*)//g; s/,\s*/\n/g' debian/control | grep -v 'memcached\|debconf\|mongrel-cluster\|dbconfig-common\|postgresql\|misc:Depends\|adduser') 3 +runtime_dependencies=$(sed -e '/^Depends:.*rails/!d; s/Depends: //; s/([^)]*)//g; s/,\s*/\n/g' debian/control | grep -v 'memcached\|debconf\|dbconfig-common\|postgresql\|misc:Depends\|adduser')
4 test_dependencies="libtidy-ruby libhpricot-ruby libmocha-ruby imagemagick po4a xvfb" 4 test_dependencies="libtidy-ruby libhpricot-ruby libmocha-ruby imagemagick po4a xvfb"
5 apt-get -y install $runtime_dependencies $test_dependencies 5 apt-get -y install $runtime_dependencies $test_dependencies
debian/control
@@ -11,7 +11,7 @@ Vcs-Browser: http://git.colivre.coop.br/?p=noosfero.git @@ -11,7 +11,7 @@ Vcs-Browser: http://git.colivre.coop.br/?p=noosfero.git
11 11
12 Package: noosfero 12 Package: noosfero
13 Architecture: all 13 Architecture: all
14 -Depends: rails (>= 2.3.5-1~), rails-ruby1.8 (>= 2.3.5-1~), ruby1.8, ruby, rake, libgettext-rails-ruby1.8, libsqlite3-ruby, libpgsql-ruby, libmysql-ruby, librmagick-ruby, libredcloth-ruby, libwill-paginate-ruby (>= 2.3.12-1~), iso-codes, libfeedparser-ruby, libferret-ruby, libdaemons-ruby, rcov, mongrel, mongrel-cluster, tango-icon-theme, libhpricot-ruby, iso-codes, memcached, debconf, dbconfig-common, postgresql, adduser, ${misc:Depends} 14 +Depends: rails (>= 2.3.5-1~), rails-ruby1.8 (>= 2.3.5-1~), ruby1.8, ruby, rake, libgettext-rails-ruby1.8, libsqlite3-ruby, libpgsql-ruby, libmysql-ruby, librmagick-ruby, libredcloth-ruby, libwill-paginate-ruby (>= 2.3.12-1~), iso-codes, libfeedparser-ruby, libferret-ruby, libdaemons-ruby, rcov, thin, tango-icon-theme, libhpricot-ruby, iso-codes, memcached, debconf, dbconfig-common, postgresql, adduser, ${misc:Depends}
15 Recommends: postgresql-client 15 Recommends: postgresql-client
16 Description: free web-based platform for social networks 16 Description: free web-based platform for social networks
17 Noosfero is a web platform for social and solidarity economy networks with 17 Noosfero is a web platform for social and solidarity economy networks with
debian/mongrel_cluster.yml
@@ -1,10 +0,0 @@ @@ -1,10 +0,0 @@
1 ----  
2 -address: 127.0.0.1  
3 -cwd: /usr/share/noosfero  
4 -environment: production  
5 -group: noosfero  
6 -log_file: log/mongrel.log  
7 -pid_file: tmp/pids/mongrel.pid  
8 -port: 50000  
9 -servers: 1  
10 -user: noosfero  
debian/noosfero-apache.install
1 -debian/apache2/conf.d/noosfero-mongrel.conf etc/apache2/conf.d 1 +debian/apache2/conf.d/noosfero-cluster.conf etc/apache2/conf.d
2 debian/apache2/virtualhost.conf etc/noosfero/apache 2 debian/apache2/virtualhost.conf etc/noosfero/apache
3 debian/update-noosfero-apache usr/sbin 3 debian/update-noosfero-apache usr/sbin
debian/noosfero.install
@@ -27,7 +27,7 @@ public usr/share/noosfero @@ -27,7 +27,7 @@ public usr/share/noosfero
27 27
28 debian/default/noosfero etc/default 28 debian/default/noosfero etc/default
29 etc/init.d/noosfero etc/init.d 29 etc/init.d/noosfero etc/init.d
30 -debian/mongrel_cluster.yml etc/noosfero 30 +debian/thin.yml etc/noosfero
31 debian/ferret_server.yml etc/noosfero 31 debian/ferret_server.yml etc/noosfero
32 etc/logrotate.d/noosfero etc/logrotate.d 32 etc/logrotate.d/noosfero etc/logrotate.d
33 debian/noosfero.yml etc/noosfero 33 debian/noosfero.yml etc/noosfero
debian/noosfero.links
@@ -2,7 +2,7 @@ usr/share/rails usr/share/noosfero/vendor/ra @@ -2,7 +2,7 @@ usr/share/rails usr/share/noosfero/vendor/ra
2 var/tmp/noosfero usr/share/noosfero/tmp 2 var/tmp/noosfero usr/share/noosfero/tmp
3 var/log/noosfero usr/share/noosfero/log 3 var/log/noosfero usr/share/noosfero/log
4 etc/noosfero/database.yml usr/share/noosfero/config/database.yml 4 etc/noosfero/database.yml usr/share/noosfero/config/database.yml
5 -etc/noosfero/mongrel_cluster.yml usr/share/noosfero/config/mongrel_cluster.yml 5 +etc/noosfero/thin.yml usr/share/noosfero/config/thin.yml
6 etc/noosfero/ferret_server.yml usr/share/noosfero/config/ferret_server.yml 6 etc/noosfero/ferret_server.yml usr/share/noosfero/config/ferret_server.yml
7 etc/noosfero/plugins usr/share/noosfero/config/plugins 7 etc/noosfero/plugins usr/share/noosfero/config/plugins
8 etc/noosfero/noosfero.yml usr/share/noosfero/config/noosfero.yml 8 etc/noosfero/noosfero.yml usr/share/noosfero/config/noosfero.yml
debian/thin.yml 0 → 100644
@@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
  1 +---
  2 +pid: tmp/pids/thin.pid
  3 +address: 127.0.0.1
  4 +user: noosfero
  5 +timeout: 30
  6 +port: 50000
  7 +log: log/thin.log
  8 +max_conns: 1024
  9 +servers: 1
  10 +max_persistent_conns: 512
  11 +environment: production
  12 +daemonize: true
  13 +chdir: /usr/share/noosfero
debian/update-noosfero-apache
@@ -6,10 +6,16 @@ set -e @@ -6,10 +6,16 @@ set -e
6 if test -x /usr/share/noosfero/script/apacheconf; then 6 if test -x /usr/share/noosfero/script/apacheconf; then
7 datadir="/etc/noosfero/apache" 7 datadir="/etc/noosfero/apache"
8 mongrel_file="$datadir/mongrel.conf" 8 mongrel_file="$datadir/mongrel.conf"
  9 + cluster_file="$datadir/cluster.conf"
  10 + if test -e "$cluster_file"; then
  11 + echo "Overwriting $cluster_file ..."
  12 + fi
  13 + /usr/share/noosfero/script/apacheconf thin > "$cluster_file"
9 if test -e "$mongrel_file"; then 14 if test -e "$mongrel_file"; then
10 - echo "Overwriting $mongrel_file ..." 15 + echo "Moving existing $mongrel_file away ..."
  16 + mv "$mongrel_file" "$mongrel_file".dpkg-old
  17 + (cd $datadir && ln -sf cluster.conf mongrel.conf)
11 fi 18 fi
12 - /usr/share/noosfero/script/apacheconf mongrel > "$mongrel_file"  
13 19
14 apache_site='/etc/apache2/sites-available/noosfero' 20 apache_site='/etc/apache2/sites-available/noosfero'
15 if ! test -e "$apache_site"; then 21 if ! test -e "$apache_site"; then
script/apacheconf
1 #!/usr/bin/env ruby 1 #!/usr/bin/env ruby
2 2
3 -case ARGV.first  
4 -when 'mongrel' 3 +def mongrel_thin(config_file)
5 require 'yaml' 4 require 'yaml'
6 - mongrel_config = YAML.load_file(File.dirname(__FILE__) + "/../config/mongrel_cluster.yml")  
7 - ip = mongrel_config['address'] || '127.0.0.1'  
8 - ports = port_range = mongrel_config['port']..(mongrel_config['port']+mongrel_config['servers']-1) 5 + config = YAML.load_file(config_file)
  6 + ip = config['address'] || '127.0.0.1'
  7 + servers = config['servers'] || 1
  8 + ports = port_range = config['port']..(config['port'] + servers - 1)
9 ports.each do |port| 9 ports.each do |port|
10 puts "BalancerMember http://#{ip}:#{port}" 10 puts "BalancerMember http://#{ip}:#{port}"
11 end 11 end
  12 +end
  13 +
  14 +case ARGV.first
  15 +when 'mongrel'
  16 + mongrel_thin(File.dirname(__FILE__) + "/../config/mongrel_cluster.yml")
  17 +when 'thin'
  18 + mongrel_thin(File.dirname(__FILE__) + "/../config/thin.yml")
12 when 'virtualhosts' 19 when 'virtualhosts'
13 require File.dirname(__FILE__) + '/../config/environment' 20 require File.dirname(__FILE__) + '/../config/environment'
14 Environment.all.each do |environment| 21 Environment.all.each do |environment|
@@ -30,6 +37,6 @@ when &#39;virtualhosts&#39; @@ -30,6 +37,6 @@ when &#39;virtualhosts&#39;
30 end 37 end
31 puts "# vim: ft=apache" 38 puts "# vim: ft=apache"
32 else 39 else
33 - puts "usage: %s mongrel|virtualhosts" % $PROGRAM_NAME 40 + puts "usage: %s mongrel|thin|virtualhosts" % $PROGRAM_NAME
34 exit 1 41 exit 1
35 end 42 end