[uwsgi] http = :8080 processes = %(eva_app_processes) offload-threads = %(eva_app_offload_threads) mimefile = /etc/mime.types # Plugins Static Allow Access # Allow real path with resolved symlinks static-safe = /mnt/shared/config/eva-app/plugins # For vm: static-safe = /opt/eva-app/custom/plugins # route-uri = (.*) log:Request %n URI: $1 # route = (.*) log:Request %n: $1 if-not-opt = base_href= # route = ^(?!%(base_href))(/.*) log:Router %n redirect $1 -> %(base_href)$1 route = ^(?!%(base_href))(/.*) redirect-permanent:%(base_href)$1 # route = ^%(base_href)(/.*) log:Router %n rewrite => $1 route = ^%(base_href)(/.*) rewrite:$1 endif = check-static = custom/static/ check-static = common/static/ check-static = cmf/static/ check-static = dist/cmf-angular/ # route = ^/notfound break:404 Not Found route = ^/socket.io/.* uwsgi:/tmp/uwsgi-eva-app-socketio.sock,0,0 # https://eva.my.local/plugins/votes/static/hello.txt -> /opt/eva-app/custom/plugins/votes/static/ route = ^/plugins/([^/]+)/static/(.*) static:/opt/eva-app/custom/plugins/$1/static/$2 route = ^/plugins/(?!servlet/mobile$).* break:404 Not Found # 8 часов * 100 пользователей + небольшой запас. По идее в будущем здесь ещё от SLA рулиться можно. max-requests = 3000000 # 8 часов: 8 * 3600 max-worker-lifetime = 28800 reload-on-rss = %(eva_app_reload_on_rss) # помираем чуть быстрее, всё равно зависли, наибольшая потенциальная проблема - потеря данных (не закоммитимся) worker-reload-mercy = 10 gevent = 50 http-websockets = true die-on-term = true vacuum = true need-app = true # loglevel = info logto = /var/log/uwsgi-%n.log buffer-size = 32768 # настройки app include = /opt/eva-app/uwsgi-eva-app.ini