Python является мощным и гибким языком программирования, и его популярность в веб-разработке неуклонно растет. Bottle — это минималистичный фреймворк на Python для создания веб-приложений. Он обладает простым синтаксисом и идеально подходит для создания маленьких проектов и прототипов. В этой статье мы рассмотрим, как задеплоить (развернуть) приложение на Bottle Python с использованием Gunicorn и Nginx.
1. Подготовка приложения на Bottle Python
Прежде всего, убедитесь, что у вас есть готовое веб-приложение на Bottle Python. Если у вас его нет, создайте простое приложение с использованием Bottle Python. Вот пример простого приложения:
from bottle import route, run
@route('/')
def hello():
return "Привет, мир!"
if __name__ == '__main__':
run(host='localhost', port=8080, debug=True)
2. Установка Gunicorn
Gunicorn (Green Unicorn) — это HTTP-сервер для Python, который поддерживает WSGI. Для установки Gunicorn используйте pip:
pip install gunicorn
3. Запуск приложения с помощью Gunicorn
Чтобы запустить приложение с использованием Gunicorn, выполните следующую команду в терминале:
gunicorn ваше_приложение:имя_приложения
Например:
gunicorn app:app
4. Установка Nginx
Nginx — это высокопроизводительный веб-сервер, который можно использовать в качестве прокси. Установка Nginx может различаться в зависимости от вашей операционной системы. Например, для Ubuntu выполните следующую команду:
sudo apt-get update
sudo apt-get install nginx
5. Настройка Nginx в качестве прокси
Создайте файл конфигурации Nginx для вашего приложения. Обычно конфигурационные файлы находятся в /etc/nginx/sites-available/
. Создайте новый файл, например, myapp
, и добавьте следующее содержимое:
server {
listen 80;
server_name ваш_домен_или_ip;
location / {
proxy_pass http://127.0.0.1:8000; # Замените на ваш порт, на котором работает Gunicorn
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Не забудьте заменить ваш_домен_или_ip
на реальный домен или IP-адрес.
6. Перезапуск Nginx
Перезапустите Nginx, чтобы изменения вступили в силу:
sudo systemctl restart nginx
Теперь ваше приложение на Bottle Python должно быть доступно по указанному домену или IP-адресу.