Перейти к основному контенту

Как разместить проект на шаблоне

Приложение Django

Приложение Django предназначено для быстрого старта разработки на Django-framework.

Облачный сервер с приложением Django

Техническая информация о шаблоне Django

На сервере установлено:

  • Операционная система: Ubuntu 18.04
  • Веб-сервер: Nginx, gunicorn
  • СУБД: PostgreSQL 10
  • Python 3.6
  • Django 3

Запуск проекта настроен через сервис gunicorn осуществляется командой: sudo systemctl start gunicorn

В шаблоне есть настроенное виртуальное окружение django_project. Оно расположено в директории пользователя django: /home/django/django_env/

Как создать еще одно окружение Django

Если вам необходимо, можно создать еще одно окружение Django самостоятельно:

Переменные:
${POSTGRES_DB} - имя базы данных для нового проекта
${POSTGRES_USER} - пользователь базы данных для нового проекта
${POSTGRES_PASSWORD} - пароль пользователя базы данных
${USER} - системный пользователь, на котором хотите создать проект
${DOMAIN} - домен для нового проекта
  1. 1.
  2. 2.

    Создайте базу данных и пользователя для нового проекта. Выполните команду sudo -u postgres psql

    Затем по очереди выполните следующие команды, заменив названия в фигурных скобках на свои:

    CREATE DATABASE ${POSTGRES_DB};
    CREATE USER ${POSTGRES_USER} WITH PASSWORD '${POSTGRES_PASSWORD}';
    ALTER ROLE ${POSTGRES_USER} SET client_encoding TO 'utf8';
    ALTER ROLE ${POSTGRES_USER} SET default_transaction_isolation TO 'read committed';
    ALTER ROLE ${POSTGRES_USER} SET timezone TO 'Europe/Moscow';
    GRANT ALL PRIVILEGES ON DATABASE ${POSTGRES_DB} TO ${POSTGRES_USER};

    Введите \q для выхода.

  3. 3.

    Переключитесь на системного пользователя, под которым хотите создать проект:

    sudo su ${USER}

  4. 4.

    Создайте директорию, в которой будет размещено окружение:

    mkdir /home/${USER}/django_new_project

  5. 5.

    Перейдите в новую директорию:

    cd /home/${USER}/django_new_project/

    и создайте окружение:

    virtualenv django_new_env

  6. 6.

    Активируйте проект:

    source /home/${USER}/django_new_project/django_new_env/bin/activate

  7. 7.

    Установите фреймворк Django и необходимые пакеты:

    pip install django gunicorn psycopg2 psycopg2-binary

  8. 8.

    Запустите проект:

    django-admin.py startproject django_new_env /home/${USER}/django_new_project

  9. 9.

    Внесите изменения в конфигурационный файл:

    /home/${USER}/django_new_project/django_new_env/settings.py:
    
     Хосты
       ALLOWED_HOSTS = [ ‘$DOMAIN’ ]
     Доступ к БД
       DATABASES = {
    'default': {
                'ENGINE': 'django.db.backends.postgresql_psycopg2',
                'NAME': '${POSTGRES_DB}',
                'USER': '${POSTGRES_USER}',
                'PASSWORD': '${POSTGRES_PASSWORD}',
                'HOST': 'localhost',
                'PORT': '',
           }
    }

    В конце файла добавьте:

    STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
  10. 10.

    Создайте структуру БД, выполнив по очереди следующие команды:

    /home/${USER}/django_new_project/manage.py makemigrations

    /home/${USER}/django_new_project/manage.py migrate

    /home/${USER}/django_new_project/manage.py collectstatic

  11. 11.

    Создайте пользователя «Администратор» Django:

    /home/${USER}/django_new_project/manage.py createsuperuser

  12. 12.

    Деактивируйте проект и вернитесь в root-пользователя, чтобы перейти к дальнейшей настройке. Для этого последовательно введите команды:

    deactivate

    exit

  13. 13.

    Добавьте виртуальный хост для нового проекта. Например, можно скопировать уже имеющийся проект и перенастроить его:

    cp /etc/nginx/sites-available/какой-нибудь_уже_имеющийся_домен /etc/nginx/sites-available/${DOMAIN}

    Внесите изменения в файл /etc/nginx/sites-available/${DOMAIN}:

    server {
        listen 80;
        listen [::]:80;
    
        server_name ${DOMAIN};
    
        location / {
            include     proxy_params;
            proxy_pass  http://unix:/home/${USER}/django_new_project/django_new_env.sock;
        }
    
        location /static/ {
            root    /home/${USER}/django_new_project;
        }
    
        location = /favicon.ico {
            access_log      off;
            log_not_found   off;
        }
    }

    Включите виртуальный хост и перезапустите nginx:

    ln -s /etc/nginx/sites-available/${DOMAIN} /etc/nginx/sites-enabled/${DOMAIN}

    systemctl restart nginx.service

  14. 14.

    Для удобства можно добавить новый проект на автозапуск в виде сервиса, добавив файл /etc/systemd/system/new_gunicorn.service:

    [Unit]
    
     Description=gunicorn daemon
    
     After=network.target
    
     [Service]
     User=${USER}
     Group=${USER}
     WorkingDirectory=/home/${USER}/django_new_project
     ExecStart=/home/${USER}/django_new_project/django_new_env/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/${USER}/django_new_project/django_new_env.sock django_new_env.wsgi:application
    
     [Install]
     WantedBy=multi-user.target
  15. 15.

    Запустите новый сервис:

    systemctl daemon-reload

    systemctl enable new_gunicorn.service

Готово! Теперь вы можете разместить свой проект на созданном окружении.

Приложение LEMP

LEMP — шаблон для размещения одного или нескольких сайтов на сервере.

Сервер с LEMP

Техническая информация о шаблоне LEMP

На сервере установлено:

  • Операционная система: Ubuntu 18.04
  • Веб-сервер: Nginx 1.14
  • СУБД: MySQL 8
  • PHP 7.2 (в режиме PHP-FPM)
  • Pure-FTPD

Как начать пользоваться

При создании сервера выберите LEMP во вкладке Приложения. После окончания процедуры вам будут доступны:

  • сконфигурированный веб-сервер для работы с одним сайтом (по технологическому домену);
  • доступ по SSH и FTP;
  • доступ в phpMyAdmin.

Этого достаточно для размещения сайта.

После того как сервер будет создан, необходимые доступы будут высланы на вашу контактную почту. Кроме того, краткая инструкция и действующая ссылка на технологический домен будут доступны в консоли, когда вы подключитесь по SSH:

приложение lemp 2

Основные конфигурационные файлы находятся в директориях:

  • конфигурационный файл mysql-сервера: /etc/mysql/mysql.conf.d/mysqld.cnf
  • конфигурационный файл FTP-сервера: /etc/pure-ftpd/conf/
  • основной конфигурационный файл nginx: /etc/nginx/nginx.conf
  • конфигурационный файл nginx с виртуальным хостом: /etc/nginx/sites-available/$DOMAIN
  • конфигурационный файл: php-fpm /etc/php/7.0/fpm/php.ini

Как добавить еще один сайт на LEMP

  1. 1.
    Подключитесь по SSH под логином root.
  2. 2.

    Добавьте новый конфигурационный файл виртуального хоста в директории /etc/nginx/sites-available/$NEW_DOMAIN

    Где NEW_DOMAIN — домен нового сайта.

    Конфигурационный файл можно скопировать с имеющегося домена, введя команды:

    cp /etc/nginx/sites-available/$OLD_DOMAIN

    /etc/nginx/sites-available/$NEW_DOMAIN

  3. 3.

    Приведите новый конфигурационный файл, где NEW_DOMAIN — ваш новый домен, к виду:

    server {
    
    
       listen 80;
       listen [::]:80;
    
       root /var/www/${NEW_DOMAIN};
       index index.php index.html index.htm;
    
       server_name ${NEW_DOMAIN};
    
       location / {
            try_files $uri $uri/ =404;
       }
    
       location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       }
    
       location ~ /\.ht {
            deny all;
       }
    }
  4. 4.

    Добавьте новый конфигурационный файл во включенные виртуальные хосты:

    ln -s /etc/nginx/sites-available/$NEW_DOMAIN

    /etc/nginx/sites-enabled/$NEW_DOMAIN

    где NEW_DOMAIN — домен нового сайта.

  5. 5.

    Разместите файлы нового сайта в директории /var/www/$NEW_DOMAIN и убедитесь, что владелец файлов sites:sites установлен верно:

    ls -la /var/www/$NEW_DOMAIN

    Где NEW_DOMAIN — домен нового сайта.

  6. 6.

    Проверьте, что конфигурационный файл был поправлен корректно:

    sudo nginx -t

  7. 7.

    Перезапустите nginx:

    sudo systemctl restart nginx.service

Готово, вы создали дополнительный виртуальный хост и теперь можете разместить а нём еще один сайт.

Приложение LAMP

LAMP — шаблон для размещения одного или нескольких сайтов на сервере.

Сервер с LAMP

Техническая информация о шаблоне LAMP

Установка LAMP Linux в один клик

Стек LAMP — это набор программного обеспечения, который используется для отображения динамических веб-страниц и веб-приложений. Установка Apache, MySQL и PHP на вашем сервере c Ubuntu, менее чем за 30 секунд.

Заказать сервер с LAMP

На сервере установлено:

  • Операционная система: Ubuntu 18.04
  • Веб-сервер: Apache 2.4
  • СУБД: MySQL 8
  • PHP 7.2
  • Pure-FTPD

Apache запущен под пользователем sites.

Как начать пользоваться

При создании сервера выберите LAMP во вкладке Приложения. После окончания процедуры вам будут доступны:

  • сконфигурированный веб-сервер для работы с одним сайтом (по технологическому домену);
  • доступ по SSH и FTP;
  • доступ в phpMyAdmin.

Этого достаточно для размещения сайта.

После того как сервер будет создан, необходимые доступы будут высланы на вашу контактную почту. Кроме того, краткая инструкция и действующая ссылка на технологический домен будут доступны в консоли, когда вы подключитесь по SSH:

приложение lamp 2

Основные конфигурационные файлы находятся в директориях:

  • конфигурационный файл для mysql-сервера: /etc/mysql/mysql.conf.d/mysqld.cnf

  • конфигурационный файл для FTP-сервера: /etc/pure-ftpd/conf/

  • настройки apache: /etc/apache2/

Как добавить еще один сайт на LAMP

  1. 1.
    Подключитесь по SSH под логином root.
  2. 2.

    Добавьте новый конфигурационный файл виртуального хоста в директории:

    /etc/apache2/sites-available/$NEW_DOMAIN

    Где NEW_DOMAIN — домен нового сайта.

    Конфигурационный файл можно скопировать с имеющегося домена, введя команды:

    cp /etc/apache2/sites-available/$OLD_DOMAIN

    /etc/apache2/sites-available/$NEW_DOMAIN

  3. 3.

    Приведите новый конфигурационный файл, где NEW_DOMAIN — ваш новый домен, к виду:

    <VirtualHost *:80>
    
    
     ServerAdmin  webmaster@${NEW_DOMAIN}
     ServerName   ${NEW_DOMAIN}
     ServerAlias  www.${NEW_DOMAIN}
    
     DocumentRoot /var/www/${NEW_DOMAIN}
     DirectoryIndex  index.php index.html index.htm
    
     ErrorLog     /var/log/apache2/${NEW_DOMAIN}_error.log
     CustomLog    /var/log/apache2/${NEW_DOMAIN}_access.log combined
    
     <Directory /var/www/${NEW_DOMAIN}>
         AllowOverride All
     </Directory>
    
    </VirtualHost>
  4. 4.

    Добавьте новый конфигурационный файл во включенные виртуальные хосты, введя команду:

    a2ensite $NEW_DOMAIN

    Где NEW_DOMAIN — домен нового сайта.

  5. 5.

    Разместите файлы нового сайта в директории /var/www/$NEW_DOMAIN (где NEW_DOMAIN — домен нового сайта) и убедитесь, что владелец файлов sites:sites установлен верно, введя команду:

    ls -la /var/www/$NEW_DOMAIN

  6. 6.

    Проверьте, что конфигурационный файл был поправлен корректно:

    sudo apachectl -t

  7. 7.

    Перезапустите apache:

    sudo systemctl restart apache2.service

Как разместить сайт на приложения LAMP и LEMP

На сервер добавлен технологический домен вида 123-123-123-123.cloudvps.regruhosting.ru, по которому можно проверить доступность вашего сайта. Также сайт будет доступен напрямую по IP.

Добавить больше сайтов
Шаблон настроен сконфигурирован для загрузки одного сайта. Чтобы добавить больше сайтов на LAMP, используйте инструкцию выше. Чтобы добавить больше сайтов на LEMP, используйте инструкцию выше.

Как разместить файлы

  1. 1.
  2. 2.
    Вы автоматически попадете в каталог вида /var/www/.
  3. 3.
    Перейдите в каталог технологического домена 123-123-123-123.cloudvps.regruhosting.ru.
  4. 4.
    Загрузите файлы вашего сайта.

Как импортировать базу данных

  1. 1.
    Войдите в phpMyAdmin. Доступы высланы в стартовом письме.
  2. 2.

    Создайте базу данных и пользователя:

  3. 3.
    Нажмите кнопку Go.
  4. 4.
    Импортируйте дамп (резервную копию базы данных) по инструкции.

Как настроить DNS

Теперь вам осталось привязать домен к облачному сервер. Для этого воспользуйтесь статьей: Как привязать домен к Облачному VPS.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0