Установка и настройка домена для сайта Django на VPS

👁 67 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

После того, как проект готов, нужно, чтобы им можно пользоваться через доменное имя второго или третьего уровня project.mydomen.ru или mydomen.ru.

На самом деле, нет разницы какого уровня будет домен. В данном примере условимся, что нам нужен субдомен нашего домена выделить под проект на Django. Если он будет третьего уровня, то надо будет дописать в DNS — редакторе регистратора запись CNAME именем project и www.project со значениями mydomen.ru. 

Пример создания субдомена в DNS в панели регистратора домена
Пример создания субдомена в DNS в панели регистратора домена. Обратите внимание на точку в конце значения.

 

Замечание. Не забываем, что если даже NS — сервера вы добавили к вашему домену регистратора, то это не полностью означает, что этот домен уже будет прикреплен к вашему VPS. Вторым шагом после этого является создание со стороны VPS доменной зоны под этот домен и субдомен. Если домен куплен там же, где VPS, то , в большинстве этот процесс должен быть автоматизирован, но не факт.

Далее у нас может быть несколько случаев развития событий:

  • у нас в системе установлена какая-то готовая панель, на подобие VestaCP, в который уже входит нужный инструментарий;
  • нам нужно ставить все сервисы и пакеты с нуля.

Разберем оба варианта. В случае панели управления покажу как это делать с VestaCP.

Замечание. С установкой Nginx и с работой вспомогательных утилит для стабильной работы проекта Django на продакшн мы уже сталкивались в Деплой проекта Django в продакшн с Nginx + Gunicorn + Supervisor. В данном статье повторим путь с уклоном на понимание процесса прикрепления домена к проекту, если нам не нужен VestaCP.

Установка домена под проект Django, используя VestaCP

VestaCP уже содержит сервер Nginx, который нам будет нужен, чтобы перенаправить все запросы к нашему проекту на Django.

1. Создаем новый WEB- сайт в панели VestaCP

Создание нового WEB-проекта
Создание нового WEB-проекта

2. Редактируем конфигурационный файл Nginx по пути /home/<user>/web/conf/web/project.mydomen.ru.nginx.conf

Меняем содержимое, на подобие ниже и не забываем прописывать данные своего проекта. Порт текущего проекта 8001, если у вас другой — меняем на свой

