我已经部署了LAMP堆栈并在www.mydomain.com下运行,但是当尝试部署Sinatra应用程序(用于Web API服务)时,我没有任何运气,尽管已经跟进了几个教程 - 如果www.mydomain.com/api/services/test?id=test不能与Sinatra一起使用 - 只会得到403错误。 ' rackup'似乎暗示它正在聆听9292端口,但这似乎并没有表现出任何不同。所有这一切都在我的本地机器上工作,但部署到生产并没有丝毫工作。这个问题是由Apache已经配置为侦听端口80并将它们引导到我的原始站点引起的吗?
文件结构:(/ var / www / sinatra)
-app.rb
-library.rb
-config.ru
-public
-tmp
--restart.txt
app.rb:
require 'sinatra'
require 'json'
require File.join(File.dirname(__FILE__), 'library.rb')
get '/api/services/test' do
data = {:id => params[:id]}.to_json
end
config.ru:
require 'sinatra'
require File.expand_path '../app.rb', __FILE__
run Sinatra::Application
虚拟主机:
<VirtualHost *:80>
ServerName www.mydomain.com
DocumentRoot /var/www/sinatra/public
<Directory /var/www/sinatra/public>
Order allow,deny
allow from all
</Directory>
</VirtualHost>