問題の場所を特定できないようですが、アプリをサブ 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 に複数のサイトがあるため、ディレクトリ構造が非常に多くのパブリック フォルダーで少し変わっています。私は自分自身を混乱させているかもしれません。