Ho la sensazione che mi sia sfuggita qualcosa di ovvio qui, ma non so da dove cominciare a cercare.404s quando si distribuisce una guerra noir al molo sulla spremuta
Ho un app noir fresco, creato nel seguente modo:
$ lein noir new hiworld
aggiungo un nuovo gestore pagina src/hiworld/server.clj:
(ns hiworld.server
(:require [noir.server :as server]))
(server/load-views "src/hiworld/views/")
(def handler (server/gen-handler {:mode :dev
:ns 'hiworld}))
ho creato project.clj per anello:
(defproject hiworld "0.1.0-SNAPSHOT"
:description "FIXME: write this!"
:dependencies [[org.clojure/clojure "1.3.0"]
[noir "1.2.2-SNAPSHOT"]]
:dev-dependencies [[lein-ring "0.5.4"]]
:ring {:handler hiworld.server/handler}
:main hiworld.server)
check funziona a livello locale:
$ lein deps
$ lein ring server-headless
# elsewhere
$ curl -I localhost:3000/welcome
HTTP/1.1 200 OK
Date: Mon, 20 Feb 2012 08:51:15 GMT
Set-Cookie: ring-session=ef00a7ad-2061-4026-9d94-3ed86ec8c46c;Path=/
Content-Type: text/html; charset=utf-8
Content-Length: 0
Server: Jetty(6.1.25)
costruisco una guerra:
$ lein ring uberwar
# builds hiworld-0.1.0-SNAPSHOT-standalone.war
Tutto bene finora. Ora, schiero al molo:
$ sudo apt-get install jetty libjetty-extra
$ sudo cp hiworld-0.1.0-SNAPSHOT-standalone.war /usr/share/jetty/webapps/root.war
$ sudo chown jetty:adm /usr/share/jetty/webapps/root.war
$ sudo mv /usr/share/jetty/webapps/root /usr/share/jetty/webapps/root-orig
$ sudo /etc/init.d/jetty restart
Ma:
$ curl -I localhost:8080/welcome
HTTP/1.1 404 Not Found
Date: Mon, 20 Feb 2012 08:59:27 GMT
Set-Cookie: ring-session=c255da15-6cbd-4d2c-8e17-9d120918bde9;Path=/
Content-Type: text/html; charset=utf-8
Content-Length: 363
Server: Jetty(6.1.24)
Cosa mi sono perso? Per quanto posso dire, dovrebbe essere tutto ciò che devo fare per distribuire una banale web-app al molo, ma evidentemente ho qualcosa di sbagliato qui. Non mi dispiace il riavvio, quindi non lo so penso Ho bisogno di definire il mio contesto - o io?
UPDATE
Ho seguito this sequenza di istruzioni per creare un semplice "ciao mondo" guerra non coinvolge clojure a tutti, e funziona come previsto, quindi sembrerebbe che c'è qualcosa che non Piuttosto bene con lo stack del clojure.
nuovamente aggiornato
ho creato la più semplice applicazione anello possibile come una guerra autonomo e distribuito esso. Questo ha funzionato, quindi sembra che sia qualcosa di noir specifico.
aggiornato un TERZA VOLTA
ho creato e implementato un'applicazione compojure ciao-mondo, che ha lavorato come previsto.