Переносим приложение python с локального компьютера на свой удаленный сервер.
Этот материал из цикла статей по разработке сайтов на python: от локальной разработки до развертывания на удаленном сервере.
Перед этим должен быть создан локальный проект на python.
Затем настроен удаленный сервер для Flask.
И только после этого можно приступать к переносу зависимостей и проекта на python на удаленный сервер.
У себя на компьютере
У себя на компьютере создаем файл, в котором находятся все зависимости необходимые для проекта:
или выводим локальные зависимости и сохраняем их потом в том же файле:
На сервере
Если директория для сайта еще не сделана, то заходим в папку пользователя:
Здесь создаем новую директорию для проекта, например, по названию сайта:
cd ploshadka.net
Затем в этой директории создаем виртуальное окружение:
Входим в виртуальное окружение:
Обязательно обновляем pip:
Иначе есть вероятность получить при установке других модулей ошибки вроде:
… error
ERROR: Command errored out with exit status 1:
command:error: invalid command ‘bdist_wheel’
—————————————-
ERROR: Failed building wheel
Устанавливаем необходимые зависимости:
Выше в статье было упоминание, что некоторые модули может потребоваться установить дополнительно вручную. Сделайте это для этих модулей теми командами, которыми вы их раньше устанавливали.
Например:
Выходим из окружения:
Конфиги
Переносим или создаем файл конфигов для сервера
Для сервера должен быть свой файл конфига, в котором используются переменные окружения, пароль для подключения к БД и т.д.
У меня это файл configs/private/main.py. Его надо перенести на сервер и расскоментировать строки предназначенные для сервера, а для локалки закомментировать.
В целом различия будут здесь:
os.environ['SERVER_ENV'] = 'prod'
А для подключения к БД изменить пароль:
SECRET_KEY и SECURITY_PASSWORD_SALT — если будем экспортировать БД с локалки для последующего импорта на прод, то эти значения такие же как и для локалки.
Дополнительная настройка на сервере
PostgreSQL
Статья про настройку PostgreSQL.
Если пользователь для БД уже был создан раннее, то создаем только новую БД:
Заходим в postgres:
Вводим пароль от пользователя Linux.
Для русской версии лучше БД создать так:
Назначаем привелегии новой таблице:
Также можно было создать БД так (но для ру лучше делать как выше)
Выходим из postgres окружения:
Обновляем БД
В SQLAlchemy нам потребуется только одна команда обновления БД. Т.к. все коммиты мы отправляем только на локалке, а затем это закидываем в git.
Заходим в окружение python:
Обновляем БД:
Запускаем сайт
Для запуска нового сайта руководствуемся инструкцией настройка сервера под Flask на Ubuntu из раздела:
«5. Настраиваем службу systemd».
Сертификат для нового домена
Для нового домена получить сертификат
Остальное
Если что-то осталось для переноски сайта, то руководствоваться прочитав оставшиеся разделы из основной статьи «Python и Flask: от локальной разработки до серверной раскатки».