Для размещения первого небольшого приложения на удаленном сервере нам, конечно же, необходимо к нему подключиться и выполнить несколько шагов по установке необходимого ПО. Подробно, как устанавливать соединение с удаленным сервером, описано в этой статье.
Далее без воды, лишь шаги и небольшие комментарии. Подключаемся:
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 Это может понадобиться, если вы не знаете или не помните нужный.