[英]How to serve Clojure pages with nginx
我用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將服務器靜態文件(如果找到文件)並將其他請求轉發給響鈴服務器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.