我正在Linode上运行Ubuntu 22.04服务器,并尝试使用Apache和Puma部署simple Sinatra app,但目前,我只能显示索引页,所以我认为我遗漏了一个简单的步骤。我不知道如何将Puma连接到Apache,所以可能有一些相关的东西我遗漏了。以下是关键文件:
网站example.com/web.rb
require 'sinatra'
get '/' do
"Hello World"
end
网站example.com/config/puma.rb
workers 2
threads 5, 5
preload_app!
port 5000
environment 'development'
/etc/apache2/sites-available/example.conf
<VirtualHost *:80>
ServerAdmin info@example.com
ServerName sinatra.example.com
DocumentRoot /var/www/example.com
<Directory /var/www/example.com>
DirectoryIndex web.rb
Allow from all
</Directory>
ErrorLog /var/www/example.com/logs/errors.log
CustomLog /var/www/example.com/logs/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =sinatra.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
然后,我运行了以下命令,没有出现问题:
一个月一个月一个月一个月
1条答案
按热度按时间8ftvxx2r1#
你需要设置一个反向代理(如@konstantin-strukov所提到的)。这里是你我设置的文件和我运行的命令的完整列表(不包括安装apache和ruby),这样就没有歧义了。
/var/www/示例/web.rb
/var/www/示例/过程文件
/var/www/示例/GEMFILE
注意:Sinatra最近发布了3. 0. 0版本,Puma发布了6. 0. 0版本,这导致了与Rack的冲突,所以我需要使用以前的版本才能让它工作。
/var/config.ru
/var/www/示例/配置/puma.rb
/etc/apache 2/可用站点/示例.conf
/etc/systemd/系统/puma.服务
/etc/systemd/系统/puma.套接字
1.捆绑安装
代理代理_ajp代理_http重写缩小头代理_平衡器代理_连接代理_html