我有一個 Sinatra 應用程式 ( app.rb),它位于/var/www/example. 我的設定是 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;
}
}
目錄中的 config.ru /var/www/example:
require File.expand_path('../app.rb', __FILE__)
run Sinatra::Application
目錄中的 config.yml /var/www/example:
---
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
uj5u.com熱心網友回復:
您必須告訴 nginx 將請求代理到您的 Sinatra 應用程式。完成此操作所需的最低要求是proxy_pass在location塊中指定一個指令,如下所示:
location / {
proxy_pass http://localhost:4567;
}
該Nginx的反向代理的檔案對你可能要包括其它代理設定的詳細資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/420971.html
標籤:
上一篇:Cors不適用于兩個不同的來源
