-
Notifications
You must be signed in to change notification settings - Fork 245
snappass with nginx uwsgi
Yevgeny Kosarzhevsky edited this page May 25, 2020
·
2 revisions
Install snappass with nginx/uwsgi
On Debian-based Linux:
- Install required packages:
apt-get --no-install-recommends install python3-pip python3-setuptools python3-wheel uwsgi uwsgi-plugin-python3 nginx nginx-light redis
- Install snappass:
pip3 install snappass
- Add somewhere to nginx (like /etc/nginx/sites-enabled/default):
location /snappass {
alias /usr/local/lib/python3.7/dist-packages/snappass/static/;
try_files $uri @snappass;
}
location @snappass {
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/app/snappass/socket;
}
- Create file /etc/uwsgi/apps-available/snappass.ini:
[uwsgi]
master = true
procname = uwsgi-snappass
procname-master = uwsgi-snappass-master
manage-script-name = true
plugin = python3
processes = 2
wsgi-file = /usr/local/lib/python3.7/dist-packages/snappass/main.py
callable = app
mount = /snappass=/usr/local/lib/python3.7/dist-packages/snappass/main.py
env = REDIS_URL=unix:///run/redis/redis.sock?db=0
env = SECRET_KEY=mysecret
env = NO_SSL=1
env = URL_PREFIX=/snappass
- Enable snappass:
(cd /etc/uwsgi/apps-enabled; ln -s ../apps-available/snappass.ini .)
- Edit /etc/redis/redis.conf:
protected-mode yes
port 0
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /var/run/redis/redis-server.pid
loglevel notice
logfile /var/log/redis/redis-server.log
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /var/lib/redis
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
unixsocket /run/redis/redis.sock
unixsocketperm 660
- Add uwsgi user to redis group:
adduser www-data redis
- Restart services:
for i in redis-server uwsgi nginx; do invoke-rc.d $i restart; done
- Visit your snappass at http://localhost/snappass