server {
    #Все обращения на 80-м порту Nginx будет проверять
    #на соответствие нашему субдомену проекта
    listen      IP_ADRESS_OF_MY_VPS:80;
    server_name project.mydomen.ru www.project.mydomen.ru;
    error_log  /var/log/apache2/domains/project.mydomen.ru.error.log error;
	
    #Указываем путь к папке, где будут храниться статические данные сайта
    location /static/ {
        root /home/myprojectenv/project/;#Путь к папке проекта
        expires 30d;
    }
	
    #Указываем IP адрес проекта и порт, на котором он запущен.
    location / {
        proxy_pass      http://IP_ADRESS_OF_MY_VPS:8001;
        proxy_set_header Host $server_name;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    #Обработка ошибок
    location /error/ {
        alias   /home/admin/web/project.mydomen.ru/document_errors/;
    }

    location @fallback {
        proxy_pass      http://IP_ADRESS_OF_MY_VPS:8001;
    }

    location ~ /\.ht    {return 404;}
    location ~ /\.svn/  {return 404;}
    location ~ /\.git/  {return 404;}
    location ~ /\.hg/   {return 404;}
    location ~ /\.bzr/  {return 404;}

    include /home/admin/conf/web/nginx.project.mydomen.ru.conf*;
}

 

3. Перезапускаем сервер Nginx в панели VestaCP

Перзапуск сервера Nginx
Перезапуск сервера Nginx

Далее заходим по адресу project.mydomen.ru и убеждаемся, что по нему открывается наш проект на Django.

 

Установка домена под проект Django, используя только Nginx.

Ставим Nginx

sudo apt-get install nginx

Теперь идем и настраиваем Nginx по пути в файле

cd /etc/nginx/sites-available/

открываем файлик default

nano default

и перепишем некоторые моменты, как ниже

server {
    listen 80;
    server_name project.mydomen.ru;
    access_log  /var/log/nginx/example.log;

    location /static/ {
        root /home/myprojectenv/project/;
        expires 30d;
    }

    location / {
        proxy_pass http://IP_ADRESS_OF_MY_VPS:8001; 
        proxy_set_header Host $server_name;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
  }

сохраняем и выходим.

Выполняем перезапуск Nginx, чтобы изменения вступили в силу

sudo service nginx restart

Заходим по адресу project.mydomen.ru и проверяем. Если не сработало, то читаем статью, которая тесно с этим пунктом связана.

Если вы случайно сломали или удалили MySQL в составе VestaCP на Ubuntu

👁 47 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Восстановление MySQL в Vesta CP

Если проблема возникла по неосторожности, то попробуйте так:

apt-get --purge remove mysql-common
apt-get install mysql-server

 

Удаление и замена MySQL на MariaDB

в Vesta CP

Если MySQL не хочет, то можно пробовать использовать MariaDB. Базы данных при этом сохраняются и автоматически импортируются

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install mariadb-server

 

Восстановление сайтов из Backup-ов

Это крайни и долгий процесс, особенно, если у вас на одном серваке много сайтов

Установка Vesta CP на дистрибутив Linux

👁 114 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Описание

Vesta CP — это свободное ПО и хорошая альтернатива платному ISPManager, которое предназначено для организация панели управления на голом VDS/VPS со всем необходимым инструментарием для запуска и управления WEB — проектами на PHP/MySQL.

Vesta CP обладает всеми возможностями для удобной и быстрой работы, без необходимости «ручной» правки конфигурационных файлов, конечно, если нужна тонкая настройка, то придется лезть в эти настройки. После инсталляции «из коробки» поддерживаются:

  • Apache+nginx в качестве вэбсервера;
  • DNS-сервер;
  • Почтовый сервер, включая настройку DKIM, спамфильтров и антивируса;
  • Стабильная версия PHP;
  • Система управления базами данных MySQL 5.5;
  • Встроенные функции работы с резервными копиями;
  • Планировщик задач (cron);
  • Мониторинг нагрузки сервера;
  • Быстрый, многоязычный интерфейс.

 

Установка Vesta CP на Ubuntu

Процесс инсталляции панели очень прост и выполнить его под силу даже новичку. Для начала, нужно определиться с операционной системой — Vesta CP успешно работает на Centos, Ubuntu и Debian. В данном случае установим на Ubuntu 16.

Итак, вы заказали VPS/VDS или выделенный сервер и получили параметры доступа к нему — IP-адрес и пароль суперпользователя root. С помощью любого ssh-клиента (пользователи Windows обычно выбирают PuTTY) подключаемся к нашему серверу и выполняем следующие команды:

curl -O http://vestacp.com/pub/vst-install.sh
bash vst-install.sh

Первой командой скачиваем скрипт установки, а второй выполняем установки на основании сценария в скрипте установки.

Vesta самостоятельно инсталлирует необходимые серверные приложения и по времени займет до 15 минут, конечно, в реале 2-3 раза меньше. По окончании установки панель выдаст сообщение о готовности:

Congratulations, you have just successfully installed the Vesta Control Panel

You can login in Vesta with following credentials:
    username: admin
    password: XXXXXXXX
    https://1.2.3.4:8083

Для входа в панель нужно набрать адрес своего сервера с портом 8083 и вбить логин admin с паролем, который высветится по окончании. Эти же данные будут отправлены на почту, которую вы введет в процессе установки.

Где расположены все конфигурационные файлы панели управления Vesta в linux

👁 102 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Apache

/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/status.conf
/etc/httpd/conf.d/ssl.conf
/etc/logrotate.d/httpd
/etc/httpd/conf.d/mod_extract_forwarded.conf
/etc/httpd/conf.d/proxy_ajp.conf
/etc/httpd/conf.d/vesta.conf
/var/log/httpd/access_log
/var/log/httpd/error_log
/var/log/httpd/suexec.log
/var/log/httpd/domains

Nginx

/etc/nginx/nginx.conf
/etc/nginx/conf.d/status.conf
/etc/nginx/conf.d/vesta_ip.conf
/etc/nginx/conf.d/vesta_users.conf

Vsftpd

/etc/vsftpd/vsftpd.conf

MySQL

/etc/my.cnf

Хранение пароля от MySQL

/usr/local/vesta/conf/mysql.conf

Bind

/etc/named.conf

Exim

/etc/exim/exim.conf
/etc/exim/dnsbl.conf
/etc/exim/spam-blocks.conf
/etc/exim/domains
/etc/alternatives/mta

Dovecot

/etc/dovecot.conf

ClamAV

/etc/clamd.conf
/etc/freshclam.conf
/usr/bin/freshclam

PHP

/etc/php.ini

phpMyAdmin

/etc/httpd/conf.d/phpMyAdmin.conf
/etc/phpMyAdmin/config.inc.php

Roundcube

/etc/httpd/conf.d/roundcubemail.conf
/etc/roundcubemail/main.inc.php
/etc/roundcubemail/db.inc.php
/usr/share/roundcubemail/plugins/password/drivers/vesta.php
/usr/share/roundcubemail/plugins/password/config.inc.php

Vesta

/etc/profile.d/vesta.sh
/etc/logrotate.d/vesta

Файлы конфигураций конкретных сайтов

include %home%/%user%/conf/web/nginx.%domain%.conf*;
include %home%/%user%/conf/web/httpd.%domain%.conf*
 

%home% — домашняя папка пользователей
%user% — папка пользователя
%domain% — домен этого пользователя

Каталоги

Vesta устанавливается в директорию

/usr/local/vesta/

MySQL root пароль

/usr/local/vesta/conf/mysql.conf