0

私はLinuxとRubyの初心者なので、ご容赦ください。

Sinatraを使用して小さなRubyアプリを作成し、Capistranoを使用してLinuxサーバーにデプロイしています。ローカルで、またはリモートでを使用して、アプリを問題なく正常に実行できましたrack -p 4567

私のアプリは、このディレクトリ内に、サブディレクトリとファイルを/foo使用してディレクトリ(これを呼びましょう)を作成します。デーモン-Dオプションを使用してラックを実行すると、フォルダの作成時に突然ファイル権限エラーが発生します。Dir::mkdir/foo/foo

rackup -D -p 4567

これがファイルのアクセス許可と関係があることは知っていますが、ここで何を設定すればよいかわかりません。Webはchmodを推奨していますが、それはシェルから実行している場合ですよね?0700合格または合格0777を試みましDir::mkdirたが、役に立たなかったようです。ディレクトリとファイルを作成する権限をデーモンに与えるにはどうすればよいですか?

4

1 に答える 1

0

結局のところ、これはアプリで絶対パスを使用しなかったためです。したがって、現在の作業ディレクトリは、rubyが配置されている/ usr/binを指しています。

File.expand_path(File.dirname(__FILE__))スクリプトがあるパスを取得するために使用します。

于 2012-11-13T22:03:06.517 に答える