Skip to content

Instantly share code, notes, and snippets.

View saippuakauppias's full-sized avatar
🤔
/dev/random

Denis Veselov saippuakauppias

🤔
/dev/random
View GitHub Profile
@saippuakauppias
saippuakauppias / install.sh
Last active September 30, 2015 00:48 — forked from nyumatova/install.sh
Virtualenv
sudo apt-get -y install git
sudo apt-get -y install curl
sudo apt-get -y install python-dev
sudo apt-get -y install libjpeg8-dev
sudo apt-get -y install libfreetype6-dev
curl http://python-distribute.org/distribute_setup.py | sudo python
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | sudo python
sudo pip install virtualenv

Nginx+gunicorn

Схема работы в данном случае такая:

  1. Nginx является frontend-ом, и браузеры общаются именно с ним. Мультидоменной конфигурацией рулит именно Nginx. Приняв запрос он решает какому backend-у его пробросить.
  2. Gunicorn - это WSGI веб-сервер. Каждый django-проект запускается на отдельном инстансе гуникорна. Именно ему будут приходить запросы от nginx-а
  3. Чтобы Gunicorn неожиданно не упал, а точнее, чтобы поднялся, если неожиданно упадет, запускать его будем с помощью supervisor. Вообще, есть несколько вариантов, но пока разберем только этот.
@saippuakauppias
saippuakauppias / find_zyxel_nas.py
Created September 15, 2013 15:44 — forked from oxitnik/find_zyxel_nas.py
ZyXEL NSA325
import socket
host = ''
port = 50127
data = '\x00\x42\x02\x01\x40\x61\x86\xff\xbb\x97\x00\x14\xa9\xfe\x54\xb5\xff\xff\x00\x00'
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.bind((host, port))