@Carl ne parla nel suo commento, quindi specificherò il mio processo nella speranza che sia utile per voi. Questi sono i passi su Debian linux con nginx come server.
- installare
nginx
con apt-get install nginx
- creare un file a
/etc/nginx/sites-available/your-app-name
contenente
.
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;
}
}
- riavviare il server con
/etc/init.d/nginx restart
- iniziare la Happstack app, e assicurarsi che sia in ascolto sulla porta
3000
(o sostituire la porta appropriata nel location
)
Io uso questa tattica distribuire la maggior parte delle mie app Web, ad eccezione di quelle basate su Erlang; Mi fido di Yaws per gestire se stesso. Apparentemente alcune persone stanno considerando la stessa cosa with warp, ma non ne so abbastanza per commentare. L'approccio del reverse proxy funzionerà fintanto che la lingua che stai utilizzando è in grado di rispondere alle richieste HTTP, che è una scommessa migliore del conteggio allo (fast)?CGI
o allo mod_.*?
appropriato.
Nginx viene scelto come server perché è faster than the alternatives at serving static files (che è praticamente tutto ciò che sta facendo in questo caso) e perché lo trovo davvero facile da configurare. Questa è una preferenza, non una regola. Probabilmente potresti usare Apache o Lighttpd o qualsiasi altra cosa allo stesso modo, ma lascerò questa spiegazione a qualcuno più esperto con esso.
Lo standard su gran parte dell'universo utilizza un proxy inverso di nginx, in questi giorni. – Carl
Generalmente tendo a utilizzare il web server integrato di happstack, questo è sufficiente per la maggior parte dei casi. –