Beget install python 3

Flask на виртуальном хостинге Beget

Мой сайт, который собирает статистику по файлам пользователей проекта DCS работает на хостинге Beget и написан с ипользованием Python и фреймворка Flask. Как установить Python и фреймворк написано в статье тут. Я же покажу как я настроил сам фреймворк.

Структура проекта

├── HelloFlask
│ ├── blueprints
│ │ └── blogapp
│ ├── config.py
│ ├── controllers.py
│ ├── __init__.py
│ ├── logs
│ ├── models.py
│ ├── profs
│ ├── static
│ │ ├── files
│ │ ├── img
│ │ ├── styles
│ ├── templates
│ └── view.py
├── passenger_wsgi.py
├── public -> public_html/
├── public_html
├── README.md
├── requirements.txt
├── run.py
├── tmp
│ └── restart.txt
└── venv

Содержимое файлов настроек

congig.py

Файл конфигурации позволяет гибко настраивать фреймворк. Логирование настроено на запись логов в файл в директорию log. Также при оптимизации сайта понадобилось настройить сохранение .prof файлов профилировщика на диск в директорию profs.

class Configuration: DEBUG = False SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_DATABASE_URI = 'mysql://:@127.0.0.1:3306/' TESTING = False PROFILING = False # Enable profiling LOGGING = True # Enabe logging CACHE_TYPE = 'SimpleCache' # Flask-Caching related configs CACHE_DEFAULT_TIMEOUT = 300 class ProductionConfiguration(Configuration): pass class TestConfiguration(Configuration): TESTING = True class DevelopmentConfiguration(Configuration): DEBUG = True

__init__.py

Для инициализации использована фабричная функция.

import os import logging from logging.handlers import RotatingFileHandler from flask import Flask, render_template from werkzeug.middleware.profiler import ProfilerMiddleware # Import SQLAlchemy from flask_sqlalchemy import SQLAlchemy from .config import (DevelopmentConfiguration, ProductionConfiguration, TestConfiguration) from flask_caching import Cache cache = Cache() db = SQLAlchemy(engine_options=>) def create_app(): # Define the WSGI application object app = Flask(__name__) # Configurations try: if os.environ['FLASK_ENV'] == 'development': app.config.from_object(DevelopmentConfiguration) elif os.environ['FLASK_ENV'] == 'testing': app.config.from_object(TestConfiguration) except KeyError: app.config.from_object(ProductionConfiguration) if app.config.get('PROFILING'): if not os.path.exists('HelloFlask/profs'): os.mkdir('HelloFlask/profs') app.wsgi_app = ProfilerMiddleware( app.wsgi_app, restrictions=( '/controllers.py:', [30], ), profile_dir=os.path.join('HelloFlask', 'profs'), filename_format='-.prof', ) if app.config.get('LOGGING'): if not os.path.exists('HelloFlask/logs'): os.mkdir('HelloFlask/logs') file_handler = RotatingFileHandler( 'HelloFlask/logs/hello-flask.log', maxBytes=10240, backupCount=10) file_handler.setFormatter(logging.Formatter( '%(asctime)s:%(levelname)s:%(message)s:%(pathname)s:%(lineno)d') ) file_handler.setLevel(logging.INFO) app.logger.addHandler(file_handler) app.logger.setLevel(logging.INFO) app.logger.info('Startup logging') # Define the database object which is imported # by modules and controllers db.init_app(app) cache.init_app(app) with app.app_context(): db.create_all() # HTTP error handling @app.errorhandler(404) def not_found(error): return render_template('page404.html'), 404 # Import a module/component using its blueprint handler variable (mod_auth) from HelloFlask.view import webapp from HelloFlask.blueprints.blogapp.view import posts # Register blueprint(s) app.register_blueprint(webapp) app.register_blueprint(posts) # Build the database: # This will create the database file using SQLAlchemy with app.app_context(): db.create_all() migrate = Migrate(app, db) return app app = create_app() if __name__ == '__main__': app.run()

passenger_wsgi.py

# -*- coding: utf-8 -*- # /home/m/ma5tad/dcs-webapp-flask/public_html/venv/bin/flask import sys sys.path.append('/home/m/ma5tad/dcs-webapp-flask/HelloFlask') # указываем директорию с проектом sys.path.append('/home/m/ma5tad/dcs-webapp-flask/venv/lib/python3.6/site-packages') # указываем директорию с библиотеками, куда поставили Flask # from public_html.HelloFlask import create_app as application # когда Flask стартует, он ищет application. Если не указать 'as application', сайт не заработает from HelloFlask import app as application # когда Flask стартует, он ищет application. Если не указать 'as application', сайт не заработает from werkzeug.debug import DebuggedApplication # Опционально: подключение модуля отладки application.wsgi_app = DebuggedApplication(application.wsgi_app, True) # Опционально: включение модуля отадки application.debug = False # Опционально: True/False устанавливается по необходимости в отладке

run.py

from HelloFlask import create_app def main(*args, **kwargs): app = create_app(*args, **kwargs) return app if __name__ == '__main__': APP = main() APP.run(host='127.0.0.1', port=9000)

Сайт расположен на домене ma5ta.ru. Изначально сайт располагался на VPS Hetzner. При переезде на Бегет пришлось сменить БД и модифицировать работу сайта.

Читайте также:  Как переключить php ubuntu

Используя сайт вы соглашаетесь с

Источник

BEGET PYTHON УСТАНОВКА

Python — один из наиболее популярных языков программирования. Он чрезвычайно мощный и удобный, однако его трудно использовать, если вы не установили его правильно. Одной из наиболее популярных платформ для установки Python является Beget. Это надежная платформа, которая предоставляет хостинг с рядом дополнительных возможностей, таких как автоматическая установка популярных языков программирования, включая Python.

Установка Python на Beget довольно проста:

ssh user@server
sudo apt-get update
sudo apt-get install python3

Первая команда подключается к удаленному серверу, который вы хотите настроить. Вторая команда обновляет пакеты на сервере, а третья устанавливает Python3.

Чтобы убедиться, что Python установлен правильно, можно воспользоваться командой:

Которая выведет на экран версию Python, которую вы установили.

Также, вы можете установить дополнительные библиотеки Python, используя менеджер пакетов pip:

sudo apt-get install python3-pip
pip3 install package_name

Первая команда устанавливает менеджер пакетов pip для Python3. Вторая команда устанавливает библиотеку package_name.

Установка скрипта zTDS на хостинг Beget

Как загрузить сайт на хостинг Beget

#26. Завершаем развертывание Django-сайта на хостинге — Django уроки

Как разместить готовый сайт на Django на хостинге

За 10 минут — выгрузка (деплой) телеграм-бота на хостинг и его запуск.

Установка Telegram бота на ХОСТИНГ (СЕРВЕР) — Настройка сервера

#25. Начинаем развертывание Django-сайта на хостинге — Django уроки

  • Математические задачи python
  • Интересные команды python
  • Методы objects django
  • Как увеличить шрифт в python idle
  • Python стек технологий
  • Django валидация username
  • Преобразование бокса кокса python
  • Интеграционные тесты python
  • Python магический квадрат
  • Как построить линейный график в python
  • Проверка на пустую строку python
  • Крупномасштабное машинное обучение вместе с python
  • Python pandas регулярные выражения

Источник

Установка Python на хостинге Beget

Python — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.

Сначала необходимо включить подключение к серверу по SSH. Делается это в разделе Тех. информация и нажать кнопку SSH.

Используя PuTTY подключаемся к серверу для этого необходимо ввести имя сервера, показанное рядом с кнопкой включения SSH.

После нажатия кнопки Соединиться появиться окно логина, в него необходимо ввести догин и пароль от аккаунта Beget. После этих действий должно появиться это окно.

Если на сервере нет нужной версии python можно самостоятельно её установить. Для этого необходимо зайти в Docker-окружение. Делается это следующей командой:

Далее создаем временную директорию и переходим в неё, используя команды:

$ mkdir -p ~/.beget/tmp
$ cd ~/.beget/tmp/

Для сборки Python версии 3.7.0 и выше потребуется собрать библиотеку ffi. Если нужна версия ниже этот шаг можно пропустить. Скачиваем исходный код библиотеки:

Распакуем архив и переходим в каталог с исходным кодом:

$ tar -xf libffi-3.2.1.tar.gz && cd libffi-3.2.1

С помощью утилиты configure настроим все зависимости, префиксы, переменные, после чего будет сгенерирован Makefile:

$ ./configure —prefix $HOME/.local LDFLAGS=»-L/usr/local/lib»

Теперь запускаем процесс компиляции и установки:

Cкачать python можно с официального сайта, используя команду:

После этого распакуем архив и перейдём в каталог:

$ tar -xf Python-3.7.0.tgz && cd Python-3.7.0

Используя утилиту configure настраиваем все зависимости, префиксы, переменные, после чего будет сгенерирован Makefile:

$ ./configure —prefix=$HOME/.local LDFLAGS=»-L/usr/local/lib»

Теперь запускаем процесс компиляции и установки:

Всё готово. После этих действий все должно работать.

Комментарии(3):

Спасибо за пост. Установка прошла сразу, после тупого копирования мною текста. Вернее, вместо «—prefix=» я вводил «-prefix=», а вместо »-L/usr/local/lib» вводил «-L/usr/local/lib». Но запустить скрипт на сайте пока не получилось. — сделал test.py исполняемым для всех — в .htdocs разрешил исполнение файлов .py — первой строчкой файла делал: #!/home/U/USERNAME/.local/bin/python3.7 , а также #!/usr/bin/python3 — никак не сработало — второй строчкой: print(‘Content-Type: text/html\n\n’) Выдаёт ошибку 500.

Источник

Оцените статью