为了更高性能,我们希望允许nginx在传递给上游apache服务器之前捕获404。 两台服务器都有相同的文件。
更多信息
我们有一个stream行的设置,在nginx上提供静态内容,并使用apache上游来提供dynamic内容。 我们目前将PHP和静态文件同步到上游apache节点的nginx节点。 相同的文件位于两个图层上。 我们只提供来自nginx的静态文件。
目前,所有的非静态请求都会上传到Apache服务器(如以前所预期的那样)。 但是,我意识到在决定在上游传递它之前,nginx应该能够检查.php文件的存在。 这意味着更有效地处理请求。
我一直在尝试try_files的组合,然后最终如果块find解决scheme,但我没有成功。 请指教。
谢谢!
有一个非常简单的解决scheme:
server { listen 0.0.0.0; server_name fooo.org; access_log /var/log/nginx/access.log main; root /var/www/fooo.org; location / { # If the file exists as a static file serve it directly without # running all the other rewite tests on it if (-f $request_filename) { break; } proxy_pass http://127.0.0.1:8080; } }
如果有帮助,请+1;)谢谢