gpt4 book ai didi

ruby-on-rails - Thin + Nginx + 上传模块 + 上传进度模块

转载 作者:行者123 更新时间:2023-12-04 06:34:20 24 4
gpt4 key购买 nike

我使用 Nginx 作为 Thin 实例的反向代理。

我的目标是建立一个 Rails (3) 应用程序来上传大文件并对其进行处理。

为此,我遇到了 Nginx 上传和上传进度模块。

我大部分时间都在阅读 this帖子,但那是专门写在乘客中的思考。

如果可能的话,我正在寻找两个可能的答案:

1)信息实现此堆栈的示例(使用 Thin 而不是乘客)

2)我如何重写这个的具体信息:

   location ^~ /progress {
# report uploads tracked in the 'proxied' zone
upload_progress_json_output;
report_uploads proxied;
}

location @fast_upload_endpoint {
passenger_enabled on;
rails_env development;
}

location / {
rails_env development;
passenger_enabled on;
}

我不知道什么是乘客专属,以及如何为典型的 4 个工作人员/3 个瘦实例配置编写它。

谢谢。

最佳答案

首先,您应该安装带有上传模块的 nginx。站点的 nginx 配置:

upstream uploader_cluster {
server unix:/tmp/thin.uploader.0.sock;
server unix:/tmp/thin.uploader.1.sock;
server unix:/tmp/thin.uploader.2.sock;
server unix:/tmp/thin.uploader.3.sock;
server unix:/tmp/thin.uploader.4.sock;
}

server {
listen 80;
server_name ***.com;

charset off;
client_max_body_size 1000m;

access_log /var/www/uploader/log/access.log;
error_log /var/www/uploader/log/error.log;

root /var/www/uploader/public;
index index.html;

location / {
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;

if (-f $request_filename/index.html) {
rewrite (.*) $1/index.html break;
}

if (-f $request_filename.html) {
rewrite (.*) $1.html break;
}

if (!-f $request_filename) {
proxy_pass http://uploader_cluster;
break;
}
}

location ~*uploads$ {
if ($request_method = GET) {
proxy_pass http://uploader_cluster;
break;
}

# pass request body to here
upload_pass @upload_photos;

# Store files to this directory
# The directory is hashed, subdirectories 0 1 2 3 4 5 6 7 8 9 should exist
# i.e. make sure to create /vol/uploads/0 /vol/uploads/1 etc.
upload_store /vol/uploads 1;

# set permissions on the uploaded files
upload_store_access user:rw group:rw all:r;

# Set specified fields in request body
# this puts the original filename, new path+filename and content type in the requests params
upload_set_form_field upload[file_name] "$upload_file_name";
upload_set_form_field upload[file_content_type] "$upload_content_type";
upload_set_form_field upload[file_path] "$upload_tmp_path";
upload_aggregate_form_field upload[file_size] "$upload_file_size";

upload_pass_form_field "^fb_sig_user$|^aid$|^batch_id$|^album_name$|^album_visible$|^caption$|^tags$|^complete$";

upload_cleanup 400 404 499 500-505;
}

location @upload_photos {
proxy_pass http://uploader_cluster;
}
}

关于ruby-on-rails - Thin + Nginx + 上传模块 + 上传进度模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5030669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com