Как разместить проект на шаблоне
Приложение Django
Приложение Django предназначено для быстрого старта разработки на Django-framework.
На сервере с Django установлено:
- Операционная система: Ubuntu 20.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.
-
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.
Переключитесь на системного пользователя, под которым хотите создать проект:
sudo su ${USER}
-
4.
Создайте директорию, в которой будет размещено окружение:
mkdir /home/${USER}/django_new_project
-
5.
Перейдите в новую директорию:
cd /home/${USER}/django_new_project/
и создайте окружение:
virtualenv django_new_env
-
6.
Активируйте проект:
source /home/${USER}/django_new_project/django_new_env/bin/activate
-
7.
Установите фреймворк Django и необходимые пакеты:
pip install django gunicorn psycopg2 psycopg2-binary
-
8.
Запустите проект:
django-admin.py startproject django_new_env /home/${USER}/django_new_project
-
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.
Создайте структуру БД, выполнив по очереди следующие команды:
/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.
Создайте пользователя «Администратор» Django:
/home/${USER}/django_new_project/manage.py createsuperuser
-
12.
Деактивируйте проект и вернитесь в root-пользователя, чтобы перейти к дальнейшей настройке. Для этого последовательно введите команды:
deactivate exit
-
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.
Для удобства можно добавить новый проект на автозапуск в виде сервиса, добавив файл /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
-
12.
Запустите новый сервис:
systemctl daemon-reload systemctl enable new_gunicorn.service
Готово! Теперь вы можете разместить свой проект на созданном окружении.
Приложение LEMP
LEMP — шаблон для размещения одного или нескольких сайтов на сервере.
На сервере с LEMP установлено:
- Операционная система: Ubuntu 20.04
- Веб-сервер: Nginx 1.14
- СУБД: MySQL 8
- PHP 7.2 (в режиме PHP-FPM)
- Pure-FTPD
Как начать пользоваться
При создании сервера выберите LEMP во вкладке Приложения. После окончания процедуры вам будут доступны:
- сконфигурированный веб-сервер для работы с одним сайтом (по технологическому домену);
- доступ по SSH и FTP;
- доступ в phpMyAdmin.
Этого достаточно для размещения сайта.
После того как сервер будет создан, необходимые доступы будут высланы на вашу контактную почту. Кроме того, краткая инструкция и действующая ссылка на технологический домен будут доступны в консоли, когда вы подключитесь по SSH:
Основные конфигурационные файлы находятся в директориях:
- конфигурационный файл 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.
Подключитесь по SSH под логином root.
-
2.
Добавьте новый конфигурационный файл виртуального хоста в директории
/etc/nginx/sites-available/$NEW_DOMAIN
Где NEW_DOMAIN — домен нового сайта.
Конфигурационный файл можно скопировать с имеющегося домена, введя команды:
cp /etc/nginx/sites-available/$OLD_DOMAIN /etc/nginx/sites-available/$NEW_DOMAIN
-
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.
Добавьте новый конфигурационный файл во включенные виртуальные хосты:
ln -s /etc/nginx/sites-available/$NEW_DOMAIN /etc/nginx/sites-enabled/$NEW_DOMAIN
где NEW_DOMAIN — домен нового сайта.
-
5.
Разместите файлы нового сайта в директории /var/www/$NEW_DOMAIN и убедитесь, что владелец файлов sites:sites установлен верно:
ls -la /var/www/$NEW_DOMAIN
Где NEW_DOMAIN — домен нового сайта.
-
6.
Проверьте, что конфигурационный файл был поправлен корректно:
sudo nginx -t
-
7.
Перезапустите nginx:
sudo systemctl restart nginx.service
Готово, вы создали дополнительный виртуальный хост и теперь можете разместить а нём еще один сайт.
Приложение LAMP
LAMP — шаблон для размещения одного или нескольких сайтов на сервере.
Установка LAMP Linux в один клик
Стек LAMP — это набор программного обеспечения, который используется для отображения динамических веб-страниц и веб-приложений. Установка Apache, MySQL и PHP на вашем сервере c Ubuntu, менее чем за 30 секунд.
Заказать сервер с LAMP
На сервере с LAMP установлено:
- Операционная система: Ubuntu 20.04
- Веб-сервер: Apache 2.4
- СУБД: MySQL 8
- PHP 7.2
- Pure-FTPD
Apache запущен под пользователем sites.
Как начать пользоваться
При создании сервера выберите LAMP во вкладке Приложения. После окончания процедуры вам будут доступны:
- сконфигурированный веб-сервер для работы с одним сайтом (по технологическому домену);
- доступ по SSH и FTP;
- доступ в phpMyAdmin.
Этого достаточно для размещения сайта.
После того как сервер будет создан, необходимые доступы будут высланы на вашу контактную почту. Кроме того, краткая инструкция и действующая ссылка на технологический домен будут доступны в консоли, когда вы подключитесь по SSH:
Основные конфигурационные файлы находятся в директориях:
- конфигурационный файл для mysql-сервера: /etc/mysql/mysql.conf.d/mysqld.cnf
- конфигурационный файл для FTP-сервера: /etc/pure-ftpd/conf/
- настройки apache: /etc/apache2/
Как добавить еще один сайт на LAMP
-
1.
Подключитесь по SSH под логином root.
-
2.
Добавьте новый конфигурационный файл виртуального хоста в директории:
/etc/apache2/sites-available/$NEW_DOMAIN
Где NEW_DOMAIN — домен нового сайта.
Конфигурационный файл можно скопировать с имеющегося домена, введя команды:
cp /etc/apache2/sites-available/$OLD_DOMAIN /etc/apache2/sites-available/$NEW_DOMAIN
-
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.
Добавьте новый конфигурационный файл во включенные виртуальные хосты, введя команду:
a2ensite $NEW_DOMAIN
Где NEW_DOMAIN — домен нового сайта.
-
5.
Разместите файлы нового сайта в директории /var/www/$NEW_DOMAIN (где NEW_DOMAIN — домен нового сайта) и убедитесь, что владелец файлов sites:sites установлен верно, введя команду:
ls -la /var/www/$NEW_DOMAIN
-
6.
Проверьте, что конфигурационный файл был поправлен корректно:
sudo apachectl -t
-
7.
Перезапустите apache:
sudo systemctl restart apache2.service
Как разместить сайт на приложения LAMP и LEMP
На сервер добавлен технологический домен вида 123-123-123-123.cloudvps.regruhosting.ru, по которому можно проверить доступность вашего сайта. Также сайт будет доступен напрямую по IP.
Как разместить файлы
- 1.
-
2.
Вы автоматически попадете в каталог вида /var/www/.
-
3.
Перейдите в каталог технологического домена 123-123-123-123.cloudvps.regruhosting.ru.
-
4.
Загрузите файлы вашего сайта.
Как импортировать базу данных
-
1.
Войдите в phpMyAdmin. Доступы высланы в стартовом письме.
-
2.
Создайте базу данных и пользователя:
-
3.
Нажмите кнопку Go.
-
4.
Импортируйте дамп (резервную копию базы данных) по инструкции.
Как настроить DNS
Теперь вам осталось привязать домен к облачному сервер. Для этого воспользуйтесь статьей: Как привязать домен к Облачному VPS.
помогла
Нужна помощь?
Напишите в службу поддержки!