@Carl erwähnt dies in seinem Kommentar, also werde ich meinen Prozess in den Hoffnungen spezifizieren, dass es für Sie nützlich ist. Dies sind die Schritte auf Debian Linux mit nginx als Server.
- installieren
nginx
mit apt-get install nginx
- eine Datei auf
/etc/nginx/sites-available/your-app-name
enthält, erstellen.
server {
listen 80;
server_name your-app.com www.your-app.com your-app.ca;
rewrite .*/favicon.ico /img/favicon.ico last;
location ~ ^/(css|js|img|html)/ {
root /path/to/your/static/resource/folder;
expires 30d;
}
location/{
proxy_pass http://localhost:3000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
- Neustart des Servers mit
/etc/init.d/nginx restart
- Ihre Happstack App starten, und stellen Sie sicher, dass es auf dem Port lauscht
3000
(oder ersetzen Sie den entsprechenden Port in der location
)
Ich benutze diese Taktik die meisten meiner Web-Apps zu implementieren, mit Ausnahme der Erlang-basierten; Ich vertraue Yaws, sich selbst zu behandeln. Anscheinend denken einige Leute über dasselbe nach: with warp, aber ich weiß nicht genug darüber, um zu kommentieren. Der Reverse-Proxy-Ansatz funktioniert so lange, wie die Sprache, die Sie ausführen, auf HTTP-Anfragen reagieren kann, was eine bessere Wette ist als das Zählen auf (fast)?CGI
oder die entsprechende mod_.*?
.
Nginx wird als Server gewählt, weil es faster than the alternatives at serving static files ist (was in diesem Fall ziemlich viel ist), und weil ich es wirklich einfach zu konfigurieren finde. Das ist eine Präferenz, keine Regel. Du könntest wahrscheinlich Apache oder Lighttpd oder was auch immer auf die gleiche Weise verwenden, aber ich werde diese Erklärung jemandem geben, der damit mehr Erfahrung hat.
Der Standard in den meisten Teilen des Universums verwendet heutzutage einen Nginx Reverse Proxy. – Carl
Im Allgemeinen tendiere ich dazu, den eingebauten Webserver von happstack zu verwenden, was für die meisten Fälle ausreicht. –