Запуск первого Python приложения на удаленном сервере

Для размещения первого небольшого приложения на удаленном сервере нам, конечно же, необходимо к нему подключиться и выполнить несколько шагов по установке необходимого ПО. Подробно, как устанавливать соединение с удаленным сервером, описано в этой статье.

Далее без воды, лишь шаги и небольшие комментарии. Подключаемся:

ssh user@223.226.124.251

Проверяем версию Python на сервере:

python -V

Устанавливаем виртуальное окружение:

sudo apt install python3-virtualenv

Обновляем систему двумя командами:

sudo apt update
sudo apt upgrade

По желанию устанавливаем текстовый редактор Vim:

sudo apt install vim

И создадим файл с его конфигурацией:

cat << EOF > ~/.vimrc
set number
set cursorline
set encoding=UTF-8
EOF

Создадим рабочую директорию:

mkdir workspace

Перейдем в нее:

cd workspace/

Установим виртуальное окружение:

python3 -m virtualenv -p python3 venv

Активируем его:

source venv/bin/activate

Установим Flask:

pip install flask

И теперь создадим небольшое приложение. Для этого создаем файл app.py:

touch app.py

И откроем его в Vim:

vim app.py

Скоро продолжу, мне после вима захотелось выпить пивка…

Продолжаем работу. Если у вас есть вопросы по поводу использования текстового редактора Vim, чекните эту шпаргалку по Vim.

Напишем в файле логику нашего простого приложения, которое будет просто возвращать строку с датой и точным временем.

  1 from flask import Flask                                                     
  2 from datetime import datetime
  3 
  4 
  5 app = Flask(__name__)
  6 
  7 
  8 @app.route('/')
  9 def index():
 10     return str(datetime.now())
 11 
 12 
 13 if __name__ == '__main__':
 14     app.run(debug=True)

Закрываем файл нажав Esc -> :wq

А теперь запустим приложуху с помощью команды в терминал flask run. Однако, так как мы работаем не с локальным хостом, нам необходимо передать нужный хост в качестве аргумента:

flask run -h 223.226.124.251

Приложение запустится на 5000 порту. И чтобы чекнуть его работу, нужно просто ввести в адресной строке браузера: 223.226.124.251:5000

Поменять порт тоже изи, достаточно передать его вторым аргументом:

flask run -h 223.226.124.251 -p 8080

Ну а если не хочется указывать порты в адресной строке браузера, то приложение можно запустить на портах HTTP или HTTPS, это 80 и 443, соответственно.

И последнее, чтобы запустить приложение на всех возможных хостах, необходимо использовать хост 0.0.0.0 Это может понадобиться, если вы не знаете или не помните нужный.