@Carl đề cập đến điều này trong nhận xét của anh ấy, vì vậy tôi sẽ chỉ định quy trình của tôi với hy vọng rằng nó hữu ích cho bạn. Đây là các bước trên Linux Debian với nginx là máy chủ.
- cài đặt
nginx
với apt-get install nginx
- tạo ra một tập tin tại
/etc/nginx/sites-available/your-app-name
chứa
.
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;
}
}
- khởi động lại máy chủ của bạn với
/etc/init.d/nginx restart
- bắt đầu ứng dụng Happstack của bạn, và chắc chắn rằng nó được lắng nghe trên cổng
3000
(hoặc thay thế các cổng thích hợp trong location
)
tôi sử dụng chiến thuật này để triển khai hầu hết các ứng dụng web của tôi, ngoại trừ các ứng dụng dựa trên Erlang; Tôi tin tưởng Yaws để tự xử lý. Rõ ràng một số người đang xem xét cùng một điều with warp, nhưng tôi không biết đủ về điều đó để bình luận. Cách tiếp cận proxy ngược lại sẽ hoạt động miễn là ngôn ngữ bạn đang chạy có thể phản hồi các yêu cầu HTTP, đó là đặt cược tốt hơn so với đếm trên (fast)?CGI
hoặc mod_.*?
thích hợp.
Nginx được chọn làm máy chủ vì nó là faster than the alternatives at serving static files (khá nhiều tất cả những gì nó đang làm trong trường hợp này) và bởi vì tôi thấy nó rất dễ cấu hình. Đó là một sở thích không phải là một quy tắc. Bạn có thể có thể sử dụng Apache hoặc Lighttpd hoặc bất cứ điều gì trong cùng một cách, nhưng tôi sẽ để lại lời giải thích đó cho một người nào đó có kinh nghiệm hơn với nó.
Tiêu chuẩn trên hầu hết vũ trụ đang sử dụng proxy ngược nginx, những ngày này. – Carl
Nói chung tôi chỉ có xu hướng sử dụng máy chủ web nội trang của happstack, điều đó là đủ cho hầu hết các trường hợp. –