簡體   English   中英

用於NginX配置的PHP和Rails

[英]PHP and Rails for NginX configuration

我有PHP和Rails在同一台服務器上運行。 我以前在nginx.conf上有一個重寫規則

location / {
    index index.php; 
}

並提供了/foo/bar /foo/bar/index.php類的URL。

但是現在我也有Rails(Passenger),有了這個規則,我就無法擊中Rails。 我如何檢查之前是否存在index.php,並且僅在不存在的情況下才能正常使用。

謝謝。

如果我理解了您的問題,則需要定義另一個位置塊,該位置塊會“命中”軌道並在當前位置使用try_files。 這樣的事情。

index index.html index.php # better place this outside location block

upstream thin {
    unix:/tmp/thin.0.socket;  # this could be any other rails server socket
    unix:/tmp/thin.1.socket;
}

location / {
    try_files $uri @rails;
}

location @rails {
    proxy_pass http://thin;
}

這些對於此類配置將是必不可少的部分,當然,它缺少代理配置。 類似應用的更詳細的示例

應該try_files

server {
        try_files $uri $uri/ $uri/index.php @passenger;

        location @passenger {
                passenger_enabled on;
                rails_env development;
        }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM