Domanda

Ho creato un sito Web con Ruby on Rails e lo ospiterò tramite un amico.Ha lo spazio e la capacità per ospitare il server e io ho un sistema da dedicare come server dedicato.E questo è il mio primo tentativo con un sito web Rails, oltre all'hosting personale con un amico.

Formatterò e preparerò il server oggi e domani con la seguente configurazione software:

  • Apache2
  • Phusion Passenger (noto anche come mod_rails)
  • Edizione Ruby Enterprise
  • MySQL5

Ho una serie di domande e mi scuso per la loro complessità.Non ho ancora trovato una guida per questa configurazione ed essendo nuovo in Rails non ho ancora l'esperienza per orientarmi attraverso questa.

Quale build di Linux è più consigliata per questa configurazione?

Ho pianificato di distribuirlo su CentOS.L'avvertenza è che sono un utente Windows sin dai miei primi giorni e ho utilizzato Linux solo come host web e Pochissimi comandi di sviluppo (come CVS).Quindi la mia conoscenza di Linux è piuttosto limitata, e la mia esperienza minore.Se mi imbatto in qualche intoppo nell'implementazione, tecnicismi grazie alla distribuzione di Linux, o qualcosa del genere...Sono completamente ad asciugare.

Ciò include cose come creare qualsiasi cosa dal codice sorgente.

Come posso configurare Capistrano sul mio server per la distribuzione remota?

So che questo è un ossimoro (Capistrano è lato client, non lato server) ma non so di cosa ha bisogno sul server.Ha bisogno dell'FTP?SFTP?SSL?SSH?Che cosa?

Cosa configuro sul mio server e come lo configuro per consentire a Capistrano di funzionare senza problemi?

Inoltre, come faccio a riferire a Capistrano il fatto che il mio SCM è su localhost ed è di Mercurial?(Ho usato TortoiseMg.) Potrei convertirlo in SVN e probabilmente impostare un repository sul server, ma non sono del tutto sicuro di come farlo.

Qual è il problema più grande a cui prestare attenzione quando si esegue la distribuzione da uno sviluppo host locale alla distribuzione su un sistema operativo completamente diverso?

Varie

Perché non distribuirlo su Windows allora? Perché sto pagando il conto e non voglio pagare per un'altra copia di XP o magari 2000;Mi rifiuto di usare Vista.Inoltre, Linux è molto più sicuro di Windows per un ambiente server.

Perché non leggere le guide esistenti? Sono;questo è il mio primo sito con Ruby on Rails, il mio budget ora è a meno di due cifre e sto cercando di espandere i miei orizzonti configurando il server e implementando in remoto (per l'ulteriore sviluppo del sito) tramite me stessa.In passato ho fatto affidamento sugli host per i miei siti Web PHP, ma sono molto più omogenei nella loro configurazione.I server Ruby sono costosi, proibitivi per me, e conoscerne la configurazione non sarebbe male saperlo.

È stato utile?

Soluzione

Quale build di Linux è più consigliata per questa configurazione?

Qualsiasi distribuzione funzionerà bene fintanto che può eseguire Apache2 (che è quasi tutte) e puoi installare Passenger (insieme a Ruby e rails).Personalmente utilizzo CentOS e trovo che il suo gestore di pacchetti sia ridicolmente facile da usare (gnam).

yum install -y httpd ruby
gem install rails passenger

Quindi tutto ciò che devi fare è una piccola configurazione /etc/httpd/conf/httpd.conf per aggiungere Passenger (seguendo il file di installazione di Passenger passenger-install-apache2-module) e indirizzarlo alla cartella di distribuzione .../app_name/current/public.

Poiché stai utilizzando Passenger, dovresti sovrascrivere l'attività di riavvio per farlo funzionare.

config/deploy.rb

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

Come posso configurare Capistrano sul mio server per la distribuzione remota?

Tutto ciò di cui Capistrano ha bisogno è l'accesso SSH con autorizzazioni sufficienti per distribuire, migrare, riavviare il server delle app, ecc.Basta seguire il guida introduttiva al Sito web Capistrano e sarai operativo in pochissimo tempo.

Capistrano ha bisogno di accedere al tuo SCM, dovrai consentirgli di connettersi alla tua macchina.Tutto ciò che Capistrano fa è estrarre il tuo codice in una cartella di rilascio, spostare il collegamento simbolico dalla vecchia versione e riavviare il server dell'app.

Qual è il problema più grande a cui prestare attenzione quando si esegue la distribuzione da uno sviluppo host locale alla distribuzione su un sistema operativo completamente diverso?

Il problema più grande riguarda le migrazioni: testare, testare, testare e testarle ancora.Un bug nella tua applicazione è facile da correggere e ridistribuire, ma un bug nella tua migrazione potrebbe rivelarsi un enorme problema con la possibilità di perdita di dati.

Altri suggerimenti

Ho trovato abbastanza utili gli articoli pubblicati su Slicehost.com (una società di hosting VPS).

L'elenco completo degli articoli è disponibile all'indirizzo: http://articles.slicehost.com/sitemap . Troverai una serie di articoli relativi alla distribuzione in produzione di un'applicazione Ruby on Rails.

Consiglio di utilizzare il server Ubuntu e deprec , in quanto fornisce un sacco di ricette di sysadmin che rendono le cose uniformi più facile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top