Created
April 20, 2012 21:24
-
-
Save pyh/2431987 to your computer and use it in GitHub Desktop.
Our mogilefs nginx configs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
location /dev1 { | |
client_body_temp_path /var/mogdata/dev1; | |
} | |
location /dev2 { | |
client_body_temp_path /var/mogdata/dev2; | |
} | |
location /dev3 { | |
client_body_temp_path /var/mogdata/dev3; | |
} | |
location /dev4 { | |
client_body_temp_path /var/mogdata/dev4; | |
} | |
location /dev5 { | |
client_body_temp_path /var/mogdata/dev5; | |
} | |
location /dev6 { | |
client_body_temp_path /var/mogdata/dev6; | |
} | |
location /dev7 { | |
client_body_temp_path /var/mogdata/dev7; | |
} | |
location /dev8 { | |
client_body_temp_path /var/mogdata/dev8; | |
} | |
location /dev9 { | |
client_body_temp_path /var/mogdata/dev9; | |
} | |
location /dev10 { | |
client_body_temp_path /var/mogdata/dev10; | |
} | |
location /dev11 { | |
client_body_temp_path /var/mogdata/dev11; | |
} | |
location /dev12 { | |
client_body_temp_path /var/mogdata/dev12; | |
} | |
location /dev13 { | |
client_body_temp_path /var/mogdata/dev13; | |
} | |
location /dev14 { | |
client_body_temp_path /var/mogdata/dev14; | |
} | |
location /dev15 { | |
client_body_temp_path /var/mogdata/dev15; | |
} | |
location /dev16 { | |
client_body_temp_path /var/mogdata/dev16; | |
} | |
location /dev17 { | |
client_body_temp_path /var/mogdata/dev17; | |
} | |
location /dev18 { | |
client_body_temp_path /var/mogdata/dev18; | |
} | |
location /dev19 { | |
client_body_temp_path /var/mogdata/dev19; | |
} | |
location /dev20 { | |
client_body_temp_path /var/mogdata/dev20; | |
} | |
location /dev21 { | |
client_body_temp_path /var/mogdata/dev21; | |
} | |
location /dev22 { | |
client_body_temp_path /var/mogdata/dev22; | |
} | |
location /dev23 { | |
client_body_temp_path /var/mogdata/dev23; | |
} | |
location /dev24 { | |
client_body_temp_path /var/mogdata/dev24; | |
} | |
location /dev25 { | |
client_body_temp_path /var/mogdata/dev25; | |
} | |
location /dev26 { | |
client_body_temp_path /var/mogdata/dev26; | |
} | |
location /dev27 { | |
client_body_temp_path /var/mogdata/dev27; | |
} | |
location /dev28 { | |
client_body_temp_path /var/mogdata/dev28; | |
} | |
location /dev29 { | |
client_body_temp_path /var/mogdata/dev29; | |
} | |
location /dev30 { | |
client_body_temp_path /var/mogdata/dev30; | |
} | |
location /dev31 { | |
client_body_temp_path /var/mogdata/dev31; | |
} | |
location /dev32 { | |
client_body_temp_path /var/mogdata/dev32; | |
} | |
location /dev33 { | |
client_body_temp_path /var/mogdata/dev33; | |
} | |
location /dev34 { | |
client_body_temp_path /var/mogdata/dev34; | |
} | |
location /dev35 { | |
client_body_temp_path /var/mogdata/dev35; | |
} | |
location /dev36 { | |
client_body_temp_path /var/mogdata/dev36; | |
} | |
location /dev37 { | |
client_body_temp_path /var/mogdata/dev37; | |
} | |
location /dev38 { | |
client_body_temp_path /var/mogdata/dev38; | |
} | |
location /dev39 { | |
client_body_temp_path /var/mogdata/dev39; | |
} | |
location /dev40 { | |
client_body_temp_path /var/mogdata/dev40; | |
} | |
location /dev41 { | |
client_body_temp_path /var/mogdata/dev41; | |
} | |
location /dev42 { | |
client_body_temp_path /var/mogdata/dev42; | |
} | |
location /dev43 { | |
client_body_temp_path /var/mogdata/dev43; | |
} | |
location /dev44 { | |
client_body_temp_path /var/mogdata/dev44; | |
} | |
location /dev45 { | |
client_body_temp_path /var/mogdata/dev45; | |
} | |
location /dev46 { | |
client_body_temp_path /var/mogdata/dev46; | |
} | |
location /dev47 { | |
client_body_temp_path /var/mogdata/dev47; | |
} | |
location /dev48 { | |
client_body_temp_path /var/mogdata/dev48; | |
} | |
location /dev49 { | |
client_body_temp_path /var/mogdata/dev49; | |
} | |
location /dev50 { | |
client_body_temp_path /var/mogdata/dev50; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
upstream mogilefsd { | |
server 127.0.0.1:47075; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
user www-data; | |
worker_processes 16; | |
error_log /var/log/nginx/error_log crit; | |
pid /var/run/nginx.pid; | |
events { | |
worker_connections 1024; | |
} | |
http { | |
include /usr/local/etc/mime.types; | |
default_type ""; | |
access_log /var/log/nginx/access_log; | |
sendfile on; | |
#keepalive_timeout 0; | |
keepalive_timeout 65; | |
tcp_nodelay on; | |
gzip on; | |
# mogilefsd upstream | |
include /usr/local/etc/nginx-mogilefsd-upstream.conf; | |
# Outer MogileFS-Nginx replacement: | |
# The purpose of the server setting below was to replace the default front-end server that | |
# came with MogileFS via mogtool with a Nginx 3rd party module nginx_mogilefs_module | |
# ref: https://github.com/pyh/nginx-mogilefs-module | |
server { | |
listen 80; | |
client_max_body_size 5G; | |
client_body_buffer_size 25M; | |
access_log /var/log/nginx/front-end.log; | |
# error_log /var/log/nginx/front-end-error.log debug; | |
proxy_hide_header Content-Type; | |
proxy_buffering off; | |
proxy_intercept_errors on; | |
mogilefs_connect_timeout 5s; | |
mogilefs_send_timeout 5s; | |
mogilefs_read_timeout 30s; | |
location ~ ^/([\w._]+)/([\w._]+)/(.+)$ { | |
set $domain $1; | |
set $class $2; | |
set $key $3; | |
mogilefs_tracker mogilefsd; | |
mogilefs_methods GET PUT DELETE; | |
mogilefs_domain $domain; | |
mogilefs_class $class; | |
mogilefs_noverify on; | |
mogilefs_pass $key { | |
proxy_pass $mogilefs_path; | |
recursive_error_pages on; | |
error_page 404 502 503 504 = @try_again1; | |
} | |
} | |
location @try_again1 { | |
if ($mogilefs_path1 = "") { | |
return 404; | |
} | |
proxy_pass $mogilefs_path1; | |
error_page 404 502 503 504 = @try_again2; | |
} | |
location @try_again2 { | |
mogilefs_tracker mogilefsd; | |
mogilefs_methods GET PUT DELETE; | |
mogilefs_domain $domain; | |
mogilefs_class $class; | |
mogilefs_pass $key { | |
proxy_pass $mogilefs_path; | |
} | |
} | |
location /nginx_status { | |
stub_status on; | |
access_log off; | |
allow 127.0.0.1; | |
deny all; | |
} | |
} | |
# Inner Replacement of Mogstored: | |
# In addition to replacing the front-end for Mogile we decided to replace this backend interface | |
# that utilized mogstored. What we were noticing was that larger files were not being written | |
# to the file system and so we opted to go with a Nginx/WebDav implementation instead. | |
server { | |
listen 8888; | |
client_max_body_size 5G; | |
client_body_buffer_size 25M; | |
server_name localhost; | |
access_log /var/log/nginx/back-end.log; | |
# error_log /var/log/nginx/back-end-error.log debug; | |
charset utf-8; | |
root /var/mogdata; | |
create_full_put_path on; | |
dav_methods PUT MKCOL DELETE; | |
dav_access user:rw group:rw all:r; | |
include /usr/local/etc/device-mappings.conf; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment