Базовые настройки сервера на Debian
- Обновить пакеты:
apt-get update; apt-get upgrade;
- Поставить русскую локаль:
dpkg-reconfigure locales
выбрать en_US.UTF-8 и ru_RU.UTF-8 - Создаем пользователя:
adduser admin
- Авторизуемся под новым пользователем:
su admin
- Настраиваем подключение по SSH
mkdir .ssh
cd .ssh
сюда сохраняем публичный ключ машины с которой будем авторизоваться
nano authorized_keys -
nano /etc/hostname -
прописываем имя хоста (имя которое будет отображаться при подключении)
Прописываем настройки в sshd_config:
nano /etc/ssh/sshd_config
ClientAliveInterval 60 TCPKeepAlive yes ClientAliveCountMax 10000 PermitRootLogin no MaxAuthTries 3 PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys # PasswordAuthentication no в зависимости задавался ли пароль пользователя ChallengeResponseAuthentication no UsePAM yes X11Forwarding yes PrintMotd no AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server
рестартуем
/etc/init.d/ssh restart
-
По желанию/необходимости ставим версию Python отличную от поставленой из "коробки" в Debian
-
Получение сертификата HTTPS (A+ SSL)
Устанавливаем Certbot:
apt-get install certbot
certbot certonly --standalone
-
Настраиваем Nginx, дока тут
Устанавливаем необходимые пакеты:
apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
Теперь нужно импортировать официальный ключ, используемый apt для проверки подлинности пакетов. Скачайте ключ:
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
Для подключения apt-репозитория для стабильной версии nginx, выполните следующую команду:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Обновляем пакеты и устанавливаем Nginx:
apt-get update
apt-get install nginx
systemctl start nginx
При изменениях в конфигурации делатьsystemctl reload nginx
-
Настройка Gunicorn
Устанавливаем -pip install gunicorn
Прописываем настройки daemon gunicorn.service:
nano /etc/systemd/system/gunicorn.service
Description=gunicorn daemon After=network.target [Service] # имя под которым подключались к серверу User=your_username # адрес к директории, где лежит manage.py WorkingDirectory=/home/your_username/<>/<>/ # адрес к директории где находится gunicorn в виртуальном окружении ExecStart=/home/your_username/<>/venv/bin/gunicorn --bind 127.0.0.1:8000 your_project_name.wsgi:application [Install] WantedBy=multi-user.target
Запускаем daemon gunicorn:
systemctl start gunicorn
Активация службы (автоматически запускается при запуске сервера):
systemctl enable gunicorn.service
При изменениях в проекте необходимо делатьsystemctl reastart gunicorn.service