我用ubuntu和ngingx设置了一个家庭服务器,我可以提供静态文件.现在我想测试一些clojure文件,但我不清楚如何做到这一点.对于php来说这似乎很容易,例如在本教程中他为php文件添加了一个位置.这就是我需要做的,只需指出Clojure文件在配置文件中的位置?
我有Dmitry Sotnikov 与Clojure进行的Web开发,他谈到了部署,但没有具体讨论nginx.
你能指出我正确的方向,我可以找到有关这方面的文件吗?
请尝试Nginx-Clojure模块.您可以在没有任何Java Web服务器的情况下使用Nginx运行clojure Ring处理程序,例如.码头.它还要快得多.基准测试可以在这里找到.
考虑下一个设置:
nginx -> ring server (jetty)
您需要在某个端口(例如8080)上启动lein ring server
(使用lein-ring插件).Nginx将侦听80端口并将请求转发到8080.这是一个示例nginx配置:
upstream ring { server 127.0.0.1:8080 fail_timeout=0; } server { root <path-to-public-dir>; # Make site accessible from http://localhost/ server_name localhost; location / { # First attempt to serve request as file try_files $uri $uri/ @ring; } location @ring { proxy_redirect off; proxy_buffering off; proxy_set_header Host $http_host; proxy_pass http://ring; } location ~ ^/(assets|images|javascripts|stylesheets|swfs|system)/ { expires max; add_header Cache-Control public; } }
将path-to-public-dir更改为静态文件所在的目录(resources/public).Nginx将服务器静态文件(如果找到文件)并将其他请求转发给响铃服务器.