Question

J'ai créé un site Web avec Ruby on Rails et je l'hébergerai par l'intermédiaire d'un ami.Il a l'espace et la capacité pour héberger le serveur, et j'ai un système à consacrer pour être un serveur dédié.Et c'est ma première tentative de création d'un site Web Rails, ainsi que d'auto-hébergement avec un ami.

Je vais formater et préparer le serveur aujourd'hui et demain avec la configuration logicielle suivante :

  • Apache2
  • Passager Phusion (alias mod_rails)
  • Édition Ruby Entreprise
  • MySQL 5

J'ai un certain nombre de questions et je m'excuse pour leur complexité.Je n'ai pas encore trouvé de guide pour cette configuration, et étant nouveau sur Rails, je n'ai pas encore l'expérience nécessaire pour m'y retrouver.

Quelle version de Linux est la plus recommandée pour cette configuration ?

J'ai prévu de déployer sur CentOS.La mise en garde est que j'utilise Windows depuis mes débuts et que je n'ai utilisé Linux que comme hébergeur et très peu commandes de développement (telles que CVS).Ainsi, ma connaissance de Linux est plutôt limitée et mon expérience plus restreinte.Si je rencontre des problèmes de déploiement, des détails techniques grâce à la distribution de Linux, ou quelque chose du genre...Je suis totalement mis à sécher.

Cela inclut des choses comme construire quoi que ce soit à partir du code source.

Comment configurer Capistrano sur mon serveur pour un déploiement à distance ?

Je sais que c'est un oxymore (Capistrano est côté client, pas côté serveur) mais je ne sais pas ce dont il a besoin sur le serveur.Est-ce qu'il faut FTP ?SFTP ?SSL ?SSH ?Quoi?

Que dois-je configurer sur mon serveur et comment le configurer pour permettre à Capistrano de fonctionner correctement ?

De plus, comment puis-je signaler à Capistrano que mon SCM est sur localhost et par Mercurial ?(J'ai utilisé TortoiseMg.) Je pourrais convertir en SVN et probablement configurer un référentiel sur le serveur, mais je ne sais pas vraiment comment procéder.

Quel est le plus gros problème que vous surveillez lors du déploiement depuis un développement localhost vers un déploiement sur un système d’exploitation totalement différent ?

Divers

Pourquoi ne pas déployer sur Windows alors ? Parce que je paie la facture et que je ne veux pas payer pour une autre copie de XP ou éventuellement de 2000 ;Je refuse d'utiliser Vista.De plus, Linux est beaucoup plus sécurisé que Windows pour un environnement serveur.

Pourquoi ne pas lire les guides existants ? Je suis;c'est mon premier site avec Ruby on Rails, mon budget est désormais inférieur à deux chiffres et j'essaie d'élargir mes horizons en effectuant la configuration du serveur et le déploiement à distance (pour le développement ultérieur du site) en moi-même.Je me suis appuyé sur des hébergeurs dans le passé pour mes sites Web PHP, mais ils sont beaucoup plus homogènes dans leur configuration.Les serveurs Ruby sont chers, prohibitifs pour moi, et connaître sa configuration ne ferait pas de mal de le savoir.

Était-ce utile?

La solution

Quelle version de Linux est la plus recommandée pour cette configuration ?

Toutes les distributions fonctionneront correctement tant qu'elles peuvent exécuter Apache2 (qui est presque toutes) et que vous pouvez installer Passenger (avec Ruby et Rails).Personnellement, j'utilise CentOS et je trouve son gestionnaire de paquets ridiculement facile à utiliser (Miam).

yum install -y httpd ruby
gem install rails passenger

Ensuite il ne vous reste plus qu'à faire une petite configuration dans /etc/httpd/conf/httpd.conf pour ajouter Passager (en suivant le fichier d'installation de Passager passenger-install-apache2-module) et pointez-le vers votre dossier de déploiement .../app_name/current/public.

Puisque vous utilisez Passenger, vous devez remplacer la tâche de redémarrage pour qu'elle fonctionne.

config/deploy.rb

namespace :deploy do
  desc "Restart Application"
  task :restart, :roles => :app do
    run "touch #{current_path}/tmp/restart.txt"
  end
end

Comment configurer Capistrano sur mon serveur pour un déploiement à distance ?

Tout ce dont Capistrano a besoin est un accès SSH avec des autorisations suffisantes pour déployer, migrer, redémarrer le serveur d'applications, etc.Suivez simplement le Guide de Démarrage au Site Internet de Capistrano et vous serez opérationnel en un rien de temps.

Capistrano a besoin d'accéder à votre SCM, vous devrez l'autoriser à se connecter à votre machine.Tout ce que Capistrano fait est d'extraire votre code dans un dossier de version, de déplacer le lien symbolique de l'ancienne version et de redémarrer votre serveur d'applications.

Quel est le plus gros problème que vous surveillez lors du déploiement depuis un développement localhost vers un déploiement sur un système d’exploitation totalement différent ?

Le plus gros problème concerne les migrations, testez-les, testez-les, testez-les et testez-les encore.Un bug dans votre application est facile à corriger et à redéployer, mais un bug dans votre migration pourrait se révéler très pénible avec la possibilité de perte de données.

Autres conseils

J'ai trouvé les articles publiés sur Slicehost.com (une société d'hébergement VPS) très utiles.

La liste complète des articles se trouve à l'adresse: http://articles.slicehost.com/sitemap . . Vous y trouverez plusieurs articles sur le déploiement en production d’une application Ruby on Rails.

Je recommande d'utiliser le serveur Ubuntu et les deprec , car ils fournissent une tonne de recettes sysadmin qui rendent les choses encore plus simples. plus facile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top