我似乎无法找到有关此主题的任何文档,任何博客或其他资源。
From what I have seen so far there seems to be support for FastCGI
但该项目已有4年的承诺。然后可能会使用mod_proxy
。也许您可以将Happstack应用程序作为守护程序运行,该守护程序可以自行处理所有请求。
我只是在这里猜测,看看有经验的人说的真是太好了!
答案 0 :(得分:5)
apt-get install nginx
nginx
/etc/nginx/sites-available/your-app-name
处创建包含。
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;
}
}
/etc/init.d/nginx restart
3000
(或替换location
中的相应端口)我使用这种策略来部署我的大多数网络应用程序,除了基于Erlang的应用程序;我相信雅司会处理自己。显然有些人正在考虑同样的事情with warp,但我不太了解这一点。只要您运行的语言能够响应HTTP请求,反向代理方法就会起作用,这比依靠(fast)?CGI
或适当的mod_.*?
更好。
Nginx被选为服务器,因为它是faster than the alternatives at serving static files(在这种情况下几乎就是它所做的全部),因为我发现配置非常简单。这是一种偏好而非规则。您可能会以相同的方式使用Apache或Lighttpd或其他任何东西,但我会将该解释留给更有经验的人。