Technische ondersteuning
Deployment
Hoe kan ik mijn account met SSH beheren?
De SSH services draaien op ssh.railscluster.nl op poort 2222. Inloggen vanaf de command line kan met:
ssh account@ssh.railscluster.nl -p 2222
Wat is een geschikt Capistrano recipe?
Het volgende recipe kan worden gebruikt als basis:
# vervang ACCOUNT met uw accountnaam
set :user, "ACCOUNT"
set :deploy_to, "/home/#{user}/web_root"
set :use_sudo, false
ssh_options[:port] = 2222
default_run_options[:pty] = false
server "ssh.railscluster.nl", :app, :web, :db, :primary => true
namespace :deploy do
task :start, :roles => :app do
run "touch #{current_release}/tmp/restart.txt"
end
task :stop, :roles => :app do
# Do nothing.
end
task :restart, :roles => :app do
run "touch #{current_release}/tmp/restart.txt"
end
end
Als u Github gebruikt kunt u de onderstaande regels gebruiken in het Capistrano recipe. Let op dat de ssh keys ook moeten worden toegevoegd aan Github. Github Help heeft een tutorial hiervoor.
set :scm, "git"
set :branch, "master"
default_run_options[:pty] = true
default_environment["PATH"] = "/opt/ruby-enterprise/bin:/usr/local/bin:/usr/bin:/bin"
#If you use submodules:
set :git_enable_submodules, 1
#Vul hier uw Github gegevens in
set :repository, "URL"
set :user, "USER"
set :scm_passphrase, "PASSWORD"
Hoe worden restarts sneller?
Vendorize het Ruby on Rails framework niet, oftewel verwijder de vendor/rails directory als die aanwezig is. RailsCluster houdt alle oudere versies van Ruby on Rails geïnstalleerd, dus vendorizen is niet nodig en vertraagt restarts.
Het cluster controleert minimaal iedere tien seconden of de applicatie herstart moet worden.
Waar moet ik mijn applicatie plaatsen?
De meest recente versie van Ruby on Rails en Rack applicaties dienen geïnstalleerd
te worden in ~/web_root/current, dusdanig dat ~/web_root/current/public aanwezig is.
PHP applicaties dienen geïnstalleerd te worden in ~/web_root/current/public.
Voor deployment raden wij aan Capistrano te gebruiken. De capistrano en capistrano-ext gems zijn standaard geïnstalleerd op RailsCluster.
Waarom wordt mijn verbinding gereset tijdens deployen?
Forceer de SSH client om nu en dan een keep-alive packet te sturen. Voeg hiertoe het volgende toe aan ~/.ssh/config op de machine van waaraf wordt gedeployed:
ServerAliveInterval 15
Waarom heb ik geen toegang tot mijn applicatie?
Probleem: Forbidden - You don't have permission to access / on this server.
Oplossing: Permissies zijn incorrect, de applicatie is niet volledig, of er mist een index.html bestand in de public directory. Controleer dat alle bestanden chmod 644 en directories chmod 755 zijn en dat de applicatie of ~/web_root/current/public/index.html aanwezig en volledig is.
Uw applicatie kan nog niet gelezen worden door Apache omdat de rechten niet goed ingesteld zijn.
De user of group “apache” heeft leesrechten nodig op environment.rb of config.ru.
Hoe herstart ik mijn applicatie?
Om uw applicatie te herstarten kunt u gebruiken maken van het bovenstaande Capistrano recipe.
Als alternatief kunt u touch ~/web_root/current/tmp/restart.txt uitvoeren terwijl u bent ingelogd met SSH.
Hoe kan ik met cron commando’s uitvoeren?
Hiervoor dienen twee punten in acht worden genomen:
- Stel het juiste pad in voor Ruby. Zonder dit pad kunt u geen Rake commando’s uitvoeren en kunt u geen gebruik maken van de geïnstalleerde RubyGems.
- Gebruik
/usr/local/bin/cluster_taskom te verzekeren dat scripts niet dubbel en tegelijk draaien. Dit verbetert performance en voorkomt race conditions in uw applicatie.
Bijvoorbeeld:
PATH=/opt/ruby-enterprise/bin:/usr/local/bin:/usr/bin:/bin 0 * * * * /usr/local/bin/cluster_task rake cron:hourly
Of met nicknames:
PATH=/opt/ruby-enterprise/bin:/usr/local/bin:/usr/bin:/bin @hourly /usr/local/bin/cluster_task rake cron:hourly
Hoe kan ik met Capistrano Rake commando’s uitvoeren?
Zet het volgende in het Capistrano recipe:
default_run_options[:pty] = false
Waarom krijg ik Net::SFTP::StatusException foutmeldingen met Capistrano SFTP uploads?
Zet het volgende in uw Capistrano recipe: set :deploy_to, "/home/#{user}/web_root"
Welke frameworks kan ik gebruiken op RailsCluster?
De ondersteuning op RailsCluster van frameworks die de Rack interface gebruiken komt voort uit het gebruik van Phusion Passenger. Dit betekent dat applicaties op basis van Camping, Halcyon, Mack, Merb, Ramaze en Sinatra ook op RailsCluster werken.
TopDatabases
Wat voor database kan ik het beste gebruiken?
RailsCluster ondersteunt MySQL en PostgreSQL databases. Bij ieder account wordt een
database aangemaakt op beide systemen. Naast de gebruikelijke verschillen tussen MySQL en
PostgreSQL is er ook een verschil in infrastructuur op RailsCluster. MySQL is uitgevoerd in
een master-slave configuratie met automatische failover, terwijl PostgreSQL is uitgevoerd in
een load-balancing multi-master configuratie met degeneratie.
Door dit verschil is PostgreSQL twee keer sneller bij leesoperaties maar 7-15% trager bij
schrijfoperaties. Voor werkelijke performance is het profiel van de webapplicatie dus belangrijk.
Wat voor MySQL database engine kan ik het beste gebruiken?
Wanneer u gebruik maakt van de MySQL database, raden wij u aan om de InnoDB database engine te gebruiken. InnoDB tabellen zijn transactioneel en ontworpen om integriteit te bewaren. MyISAM tabellen zijn dat niet en daarom kunnen noch MyISAM, noch RailsCluster garanderen dat er geen corruptie optreedt als er een node van het cluster uitvalt.
Welke database versies gebruikt RailsCluster?
Momenteel wordt MySQL 5.1 aangeboden. De server is geoptimaliseerd voor InnoDB tabellen.
Momenteel wordt PostgreSQL 8.4 aangeboden.
Ik kan geen verbinding maken met de MySQL server
Probleem: 2002 (HY000): Can't connect to local MySQL server through
socket '/var/lib/mysql/mysql.sock' (13)
Oplossing: MySQL draait op een aparte host genaamd ‘mysql’. Zet daarom het volgende in database.yml:
production: host: mysql
Ik kan geen verbinding maken met de PostgreSQL server
Probleem: could not connect to server: No such file or directory Is the server running
locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.0"?
Oplossing: PostgreSQL draait op een aparte host genaamd ‘postgresql’. Zet daarom het volgende in database.yml:
production: host: postgresqlTop
Daemons
Ondersteunen jullie background daemons?
Ja, wij ondersteunen background daemons voor een extra maandelijks bedrag. Wij voorzien u met scripts en rechten om daemons te stoppen en te starten op het cluster. Daemons waarvan we weten dat ze goed werken zijn onder andere Ferret, memcached en Sphinx. Neem contact met ons op voor meer informatie.
Hoe beheer ik mijn background daemons?
Als u de rechten heeft om background daemons te gebruiken, dan kunt u cluster_service [daemon] {start|stop|restart|status} gebruiken.
Waar draaien mijn background daemons?
Als u de rechten heeft om background daemons te gebruiken en de daemon succesvol hebt gestart, dan draait de daemon op daemon.railcluster.nl. Dit is alleen toegankelijk binnen het RailsCluster platform.
Let u goed op de specifieke poort waarop uw daemon draait. Deze informatie is u toegestuurd toen we uw account rechten hebben gegeven voor background daemons. U kunt de configuratie ook bekijken in ~/bin/cluster_[daemon]_wrapper of ~/etc/[daemon].conf, afhankelijk van de specifieke daemon.

Zoeken
Sitemap
Control Panel
Webmail