我似乎找不到关于这个主题的任何文档、任何博文或其他资源。
从我目前看到的情况来看,似乎有支持,FastCGI
但该项目已经 4 年没有提交了。然后mod_proxy
可能可以使用。也许您可以将 Happstack 应用程序作为一个守护进程运行,它自己处理所有请求。
我只是在这里猜测,很高兴看到有经验的人怎么说!
我似乎找不到关于这个主题的任何文档、任何博文或其他资源。
从我目前看到的情况来看,似乎有支持,FastCGI
但该项目已经 4 年没有提交了。然后mod_proxy
可能可以使用。也许您可以将 Happstack 应用程序作为一个守护进程运行,它自己处理所有请求。
我只是在这里猜测,很高兴看到有经验的人怎么说!
@Carl 在他的评论中提到了这一点,因此我将指定我的流程,希望它对您有用。这些是使用 nginx 作为服务器的 Debian linux 上的步骤。
nginx
_apt-get install 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 的应用程序;我相信 Yaws 会自行处理。显然有些人正在考虑与 warp相同的事情,但我对此知之甚少,无法发表评论。只要您运行的语言能够响应 HTTP 请求,反向代理方法就可以工作,这比依靠(fast)?CGI
或适当的mod_.*?
.
选择 Nginx 作为服务器是因为它比提供静态文件的替代方案更快(这几乎是它在这种情况下所做的一切),而且我发现它非常容易配置。这是偏好而非规则。您可能可以以相同的方式使用 Apache 或 Lighttpd 或其他任何东西,但我会将这个解释留给更有经验的人。