1 changed files with 56 additions and 0 deletions
			
			
		| @ -0,0 +1,56 @@ | |||||||
|  | #+title: Проект блога на Django | ||||||
|  | 
 | ||||||
|  | * Как это работает | ||||||
|  | Демка доступна по адресу: [[django.foxyparadoxy.xyz]] | ||||||
|  | 
 | ||||||
|  | Все запущенно на debian сервере. За проксирование отвечает Nginx (за ssl серты - certbot). | ||||||
|  | 
 | ||||||
|  | Postgres база поднята как docker-контейнер. За это отвечает systemd сервис. | ||||||
|  | #+name /etc/systemd/system/docker.postgres.service | ||||||
|  | #+begin_src shell | ||||||
|  | [Unit] | ||||||
|  | Description=Service for running Postgres docker container for django | ||||||
|  | After=docker.service | ||||||
|  | 
 | ||||||
|  | [Service] | ||||||
|  | ExecStart=/usr/bin/docker run -it --rm --mount \ | ||||||
|  |         source=postgres-data,target=/var/lib/postgresql/data \ | ||||||
|  |         --name postgres-dj \ | ||||||
|  |         -p 5432:5432 \ | ||||||
|  |         -e POSTGRES_PASSWORD=5207503265 \ | ||||||
|  |         -d postgres | ||||||
|  | Restart=always | ||||||
|  | 
 | ||||||
|  | [Install] | ||||||
|  | WantedBy=multi-user.target | ||||||
|  | #+end_src | ||||||
|  | 
 | ||||||
|  | Сам же django запускается через gunicorn. Обертка прописана в bash скрипт. | ||||||
|  | #+name bin/start_gunicorn.sh | ||||||
|  | #+begin_src shell | ||||||
|  |   export PGSERVICEFILE="/home/www/django/pg_service.conf" | ||||||
|  |   . /home/www/django/venv/bin/activate | ||||||
|  |   exec gunicorn  -c "/home/www/django/blog/gunicorn_config.py" blog.wsgi | ||||||
|  | #+end_src | ||||||
|  | 
 | ||||||
|  | За работой gunicorn следит еще один systemd сервис: | ||||||
|  | #+name /etc/systemd/system/gunicorn.django.service | ||||||
|  | #+begin_src shell | ||||||
|  |   [Unit] | ||||||
|  |   Description=Service for running django site with gunicorn. Depends of Postgres service. | ||||||
|  |   After=docker.service | ||||||
|  |   Wants=docker.postgres.service | ||||||
|  | 
 | ||||||
|  |   [Service] | ||||||
|  |   ExecStart=/home/www/django/bin/start_gunicorn.sh | ||||||
|  |   Restart=always | ||||||
|  | 
 | ||||||
|  |   [Install] | ||||||
|  |   WantedBy=multi-user.target | ||||||
|  | #+end_src | ||||||
|  | 
 | ||||||
|  | Оба systemd сервиса добавлены в автозагрузку. | ||||||
|  | 
 | ||||||
|  | * Фичи | ||||||
|  | ** Комментарии с псевдорегистрацией | ||||||
|  | При комменте можно ввести "секрет" - строку, хэш которой сохранится в базе. После этого ник комментатора будет выделен зеленым цветом - он становится подтвержденным. Таким образом пользователи сохраняющие (от комментария к комментарию) пару "ник:секрет" могут считаться подтвержденными. | ||||||
					Loading…
					
					
				
		Reference in new issue