【发布时间】:2022-01-22 06:44:49
【问题描述】:
我有一个位于/var/www/example 内的 Sinatra 应用程序 (app.rb)。我的设置是 nginx、thin 和 sinatra。
我有 nginx 和 Thin 启动并运行,但是当我导航到我的站点时,我从 nginx 收到 404。我假设服务器块配置是错误的。我尝试将 root 指向 /var/www/example/ 而不是 public 但这没有区别。我不认为这个请求能达到 sinatra 应用程序。
我做错了什么?
服务器块:
server {
listen 80;
listen [::]:80;
root /var/www/example/public;
index index.html index.htm index.nginx-debian.html;
server_name example.com www.example.com;
location / {
try_files $uri $uri/ =404;
}
}
/var/www/example 目录下的config.ru:
require File.expand_path('../app.rb', __FILE__)
run Sinatra::Application
/var/www/example 目录中的config.yml:
---
environment: production
chdir: /var/www/example
address: 127.0.0.1
user: root
group: root
port: 4567
pid: /var/www/example/pids/thin.pid
rackup: /var/www/example/config.ru
log: /var/www/example/logs/thin.log
max_conns: 1024
timeout: 30
max_persistent_conns: 512
daemonize: true
【问题讨论】: