Установка Django на виртуальном хостинге
На хостинге нужно создать сайт и прикрепить к нему домен. Если у вас нет хостинга или домена — рекомендую Beget сам им пользуюсь больше десяти лет.
Не забудьте разрешить подключение по FTP и SSH
Docker
Сначала необходимо подключиться к серверу по SSH ( инструкция от Beget )
Для этого понадобится имя пользователя на хостинге — это может быть как администратор, так и специально созданный ftp аккаунт.
Вместо username введите имя аккаунта у которого есть доступ к хостингу
Вместо website_url.com — ваш домен либо IP адрес
После того, как вы зашли на хостинг — нужно активировать виртуальное окружение
Для перехода в виртуальное окружение Docker нужно выполнить следующую команду:
ssh localhost -p222
После чего возможно придётся ещё раз ввести пароль для доступа к аккаунту.
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.9.132-0-beget-acl x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage
Python
Проверить, установлены ли python3 и pip можно командами
python3 -V
pip3 -V
Python 3.7.0
pip 20.1 from /home/u/user/.local/lib/python3.7/site-packages/pip (python 3.7)
Проверить где находится python3 можно командой
Установка новой версии Python
Если Python не установлен или вам нужна более свежая версия — можно выполнить установку вручную
Установка Python
Подробнее про установку программ в Linux с помощью configure_make_make-install читайте здесь
/.local/include/ (docker) login@server:
Затем нужно в .bashrc данного аккаунта прописать $PATH до директории
/.local/bin/ или алиас для python3,
Проверим путь до python3
[0] $ which python3
Этот путь нам и нужно прописать в PATH. Отбросим только /python3
И перезапустить .bashrc
Виртуальное окружение
Часто полезно пользоваться виртуальным окружением. Создавать их можно разными способами, например с помощью:
- venv
- virtualenv
- anaconda
python3 -m venv venv_django
source venv_django/bin/activate
Обычно при активации виртуального окружения в терминале перед именем пользователя появляется называние окружения в круглых скобках.
Внутри контейнера вы скорее всего уже видите (docker) а название окружения может и не появиться.
Чтобы проверить перешли вы в окружение или нет выполнитеi
Как вы можете проверить здесь — до входа в окружение использовался другой Python
Либо перейдите в интерактивный режим
Выполните две команды
Они должны показать разный результат
Установка Django
Первым делом советую обновить pip
python3 -m pip install —upgrade pip
Затем непосредственно установить Django
python3 -m pip install django
python3 -m django —version
python3 -m pip list
Package Version —————— ——— asgiref 3.3.4 Django 3.2.4 pip 21.1.2 pytz 2021.1 setuptools 39.0.1 sqlparse 0.4.1 typing-extensions 3.10.0.0
Запуск первого проекта в Django
Переходим в директорию в которой нужно создать проект. Например в public_html.
django-admin startproject Project_Name
После удачного выполнения этой команды создаётся директория Project_Name
NB: Если вы пишите код в PyCharm эту директорию нужно кликнуть правой кнопкой мыши и выбрать Mark Directory as → Sources Root
Внутри Project_Name будет находится файл manage.py и ещё одна директория с таким же именем — Project_Name.
Внутри вложенной директории Project_Name находятся файлы
__init__.py
settings.py
urls.py
wsgi.py
WSGI расшифровывается как Web Server Gateway Interface.
Это стандарт взаимодействия между Python-программой, выполняющейся на стороне сервера, и самим веб-сервером, например Apache
Пример файла manage.py
#!/usr/bin/env python «»»Django's command-line utility for administrative tasks.»»» import os import sys def main (): «»»Run administrative tasks.»»» os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Project_Name.settings') try : from django.core.management import execute_from_command_line except ImportError as exc: raise ImportError( «Couldn't import Django. Are you sure it's installed and » «available on your PYTHONPATH environment variable? Did you » «forget to activate a virtual environment?» ) from exc execute_from_command_line(sys.argv) if __name__ == '__main__': main()
passenger_wsgi.py
Нужно создать в корне сайта файл passenger_wsgi.py
cd /home/u/user/site.ru
touch passenger_wsgi.py
Для настройки passenger_wsgi.py понадобятся путь до Django и путь до проекта.
Путь до Django можно получить выполнив
python3 -c «import django; print(django.get_version()); print(django.__file__)»
Из этого пути нужно оставить
Посмотреть путь до проекта можно перейдя в родительскую директорию Project_Name (директорий Project_Name две нужна более высокого уровня) и выполнив pwd
Пример файла passenger_wsgi.py
# -*- coding: utf-8 -*- import os import sys from django.core.wsgi import get_wsgi_application sys.path.insert( 0 , '/home/u/user/site.ru/public_html/Project_Name' ) sys.path.insert( 1 , '/home/u/user/site.ru/venv_django/lib/python3.7/site-packages' ) os.environ[ 'DJANGO_SETTINGS_MODULE' ] = 'Project_Name.settings' application = get_wsgi_application()
Запуск приложения
В каждом проекте (project) обычно используется одно или несколько приложений (application)
Когда все приложения и конфигурации объединены они составляют веб-приложение.
applications + configurations = web application
Создаём первое приложение
python3 manage.py startapp first_app
Появится директория first_app в которой будут следующие файлы
settings.py
Переходим в директорию Project_Name/Project_Name
Редактируем файл settings.py
Добавляем домен, на котором Вы разворачиваете сайт в ALLOWED_HOSTS файла (из проекта) settings.py
Нужно добавить в список установленных приложений наше новое приложение first_app
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'first_app', ]
Запускаем/Перезапускаем сервер. О том как это сделать — читайте в следующей главе.
Запуск/Перезапуск сервера
Если перезапуск осуществляется с помощью скрипта выполняем (насколько я знаю, это актуально для хостингов Beget и dreamhost)
/site.ru [0] $ touch tmp/restart.txt
Возможно, на вашем хостинге запуск будет осуществляться с помощью runserver
Установка и настрока Django проекта на хостинге Beget
Мой сайт работает на хостинге Beget и написан с ипользованием Python и фреймворка Django. Бегет хорошо подходит для размещения небольших проектов как этот. В этой статье раскажу как хостить Django-проект на Бегете.
Для начала создадим сайт в панели администратора
- Создадим домен и прекрепим для него новую папку с каким-нибудь именем
- В разделе CMS, главного меню хостинга, выберем Django и установим каркас приложения
После установки фреймворка в конреновой директории можно найти файл README.txt следующего содержания
Django установленный системой автоматической установки cms LTD BEGET
Действия описанные ниже необходимо выполнять в docker-окружении выполнив команду ниже ssh localhost -p222
для установки дополнительных модулей используйте pip
сам Django располагается в папке
/home/u/username/site-directory/public_html/venv/ для начала надо переключиться на текущий virtualenv
заходим в папку с проектом
cd /home/u/username/site-directory/public_html
source venv/bin/activate
проверяем правильно ли определился путь до pip:
which pip
/home/u/username/site-directory/public_html/venv/bin/pip
теперь мы можем пользоваться pip’ом для установки модулей не указывая полного пути до исполняемого файла:
pip install
где имя модуля который мы хотим установить
Для перезапуска passenger в папке проекта достаточно выполнить команду touch на пустом файле restart.txt
pwd
/home/u/username/site-directory/public_html/HelloDjango/HelloDjango/tmp
touch restart.txt
Создание репозитория
Создайте репозиторий на любом из сервесов: Github, Bitbucket или Gitlab. Не рекомендуется хранить данные для подключения к базе данных в репозитории. Но если вы решили так сделать, не забудьте создать приватный репозиторий.
В личного кабинета в сайдбаре нужно включить SSH-доступ.
Подключимся к хостингу по ssh:
Пароль для доступа такой же как и от личного кабинета
Зайдем в docker-контейнер:
ssh localhost -p 222
Пароль для доступа такой же как и от личного кабинета
Инициализируем репозиторий в директории /public_html:
git commit -m «Initial commit»
Добавим ссылку на внешний репозиторий:
git add remotename url
Проверим, что репозиторий добавлен:
origin https://github.com/username/repository (fetch)
origin https://github.com/username/repository (push)
Привяжем ветку master к внешней ветке и отправим файлы в репозиторий:
git branch —set-upstream-to=origin/master
Теперь можно разрабатывать сайт на локальной машине. Когда нужно будет перенести сайт на сервер нужно выполнить одну команду и поправить конфигурационные файлы, если потребуется
Как загрузить django сайт на beget
На хостинге нужно создать сайт и прикрепить к нему домен. Если у вас нет хостинга или домена — рекомендую Beget сам им пользуюсь больше десяти лет.
Не забудьте разрешить подключение по FTP и SSH
Docker
Сначала необходимо подключиться к серверу по SSH ( инструкция от Beget )
Для этого понадобится имя пользователя на хостинге — это может быть как администратор, так и специально созданный ftp аккаунт.
Вместо username введите имя аккаунта у которого есть доступ к хостингу
Вместо website_url.com — ваш домен либо IP адрес
После того, как вы зашли на хостинг — нужно активировать виртуальное окружение
Для перехода в виртуальное окружение Docker нужно выполнить следующую команду:
ssh localhost -p222
После чего возможно придётся ещё раз ввести пароль для доступа к аккаунту.
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.9.132-0-beget-acl x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage
Python
Проверить, установлены ли python3 и pip можно командами
python3 -V
pip3 -V
Python 3.7.0
pip 20.1 from /home/u/user/.local/lib/python3.7/site-packages/pip (python 3.7)
Проверить где находится python3 можно командой
Установка новой версии Python
Если Python не установлен или вам нужна более свежая версия — можно выполнить установку вручную
Установка Python
Подробнее про установку программ в Linux с помощью configure_make_make-install читайте здесь
/.local/include/ (docker) login@server:
Затем нужно в .bashrc данного аккаунта прописать $PATH до директории
/.local/bin/ или алиас для python3,
Проверим путь до python3
[0] $ which python3
Этот путь нам и нужно прописать в PATH. Отбросим только /python3
И перезапустить .bashrc
Виртуальное окружение
Часто полезно пользоваться виртуальным окружением. Создавать их можно разными способами, например с помощью:
- venv
- virtualenv
- anaconda
python3 -m venv venv_django
source venv_django/bin/activate
Обычно при активации виртуального окружения в терминале перед именем пользователя появляется называние окружения в круглых скобках.
Внутри контейнера вы скорее всего уже видите (docker) а название окружения может и не появиться.
Чтобы проверить перешли вы в окружение или нет выполнитеi
Как вы можете проверить здесь — до входа в окружение использовался другой Python
Либо перейдите в интерактивный режим
Выполните две команды
Они должны показать разный результат
Установка Django
Первым делом советую обновить pip
python3 -m pip install —upgrade pip
Затем непосредственно установить Django
python3 -m pip install django
python3 -m django —version
python3 -m pip list
Package Version —————— ——— asgiref 3.3.4 Django 3.2.4 pip 21.1.2 pytz 2021.1 setuptools 39.0.1 sqlparse 0.4.1 typing-extensions 3.10.0.0
Запуск первого проекта в Django
Переходим в директорию в которой нужно создать проект. Например в public_html.
django-admin startproject Project_Name
После удачного выполнения этой команды создаётся директория Project_Name
NB: Если вы пишите код в PyCharm эту директорию нужно кликнуть правой кнопкой мыши и выбрать Mark Directory as → Sources Root
Внутри Project_Name будет находится файл manage.py и ещё одна директория с таким же именем — Project_Name.
Внутри вложенной директории Project_Name находятся файлы
__init__.py
settings.py
urls.py
wsgi.py
WSGI расшифровывается как Web Server Gateway Interface.
Это стандарт взаимодействия между Python-программой, выполняющейся на стороне сервера, и самим веб-сервером, например Apache
Пример файла manage.py
#!/usr/bin/env python «»»Django's command-line utility for administrative tasks.»»» import os import sys def main (): «»»Run administrative tasks.»»» os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Project_Name.settings') try : from django.core.management import execute_from_command_line except ImportError as exc: raise ImportError( «Couldn't import Django. Are you sure it's installed and » «available on your PYTHONPATH environment variable? Did you » «forget to activate a virtual environment?» ) from exc execute_from_command_line(sys.argv) if __name__ == '__main__': main()
passenger_wsgi.py
Нужно создать в корне сайта файл passenger_wsgi.py
cd /home/u/user/site.ru
touch passenger_wsgi.py
Для настройки passenger_wsgi.py понадобятся путь до Django и путь до проекта.
Путь до Django можно получить выполнив
python3 -c «import django; print(django.get_version()); print(django.__file__)»
Из этого пути нужно оставить
Посмотреть путь до проекта можно перейдя в родительскую директорию Project_Name (директорий Project_Name две нужна более высокого уровня) и выполнив pwd
Пример файла passenger_wsgi.py
# -*- coding: utf-8 -*- import os import sys from django.core.wsgi import get_wsgi_application sys.path.insert( 0 , '/home/u/user/site.ru/public_html/Project_Name' ) sys.path.insert( 1 , '/home/u/user/site.ru/venv_django/lib/python3.7/site-packages' ) os.environ[ 'DJANGO_SETTINGS_MODULE' ] = 'Project_Name.settings' application = get_wsgi_application()
Запуск приложения
В каждом проекте (project) обычно используется одно или несколько приложений (application)
Когда все приложения и конфигурации объединены они составляют веб-приложение.
applications + configurations = web application
Создаём первое приложение
python3 manage.py startapp first_app
Появится директория first_app в которой будут следующие файлы
settings.py
Переходим в директорию Project_Name/Project_Name
Редактируем файл settings.py
Добавляем домен, на котором Вы разворачиваете сайт в ALLOWED_HOSTS файла (из проекта) settings.py
Нужно добавить в список установленных приложений наше новое приложение first_app
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'first_app', ]
Запускаем/Перезапускаем сервер. О том как это сделать — читайте в следующей главе.
Запуск/Перезапуск сервера
Если перезапуск осуществляется с помощью скрипта выполняем (насколько я знаю, это актуально для хостингов Beget и dreamhost)
/site.ru [0] $ touch tmp/restart.txt
Возможно, на вашем хостинге запуск будет осуществляться с помощью runserver
Из той же директории в которой находится скрипт manage.py вводим команду
python3 manage.py runserver
Performing system checks.
System check identified no issues (0 silenced).
February 06, 2019 — 20:54:38
Django version 2.1.5, using settings 'Project_Name.settings'
Starting development server at http://127.0.0.1:8000/
Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых
Начинаем развертывание Django-сайта на хостинге
Администратор и владелец сайта не несут ответственности за содержание и достоверность информации, размещенной в текстах сообщений и мнениях посетителей сайта.
Все сообщения и информация, размещенные посетителями сайта, являются выражением субъективного мнения, личной оценки лица, разместившего сообщение.
Мнение авторов комментариев может не совпадать с мнением администрации сайта.
Работа с Django на хостинге Beget
Итак первым делом нужно в паели веб-сервера включить доступ по ssh для вашего аккаунта.
Далее подключаемся к нашему хостингу из терминала
попав на сервер переходим в docker — окружение
Прежде чем идти дальше, предполагается, что у вас уже установлен Python на хостинге. Как устанавливать цитировать руководство не буду, просто оставлю ссылку на него, где все подробно расписано. В моем случае, нужно было установить Python 3, что я и сделал.
На сервере уже по умолчанию установлен git, поэтому переходим в папку Django приложения, обновляем проект командой, разумеется предварительно нужно инициировать репозиторий git
А также копируем статику:
/.local/bin/python3.5 ./manage.py collectstatic
После завершения настройки окружения необходимо создать каталог tmp, где будет хранится файл restart.txt:
Пересоздание tmp/restart.txt применяет новые изменения в проекте.
На этом пожалуй все, Очень качественный и недорогой хостинг, всем советую!
Начинаем развертывание Django-сайта на хостинге
Посмотрите как клиент отказался от Seo и потом все же вернулся к нам в seouspeh.ru — наглядный сред более 5 лет
А вот и через пару месяцев еще)), класс:
Новый кейс — за 2 последних года (с очень адекватным клиентом):
Посмотрите как мы в 10 раз уменьшили нагрузку на базу данных MySQL (перегруз был на 500% от лимитов)
Администратор и владелец сайта не несут ответственности за содержание и достоверность информации, размещенной в текстах сообщений и мнениях посетителей сайта.
Все сообщения и информация, размещенные посетителями сайта, являются выражением субъективного мнения, личной оценки лица, разместившего сообщение.
Мнение авторов комментариев может не совпадать с мнением администрации сайта.
Установка Django на виртуальном хостинге
На хостинге нужно создать сайт и прикрепить к нему домен. Если у вас нет хостинга или домена — рекомендую Beget сам им пользуюсь больше десяти лет.
Не забудьте разрешить подключение по FTP и SSH
Docker
Сначала необходимо подключиться к серверу по SSH ( инструкция от Beget )
Для этого понадобится имя пользователя на хостинге — это может быть как администратор, так и специально созданный ftp аккаунт.
Вместо username введите имя аккаунта у которого есть доступ к хостингу
Вместо website_url.com — ваш домен либо IP адрес
После того, как вы зашли на хостинг — нужно активировать виртуальное окружение
Для перехода в виртуальное окружение Docker нужно выполнить следующую команду:
ssh localhost -p222
После чего возможно придётся ещё раз ввести пароль для доступа к аккаунту.
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.9.132-0-beget-acl x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage
Python
Проверить, установлены ли python3 и pip можно командами
python3 -V
pip3 -V
Python 3.7.0
pip 20.1 from /home/u/user/.local/lib/python3.7/site-packages/pip (python 3.7)
Проверить где находится python3 можно командой
Установка новой версии Python
Если Python не установлен или вам нужна более свежая версия — можно выполнить установку вручную
Установка Python
Подробнее про установку программ в Linux с помощью configure_make_make-install читайте здесь
/.local/include/ (docker) login@server:
Затем нужно в .bashrc данного аккаунта прописать $PATH до директории
/.local/bin/ или алиас для python3,
Проверим путь до python3
[0] $ which python3
Этот путь нам и нужно прописать в PATH. Отбросим только /python3
И перезапустить .bashrc
Виртуальное окружение
Часто полезно пользоваться виртуальным окружением. Создавать их можно разными способами, например с помощью:
- venv
- virtualenv
- anaconda
python3 -m venv venv_django
source venv_django/bin/activate
Обычно при активации виртуального окружения в терминале перед именем пользователя появляется называние окружения в круглых скобках.
Внутри контейнера вы скорее всего уже видите (docker) а название окружения может и не появиться.
Чтобы проверить перешли вы в окружение или нет выполнитеi
Как вы можете проверить здесь — до входа в окружение использовался другой Python
Либо перейдите в интерактивный режим
Выполните две команды
Они должны показать разный результат
Установка Django
Первым делом советую обновить pip
python3 -m pip install —upgrade pip
Затем непосредственно установить Django
python3 -m pip install django
python3 -m django —version
python3 -m pip list
Package Version —————— ——— asgiref 3.3.4 Django 3.2.4 pip 21.1.2 pytz 2021.1 setuptools 39.0.1 sqlparse 0.4.1 typing-extensions 3.10.0.0
Запуск первого проекта в Django
Переходим в директорию в которой нужно создать проект. Например в public_html.
django-admin startproject Project_Name
После удачного выполнения этой команды создаётся директория Project_Name
NB: Если вы пишите код в PyCharm эту директорию нужно кликнуть правой кнопкой мыши и выбрать Mark Directory as → Sources Root
Внутри Project_Name будет находится файл manage.py и ещё одна директория с таким же именем — Project_Name.
Внутри вложенной директории Project_Name находятся файлы
__init__.py
settings.py
urls.py
wsgi.py
WSGI расшифровывается как Web Server Gateway Interface.
Это стандарт взаимодействия между Python-программой, выполняющейся на стороне сервера, и самим веб-сервером, например Apache
Пример файла manage.py
#!/usr/bin/env python «»»Django's command-line utility for administrative tasks.»»» import os import sys def main (): «»»Run administrative tasks.»»» os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Project_Name.settings') try : from django.core.management import execute_from_command_line except ImportError as exc: raise ImportError( «Couldn't import Django. Are you sure it's installed and » «available on your PYTHONPATH environment variable? Did you » «forget to activate a virtual environment?» ) from exc execute_from_command_line(sys.argv) if __name__ == '__main__': main()
passenger_wsgi.py
Нужно создать в корне сайта файл passenger_wsgi.py
cd /home/u/user/site.ru
touch passenger_wsgi.py
Для настройки passenger_wsgi.py понадобятся путь до Django и путь до проекта.
Путь до Django можно получить выполнив
python3 -c «import django; print(django.get_version()); print(django.__file__)»
Из этого пути нужно оставить
Посмотреть путь до проекта можно перейдя в родительскую директорию Project_Name (директорий Project_Name две нужна более высокого уровня) и выполнив pwd
Пример файла passenger_wsgi.py
# -*- coding: utf-8 -*- import os import sys from django.core.wsgi import get_wsgi_application sys.path.insert( 0 , '/home/u/user/site.ru/public_html/Project_Name' ) sys.path.insert( 1 , '/home/u/user/site.ru/venv_django/lib/python3.7/site-packages' ) os.environ[ 'DJANGO_SETTINGS_MODULE' ] = 'Project_Name.settings' application = get_wsgi_application()
Запуск приложения
В каждом проекте (project) обычно используется одно или несколько приложений (application)
Когда все приложения и конфигурации объединены они составляют веб-приложение.
applications + configurations = web application
Создаём первое приложение
python3 manage.py startapp first_app
Появится директория first_app в которой будут следующие файлы
settings.py
Переходим в директорию Project_Name/Project_Name
Редактируем файл settings.py
Добавляем домен, на котором Вы разворачиваете сайт в ALLOWED_HOSTS файла (из проекта) settings.py
Нужно добавить в список установленных приложений наше новое приложение first_app
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'first_app', ]
Запускаем/Перезапускаем сервер. О том как это сделать — читайте в следующей главе.
Запуск/Перезапуск сервера
Если перезапуск осуществляется с помощью скрипта выполняем (насколько я знаю, это актуально для хостингов Beget и dreamhost)
/site.ru [0] $ touch tmp/restart.txt
Возможно, на вашем хостинге запуск будет осуществляться с помощью runserver
Установка Python
Для начала рассмотрим установку модулей для Python. Как правило, модуль можно установить пакетным менеджером pip.
Для этого необходимо перейти в окружение Docker, подробнее с работой в нем можно ознакомиться в этой статье. В качестве примера установим библиотеку Pillow:
Дожидаемся окончания операции. Готово, модуль установлен в каталог:
Чтобы ваш сайт увидел модуль, необходимо добавить в переменную окружения путь до него:
Вместо /u/user необходимо указать первую букву вашего логина и сам логин. Например, для логина pythontest путь будет: /home/p/pythontest/.local/lib/python3.6/site-packages/PIL.
Если требуется установить дополнительные пакеты определенных версий, необходимо указать их в файле requirements.txt. Это удобно тем, что из одного файла можно установить большой список пакетов для Python.
В качестве примера из файла requirements.txt установим следующие пакеты:
Затем запустим команду для установки всех модулей и их зависимостей из данного файла следующей командой:
Использование нескольких версий Python
Для некоторых web-приложений могут потребоваться разные версии Python. На большинстве серверов в Docker-контейнере установлено несколько вариантов:
Например, чтобы установить пакет для определенной версии Python, выполните команду:
где X.X – нужная версия Python. Чтобы установить Pillow для python 3.7, команда будет выглядеть так:
Локальная установка Python
Для некоторых web-приложений может потребоваться версия Python, отличная от тех, что предоставляются на хостинге. В таком случае необходимую версию можно собрать локально.
Для этого вам потребуется подключиться к серверу по SSH.
- Подключитесь по SSH к серверу:
- Затем подключитесь к Docker-контейнеру:
- Теперь перейдите во временный каталог на аккаунте:
Если вам необходим Python версии 3.10 и выше, то необходимо дополнительно установить более свежую версию openssl.
Если вам необходим python версии ниже чем 3.10, то пропустите этот раздел и переходите к сборке непосредственно Python.
- Скачайте архив openssl версии 1.1.1l:
- Распакуйте архив и перейдите в папку с файлами:
- С помощью утилиты configure настройте необходимые зависимости, префиксы и переменные, после чего будет сгенерирован Makefile:
- Запустите процесс компиляции и установки:
Проверить что openssl установлен корректно можно командой:
Если в ответ вы получили следующий вывод, то openssl установлен корректно:
Перейдем к сборке самого Python.
На момент написания статьи последняя версия Python – 3.11.0, скачать дистрибутив с актуальной версией можно с официального сайта.
- Перейдите во временный каталог:
- Скачайте архив необходимой версии Python:
- Распакуйте архив и сразу перейдите в каталог с исходным кодом:
- С помощью утилиты configure настройте необходимые зависимости, префиксы, переменные, после чего будет сгенерирован Makefile. Обратите внимание, что для Python меньше 3.10 команда будет отличаться.
Для Python 3.10 и выше:
Для Python 3.9.x и ниже:
- Теперь запустите процесс компиляции и установки:
Проверить корректность установки можно следующей командой:
Помимо Python, также устанавливается пакетный менеджер pip:
Теперь вы можете использовать собранный Python в работе.
Если возникнут вопросы – напишите нам, пожалуйста, тикет из Панели управления аккаунта, раздел «Помощь и поддержка».
Настройка окружения virtualenv
Если сайтов, использующих Python, на аккаунте несколько, то для каждого может потребоваться свое окружение и свой набор пакетов разных версий, которые могут конфликтовать между собой. Эту проблему можно решить настройкой виртуального окружения с помощью virtualenv.
Virtualenv уже есть на хостинге на версиях 2.7, 3.6, 3.7.
Если у вас собранный локально Python, для установки virtualenv укажите полный путь до pip:
Вызвать справку можно так:
Дальше следует создать директорию окружения.
Команды будут отличаться в зависимости от версии Python.
Чтобы создать директорию окружения с названием venv_django, используя Python 2.7, выполните команду:
Для создания директории окружения с названием venv_django, используя Python 3.6, выполните команду:
Для локально собранного Python команда выглядит так:
Для входа в окружение выполните следующую команду:
Проверяем, что вход выполнен успешно:
Теперь мы можем устанавливать все необходимые пакеты для данного окружения с помощью pip (при этом полный путь до него указывать уже не нужно):
Чтобы выйти из окружения, выполните команду:
Установка и настройка Django
Django (Джанго) — свободный фреймворк для веб-приложений на языке Python. Сайт на Django строится из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Это одно из существенных архитектурных отличий этого фреймворка от некоторых других (например, Ruby on Rails). В этой статье будет рассмотрена установка этого фреймворка на хостинг Beget. Для установки Django будет использоваться Python 3.6. При необходимости можете использовать другую версию Python, установив ее локально, как описано выше.
Сначала необходимо перейти в виртуальное окружение сервера (Docker), подробнее о том, как это сделать, можно ознакомиться по ссылке Общие сведения по установке приложений (виртуальное окружение Docker):
Для установки фреймворка Django используется пакетный менеджер pip, который автоматически устанавливает последнюю версию:
Затем необходимо создать новый проект:
И создать файл passenger_wsgi.py со следующим содержимым:
Посмотреть версию и путь до Django можно так:
В рассматриваемом примере passenger_wsgi.py следующий:
Если мы используем virtualenv, то содержимое должно быть следующим:
Для Django версии 1.4 – 1.6 отличается синтаксис последних двух строк.
В этом случае файл passenger_wsgi.py будет выглядеть следующим образом:
Для последних версий Django также требуется явно задать домен, на котором работает сайт. Для этого нужно отредактировать список ALLOWED_HOSTS в файле <название_проекта>/<название_проекта>/settings.py. Вместо указания определенного домена можно использовать символ подстановки *, тогда проект будет работать на любом домене.
В нашем примере он будет выглядеть так:
Для корректной отдачи статического контента средствами Nginx необходимо создать символьную ссылку public, указывающую на public_html:
Затем нужно создать файл .htaccess и указать в нем путь до Python:
Если используется virtualenv, то содержимое будет следующим:
При использовании локально собранного Python содержимое может быть и таким:
После завершения настройки окружения необходимо создать каталог tmp, где будет храниться файл restart.txt:
В целях безопасности на сервере установлена система разграничения прав доступа между сайтами, основанная на POSIX ACL. Сделано это для того, чтобы файлы одного сайта не могли обращаться к файлам других сайтов. Приложения, которые будут устанавливаться в каталоги .local, по умолчанию недоступны при попытке их запуска через сайт. Необходимо настроить общий доступ к этим каталогам через Файловый менеджер (подробная справка по разделу).
Для проверки работоспособности нужно открыть сайт в браузере:
Установка микрофреймворка Flask
Сначала необходимо перейти в виртуальное окружение сервера (Docker), подробнее о том, как это сделать, можно ознакомиться по ссылке Общие сведения по установке приложений (виртуальное окружение Docker):
В рассматриваемом примере каталог сайта – flask, нужно перейти в этот каталог:
Установка Flask происходит через пакетный менеджер pip:
Необходимо создать каталог с новым проектом HelloFlask и временный каталог tmp:
Для корректной отдачи статического контента средствами Nginx создается симлинк на public_html:
После чего нужно создать файл .htaccess со следующим содержимым:
где во второй директиве PassengerPython указывается путь до интерпретатора Python. Если используется virtualenv или локально собранный Python, то /usr/bin/python3 необходимо заменить на соответствующий путь.
Далее нужно создать файл passenger_wsgi.py со следующим содержимым:
В каталоге проекта HelloFlask необходимо создать файл __init__.py со следующим содержимым:
После чего в корневом каталоге сайта
/flask необходимо выполнить следующую команду:
При проверке работы сайта в браузере должно получиться:
Первоначальная установка микрофреймворка Bottle
Сначала необходимо перейти в виртуальное окружение сервера (Docker), подробнее можно ознакомиться по ссылке Общие сведения по установке приложений (виртуальное окружение Docker).
После чего перейти в каталог сайта:
Bottle устанавливается через пакетный менеджер pip.
Затем нужно создать каталог с новым проектом HelloBottle и временный каталог tmp:
Для корректной отдачи статического контента средствами Nginx создается симлинк на public_html:
Далее нужно создать файл .htaccess, общий вид которого:
Вторая директива PassengerPython указывает путь до интерпретатора Python, третья директива SetEnv – путь к установленным модулям. Поскольку по умолчанию модули устанавливаются в каталог /usr/lib/python3.6 и /usr/local/lib/python3.6, необходимо переопределить этот параметр.
В рассматриваемом примере .htaccess получился следующим:
Общий вид файла passenger_wsgi.py:
В рассматриваемом примере passenger_wsgi.py получился следующим:
Затем необходимо создать файл app.py в каталоге проекта HelloBottle:
Для того чтобы Passenger переприменил конфиг, необходимо создать файл tmp/restart.txt:
Для проверки работоспособности нужно открыть сайт в браузере:
Установка web2py
Web2py — фреймворк с открытым исходным кодом для разработки веб-приложений, написанный на языке программирования Python. Web2py призван сократить рутинные процессы веб-разработки, такие как написание веб-форм с нуля, хотя разработчик может сам разработать ее с нуля, если в этом возникнет необходимость.
В этой статье будет рассмотрена установка этого фреймворка на хостинг Beget. В качестве версии Python мы будем использовать установленную глобально 3.6.
Первое, что нужно сделать — подключиться в виртуальное окружение сервера (Docker) через протокол SSH. Подробнее о подключении описывается в статье Общие сведения по установке приложений (виртуальное окружение Docker).
Теперь мы в виртуальном окружении переместимся в директорию сайта, заранее созданного в разделе Сайты, в нашем случае — это web2py:
После склонируем сам фреймворк:
Переместим все файлы в текущую директорию командой:
Скопируем в текущую директорию файл handlers/wsgihandler.py:
Сделаем симлинк passenger_wsgi.py на файл wsgihandler.py:
Добавим несколько директив в файл .htaccess:
Для работы web2py нужно поставить библиотеки pyDAL и yatl:
Для корректной отдачи статического контента средствами Nginx создается симлинк на public_html:
Для того чтобы Passenger переприменил конфиг, необходимо создать файл tmp/restart.txt:
Теперь проверим в браузере. Вводим URL нашего сайта и видим стандартную страницу с установленным фреймворком:
Ссылка на административную панель фреймворка – http://site.ru/admin, в рассматриваемом примере – http://denia059.beget.tech/admin.
В документации web2py указано, что доступ к административной панели заблокирован. Чтобы разблокировать доступ, необходимо выполнить следующую команду:
После чего ввести пароль:
Проверка работоспособности сайта средствами браузера:
При необходимости сменить пароль для доступа к административной панели можно, нажав на кнопку «Изменить пароль администратора» в правой части:
Удачной работы! Если возникнут вопросы — напишите нам, пожалуйста, тикет из Панели управления аккаунта, раздел «Помощь и поддержка».
Как загрузить django сайт на beget
Установка и настрока Django проекта на хостинге Beget
Мой сайт работает на хостинге Beget и написан с ипользованием Python и фреймворка Django. Бегет хорошо подходит для размещения небольших проектов как этот. В этой статье раскажу как хостить Django-проект на Бегете.
Для начала создадим сайт в панели администратора
- Создадим домен и прекрепим для него новую папку с каким-нибудь именем
- В разделе CMS, главного меню хостинга, выберем Django и установим каркас приложения
После установки фреймворка в конреновой директории можно найти файл README.txt следующего содержания
Django установленный системой автоматической установки cms LTD BEGET
Действия описанные ниже необходимо выполнять в docker-окружении выполнив команду ниже ssh localhost -p222
для установки дополнительных модулей используйте pip
сам Django располагается в папке
/home/u/username/site-directory/public_html/venv/ для начала надо переключиться на текущий virtualenv
заходим в папку с проектом
cd /home/u/username/site-directory/public_html
source venv/bin/activate
проверяем правильно ли определился путь до pip:
which pip
/home/u/username/site-directory/public_html/venv/bin/pip
теперь мы можем пользоваться pip’ом для установки модулей не указывая полного пути до исполняемого файла:
pip install
где имя модуля который мы хотим установить
Для перезапуска passenger в папке проекта достаточно выполнить команду touch на пустом файле restart.txt
pwd
/home/u/username/site-directory/public_html/HelloDjango/HelloDjango/tmp
touch restart.txt
Создание репозитория
Создайте репозиторий на любом из сервесов: Github, Bitbucket или Gitlab. Не рекомендуется хранить данные для подключения к базе данных в репозитории. Но если вы решили так сделать, не забудьте создать приватный репозиторий.
В личного кабинета в сайдбаре нужно включить SSH-доступ.
Подключимся к хостингу по ssh:
Пароль для доступа такой же как и от личного кабинета
Зайдем в docker-контейнер:
ssh localhost -p 222
Пароль для доступа такой же как и от личного кабинета
Инициализируем репозиторий в директории /public_html:
git commit -m «Initial commit»
Добавим ссылку на внешний репозиторий:
git add remotename url
Проверим, что репозиторий добавлен:
origin https://github.com/username/repository (fetch)
origin https://github.com/username/repository (push)
Привяжем ветку master к внешней ветке и отправим файлы в репозиторий:
git branch —set-upstream-to=origin/master
Теперь можно разрабатывать сайт на локальной машине. Когда нужно будет перенести сайт на сервер нужно выполнить одну команду и поправить конфигурационные файлы, если потребуется
Django
На хостинге нужно создать сайт и прикрепить к нему домен.
Не забудьте разрешить подключение по FTP и SSH
Docker
Сначала необходимо подключиться к серверу по SSH:
Для этого понадобится имя пользователя на хостинге — это может быть как администратор, так и специально созданный ftp аккаунт.
Вместо username введите имя аккаунта у которо есть доступ к хостингу
Вместо website_url.com — ваш домен либо IP address
После того, как вы зашли на хостинг — нужно активировать виртуальное окружение
Для перехода в виртуальное окружение Docker нужно выполнить следующую команду:
ssh localhost -p222
После чего возможно придётся ещё раз ввести пароль для доступа к аккаунту.
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.9.132-0-beget-acl x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage
Python
Проверить, установлены ли python3 и pip можно командами
python3 -V
pip3 -V
Python 3.7.0
pip 20.1 from /home/u/user/.local/lib/python3.7/site-packages/pip (python 3.7)
Проверить где находится python3 можно командой
Если Python не установлен или вам нужна более свежая версия — можно выполнить установку вручную
Установка Python
Подробнее про установку программ в Linux с помощью configure_make_make-install читайте здесь
/.local/include/ (docker) login@server:
Затем нужно в .bashrc данного аккаунта прописать $PATH до директории
/.local/bin/ или алиас для python3,
Проверим путь до python3
[0] $ which python3
Этот путь нам и нужно прописать в PATH. Отбросим только /python3
И перезапустить .bashrc
Виртуальное окружение
Часто полезно пользоваться виртуальным окружением. Создавать их можно разными способами, например с помощью:
- venv
- virtualenv
- anaconda
python3 -m venv venv_django
source venv_django/bin/activate
Обычно при активации виртуального окружения в терминале перед именем пользователя появляется называние окружения в круглых скобках.
Внутри containerа вы скорее всего уже видите (docker) а название окружения может и не появиться.
To проверить перешли вы в окружение или нет executei
Как вы можете проверить здесь — до входа в окружение использовался другой Python
Либо перейдите в интерактивный режим
Выполните две команды
Они должны показать разный результат
Установка Django
Первым делом советую обновить pip
python3 -m pip install —upgrade pip
Затем непосредственно установить Django
python3 -m pip install django
python3 -m django —version
python3 -m pip list
Package Version —————— ——— asgiref 3.3.4 Django 3.2.4 pip 21.1.2 pytz 2021.1 setuptools 39.0.1 sqlparse 0.4.1 typing-extensions 3.10.0.0
/HelloDjango [0] $ python3 -m django Type 'python -m django help ' for help on a specific subcommand. Available subcommands: [django] check compilemessages createcachetable dbshell diffsettings dumpdata flush inspectdb loaddata makemessages makemigrations migrate runserver sendtestemail shell showmigrations sqlflush sqlmigrate sqlsequencereset squashmigrations startapp startproject test testserver Note that only Django core commands are listed as settings are not properly configured (error: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.). (docker) aredel.com@server:
/HelloDjango [0] $ ls HelloDjango manage.py (docker) aredel.com@server:
/HelloDjango [0] $ python3 manage.py runserver Performing system checks. System check identified no issues (0 silenced). You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. February 03, 2019 — 18:50:29 Django version 2.1.5, using settings 'HelloDjango.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
python3 manage.py migrate
Запуск первого проекта в Django
Запуск Django
Переходим в директорию в которой нужно создать проект. Например в public_html.
django-admin startproject Project_Name
После удачного выполнения этой команды создаётся директория Project_Name , внутри которой будет находится файл manage.py и ещё одна директория с таким же именем — Project_Name.
Внутри вложенной директории Project_Name находятся файлы
WSGI расшифровывается как Web Server Gateway Interface.
Это стандарт взаимодействия между Python-программой, выполняющейся на стороне сервера, и самим веб-сервером, например Apache
Пример файла manage.py
#!/usr/bin/env python «»»Django's command-line utility for administrative tasks.»»» import os import sys def main(): «»»Run administrative tasks.»»» os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Project_Name.settings') try: from django.core.management import execute_from_command_line except ImportError as exc: raise ImportError( «Couldn't import Django. Are you sure it's installed and » «available on your PYTHONPATH environment variable? Did you » «forget to activate a virtual environment?» ) from exc execute_from_command_line(sys.argv) if __name__ == '__main__': main()
wsgi.py
Для настройки wsgi.py понадобятся путь до Django и путь до проекта.
Путь до Django можно получить выполнив
python3 -c «import django; print(django.get_version()); print(django.__file__)»
Внутри вложенной директории Project_Name находятся файлы
Запуск сервера
Из той же директории в которой находится скрипт manage.py вводим команду
python3 manage.py runserver
Performing system checks.
System check identified no issues (0 silenced).
February 06, 2019 — 20:54:38
Django version 2.1.5, using settings 'Project_Name.settings'
Starting development server at http://127.0.0.1:8000/
В каждом проекте (project) обычно используется одно или несколько приложений (application)
Когда все приложения и конфигурации объединены они составляют веб-приложение.
applications + configurations = web application
Создаём первое приложение
python3 manage.py startapp first_app
Появится директория first_app в которой будут следующие файлы
Создаём view и связываем с url
Переходим в директорию Project_Name/Project_Name
Редактируем файл Project_Name/Project_Name/settings.py
Нужно добавить в список установленных приложений наше новое приложение first_app
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'first_app', ]
python3 manage.py runserver
Если перезапуск осуществляется с помощью скрипта выполняем (насколько я знаю, это актуально для хостингов beget и dreamhost)
Работа с Django на хостинге Beget
Итак первым делом нужно в паели веб-сервера включить доступ по ssh для вашего аккаунта.
Далее подключаемся к нашему хостингу из терминала
попав на сервер переходим в docker — окружение
Прежде чем идти дальше, предполагается, что у вас уже установлен Python на хостинге. Как устанавливать цитировать руководство не буду, просто оставлю ссылку на него, где все подробно расписано. В моем случае, нужно было установить Python 3, что я и сделал.
На сервере уже по умолчанию установлен git, поэтому переходим в папку Django приложения, обновляем проект командой, разумеется предварительно нужно инициировать репозиторий git
А также копируем статику:
/.local/bin/python3.5 ./manage.py collectstatic
После завершения настройки окружения необходимо создать каталог tmp, где будет хранится файл restart.txt:
Пересоздание tmp/restart.txt применяет новые изменения в проекте.
На этом пожалуй все, Очень качественный и недорогой хостинг, всем советую!
Как загрузить django сайт на beget
ssh localhost -p222
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.9.132-0-beget-acl x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage
Python
python3 -V
pip3 -V
Python 3.7.0
pip 20.1 from /home/u/user/.local/lib/python3.7/site-packages/pip (python 3.7)
Установка новой версии Python
Установка Python
/.local/include/ (docker) login@server:
[0] $ which python3
- venv
- virtualenv
- anaconda
python3 -m venv venv_django
source venv_django/bin/activate
Установка Django
python3 -m pip install —upgrade pip
python3 -m pip install django
python3 -m django —version
python3 -m pip list
Package Version —————— ——— asgiref 3.3.4 Django 3.2.4 pip 21.1.2 pytz 2021.1 setuptools 39.0.1 sqlparse 0.4.1 typing-extensions 3.10.0.0
Запуск первого проекта в Django
django-admin startproject Project_Name
__init__.py
settings.py
urls.py
wsgi.py
#!/usr/bin/env python «»»Django’s command-line utility for administrative tasks.»»» import os import sys def main (): «»»Run administrative tasks.»»» os.environ.setdefault(‘DJANGO_SETTINGS_MODULE’, ‘Project_Name.settings’) try : from django.core.management import execute_from_command_line except ImportError as exc: raise ImportError( «Couldn’t import Django. Are you sure it’s installed and » «available on your PYTHONPATH environment variable? Did you » «forget to activate a virtual environment?» ) from exc execute_from_command_line(sys.argv) if __name__ == ‘__main__’: main()
passenger_wsgi.py
cd /home/u/user/site.ru
touch passenger_wsgi.py
python3 -c «import django; print(django.get_version()); print(django.__file__)»
# -*- coding: utf-8 -*- import os import sys from django.core.wsgi import get_wsgi_application sys.path.insert( 0 , ‘/home/u/user/site.ru/public_html/Project_Name’ ) sys.path.insert( 1 , ‘/home/u/user/site.ru/venv_django/lib/python3.7/site-packages’ ) os.environ[ ‘DJANGO_SETTINGS_MODULE’ ] = ‘Project_Name.settings’ application = get_wsgi_application()
applications + configurations = web application
python3 manage.py startapp first_app
settings.py
INSTALLED_APPS = [ ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.messages’, ‘django.contrib.staticfiles’, ‘first_app’, ]
/site.ru [0] $ touch tmp/restart.txt
python3 manage.py runserver
Performing system checks.
System check identified no issues (0 silenced).
February 06, 2019 — 20:54:38
Django version 2.1.5, using settings ‘Project_Name.settings’
Starting development server at http://127.0.0.1:8000/
Начинаем развертывание Django-сайта на хостинге
Администратор и владелец сайта не несут ответственности за содержание и достоверность информации, размещенной в текстах сообщений и мнениях посетителей сайта.
Все сообщения и информация, размещенные посетителями сайта, являются выражением субъективного мнения, личной оценки лица, разместившего сообщение.
Мнение авторов комментариев может не совпадать с мнением администрации сайта.
Установка и настрока Django проекта на хостинге Beget
Мой сайт работает на хостинге Beget и написан с ипользованием Python и фреймворка Django. Бегет хорошо подходит для размещения небольших проектов как этот. В этой статье раскажу как хостить Django-проект на Бегете.
Для начала создадим сайт в панели администратора
- Создадим домен и прекрепим для него новую папку с каким-нибудь именем
- В разделе CMS, главного меню хостинга, выберем Django и установим каркас приложения
После установки фреймворка в конреновой директории можно найти файл README.txt следующего содержания
Django установленный системой автоматической установки cms LTD BEGET
Действия описанные ниже необходимо выполнять в docker-окружении выполнив команду ниже ssh localhost -p222
для установки дополнительных модулей используйте pip
сам Django располагается в папке
/home/u/username/site-directory/public_html/venv/ для начала надо переключиться на текущий virtualenv
заходим в папку с проектом
cd /home/u/username/site-directory/public_html
source venv/bin/activate
проверяем правильно ли определился путь до pip:
which pip
/home/u/username/site-directory/public_html/venv/bin/pip
теперь мы можем пользоваться pip’ом для установки модулей не указывая полного пути до исполняемого файла:
pip install
где имя модуля который мы хотим установить
Для перезапуска passenger в папке проекта достаточно выполнить команду touch на пустом файле restart.txt
pwd
/home/u/username/site-directory/public_html/HelloDjango/HelloDjango/tmp
touch restart.txt
Создание репозитория
Создайте репозиторий на любом из сервесов: Github, Bitbucket или Gitlab. Не рекомендуется хранить данные для подключения к базе данных в репозитории. Но если вы решили так сделать, не забудьте создать приватный репозиторий.
В личного кабинета в сайдбаре нужно включить SSH-доступ.
Подключимся к хостингу по ssh:
Пароль для доступа такой же как и от личного кабинета
Зайдем в docker-контейнер:
ssh localhost -p 222
Пароль для доступа такой же как и от личного кабинета
Инициализируем репозиторий в директории /public_html:
git commit -m «Initial commit»
Добавим ссылку на внешний репозиторий:
git add remotename url
Проверим, что репозиторий добавлен:
origin https://github.com/username/repository (fetch)
origin https://github.com/username/repository (push)
Привяжем ветку master к внешней ветке и отправим файлы в репозиторий:
git branch —set-upstream-to=origin/master
Теперь можно разрабатывать сайт на локальной машине. Когда нужно будет перенести сайт на сервер нужно выполнить одну команду и поправить конфигурационные файлы, если потребуется