0

私はRubyonRailsを使用してWebサイトを作成しており、友人を通じてそれをホストします。彼にはサーバーをホストするためのスペースと容量があり、私には専用サーバーになることに専念するシステムがあります。そして、これはRails Webサイトでの私の最初の試みであり、さらに友人とのセルフホスティングです。

今日と明日、次のソフトウェア構成でサーバーをフォーマットして準備します。

  • Apache2
  • Phusion Passenger(別名、mod_rails)
  • Ruby Enterprise Edition
  • MySQL 5

いくつか質問がありますが、その複雑さについてお詫び申し上げます。この構成のガイドはまだ見つかりません。Railsを初めて使用するので、これをナビゲートする経験はまだありません。

この構成にはどのLinuxビルドが最も推奨されますか?

CentOSにデプロイすることを計画しています。注意点は、私は初期の頃からWindowsユーザーであり、WebホストとしてLinuxを使用しており、開発コマンド(CVSなど)はほとんど使用していないということです。したがって、Linuxに関する私の知識はかなり少なく、私の経験も少なくなっています。Linuxのディストリビューションのおかげで、展開の問題や技術に遭遇した場合、またはそのようなものに遭遇した場合...私は完全に干からびています。

これには、ソースコードから何かを構築するようなものが含まれます。

リモート展開用にサーバーにCapistranoを設定するにはどうすればよいですか?

これが撞着語であることは知っていますが(Capistranoはサーバー側ではなくクライアント側です)、サーバーで何が必要かわかりません。FTPが必要ですか?SFTP?SSL?SSH?何?

Capistranoをスムーズに実行できるようにするには、サーバーで何を構成し、どのように構成しますか?

また、SCMがローカルホスト上にあり、Mercurialによるものであるという事実をCapistranoにどのように参照しますか?(私はTortoiseMgを使用しました。)SVNに変換して、おそらくサーバー上にリポジトリーをセットアップすることはできましたが、それを行う方法が完全にはわかりません。

ローカルホスト開発から完全に異なるOSにデプロイするときに注意する最大の障害は何ですか?

その他

では、Windowsにデプロイしてみませんか? 私は法案を提出していて、XPまたはおそらく2000の別のコピーにお金を払いたくないからです。Vistaの使用を拒否します。さらに、サーバー環境ではLinuxの方がWindowsよりもはるかに安全です。

既存のガイドを読んでみませんか? 私は; これはRubyonRailsを使用する最初のサイトであり、予算は現在2桁未満の領域にあり、サーバー構成とリモート展開(サイトのさらなる開発のため)を行うことで視野を広げようとしています。私自身。私は過去にPHPWebサイトをホストに依存していましたが、それらの構成ははるかに均質です。Rubyサーバーは高価で、私にとっては法外なほど高価であり、その構成を学ぶことは知っていても害はありません。

4

3 に答える 3

1

Slicehost.com (VPS ホスティング会社) に投稿された記事が非常に役立つことがわかりました。

記事の完全なリストはhttp://articles.slicehost.com/sitemapにあります。そこには、Ruby on Rails アプリケーションの本番環境へのデプロイに関連する多数の記事があります。

于 2009-01-26T19:26:25.197 に答える
1

この構成に最も推奨される Linux のビルドはどれですか?

どのディストリビューションも、Apache2 を実行でき (ほぼすべてのディストリビューションです)、Passenger を (Ruby と Rails と共に) インストールできる限り、問題なく動作します。私は個人的に CentOS を使用していますが、そのパッケージ マネージャーは非常に使いやすい ( yum ) と感じています。

yum install -y httpd ruby
gem install rails passenger

/etc/httpd/conf/httpd.confあとは、 Passenger を追加して (Passenger のインストール ファイルに従ってpassenger-install-apache2-module)、配置フォルダーを指すように少し構成するだけ.../app_name/current/publicです。

Passenger を使用しているため、再起動タスクをオーバーライドして機能させる必要があります。

config/deploy.rb

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

リモート展開用にサーバーに Capistrano をセットアップするにはどうすればよいですか?

Capistrano に必要なのは、デプロイ、移行、アプリ サーバーの再起動などを行うための十分な権限を持つ SSH アクセスだけです。Capistrano Web サイトの入門ガイドに従うだけで、すぐに起動して実行できます。

Capistrano は SCM にアクセスする必要があるため、マシンへの接続を許可する必要があります。Capistrano が行うのは、コードをリリース フォルダーにチェックアウトし、シンボリック リンクを古いバージョンから移動して、アプリ サーバーを再起動することだけです。

ローカルホストでの開発から、まったく異なる OS での展開に移行する際に注意する最大の問題は何ですか?

最大の問題は、移行、テスト、テスト、テスト、そしてそれらをさらにテストすることです。アプリケーションのバグは簡単に修正して再デプロイできますが、移行にバグがあると、データ損失の可能性があり、お尻に大きな苦痛を与える可能性があります。

于 2009-01-26T19:39:10.037 に答える
0

Ubuntu サーバーとdeprecを使用することをお勧めします。これは、物事をさらに簡単にする大量の sysadmin レシピを提供するためです。

于 2009-08-24T02:16:58.070 に答える