1

問題の場所を特定できないようですが、アプリをサブ URI にデプロイできないようです。私の腸は、それが私の仮想ホスト構成とシンボリックリンクの間にあると言いますが、仮想ホストとパッセンジャーをこれほど広範囲に扱うのはこれが初めてです。

http://example.com/appにアクセスしようとすると、パッセンジャー エラーが発生します ...

No such file or directory - config.ru

アプリケーション ルートが表示されます。

/home/username/public/example.com/public

他のすべてが行く限り... サイトのディレクトリ構造:

example.com/
    |-- public/
        |-- index.php
        |-- app/
            |-- config.ru         
            |-- app.rb      
            |-- public/           
            `-- tmp/              
                `-- restart.txt 

/etc/apache2/sites-available/example.com の仮想ホスト:

# domain: example.com
# public: /home/username/public/example.com/

<VirtualHost *:80>
  # Admin email, Server Name (domain name), and any aliases
  ServerAdmin email@example.com
  ServerName  www.example.com
  ServerAlias example.com

  # Index file and Document Root (where the public files are located)
  DirectoryIndex index.html index.php
  DocumentRoot /home/username/public/example.com/public
   <Directory /home/username/public/example.com/public>
      Allow from all
   </Directory>

  RackBaseURI /app
  <Directory /home/username/public/example.com/public/app>
      Options -MultiViews
  </Directory>

  # Log file locations
  LogLevel warn
  ErrorLog  /home/username/public/example.com/log/error.log
  CustomLog /home/username/public/example.com/log/access.log combined
</VirtualHost>

私が作ったシンボリックリンク:

ln -s /home/username/public/example.com/public/app/public /home/username/public/example.com/app

config.ru:

#!/usr/bin/env ruby
require 'sinatra'

require File.expand_path('app.rb',__FILE__)

run Sinatra::Application

そして app.rb:

#!/usr/bin/env ruby
# encoding: UTF-8
require 'sinatra'

get '/' do
    "App!"
end

ここで何がうまくいかないのかよくわかりませんが、この VPS に複数のサイトがあるため、ディレクトリ構造が非常に多くのパブリック フォルダーで少し変わっています。私は自分自身を混乱させているかもしれません。

4

0 に答える 0