Code Monkey home page Code Monkey logo

adbf4053's Introduction

Инструкция по развертыванию

  • /form/ - создание формы
  • /data/ - вывод данных всех введенных форм в JSON

Первоначальная настройка сервера с Ubuntu:

  1. Войти в систему как root:
ssh root@your_server_ip_or_domain

Ввести пароль root.

  1. Разрешить SSH соединения для брэндмауэра:
ufw allow OpenSSH
  1. Включить брэндмауэр:
ufw enable

Установка NGINX:

  1. Обновить локальный индекс пакетов:
sudo apt update
  1. Установить NGINX:
sudo apt install nginx
  1. Настроить брандмауэр:
sudo ufw allow 'Nginx Full'

Деплой приложения на Flask с помощью Nginx и Gunicorn:

  1. Установить необходимые пакеты:
sudo apt install python3-pip python3-venv python3-dev build-essential libssl-dev libffi-dev python3-setuptools postgresql libpq-dev
  1. Создать каталог для приложения и перейти в него:
mkdir ~/myproject
cd ~/myproject
  1. Созадть виртуальное окружение и активировать его:
python3 -m venv venv
source venv/bin/activate
  1. Установить необходимые пакеты:
pip install wheel gunicorn psycopg2
  1. Запустить программную оболочку PostgreSQL:
sudo su - postgres
psql
  1. Добавить пароль суперпользователя PostgreSQL:
alter user postgres password 'root';
  1. Создать базу данных:
create database inputsdata;
  1. Выйти из программной оболочки (Ctrl + D):
exit
exit
  1. Склонировать репозиторий с проектом:
git clone https://github.com/astivard/adbf4053.git
  1. Перейти в родительскую папку проекта:
cd adbf4053/
  1. Установить необходимые пакеты:
pip install -r requirements.txt
  1. Разрешить доступ к порту 5000:
sudo ufw allow 5000
  1. Запустить приложение для создания БД:
python3 src/app.py
  1. Выключить виртуальное окружение:
deactivate
  1. Создать юнит-файл:
sudo nano /etc/systemd/system/myproject.service
  1. Добавить следующее содержимое и сохранить:
[Unit]
Description=Gunicorn instance to serve myproject
After=network.target

[Service]
User=root
Group=www-data
WorkingDirectory=/root/myproject/adbf4053/src
Environment="PATH=/root/myproject/venv/bin"
ExecStart=/root/myproject/venv/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 wsgi:app

[Install]
WantedBy=multi-user.target
  1. Запустить созданную службу Gunicorn и включить её запуск при загрузке:
sudo systemctl start myproject
sudo systemctl enable myproject
  1. Создать файл конфигурации Nginx:
sudo nano /etc/nginx/sites-available/myproject
  1. Добавить следующее содержимое (в server_name следует указать IP-адрес вашего сервера или его доменное имя):
server {
    listen 80;
    server_name your_server_ip_or_domain;

    location / {
        include proxy_params;
        proxy_pass http://unix:/root/myproject/adbf4053/src/myproject.sock;
    }
}
  1. Сохранить конфигурацию и выйти.
  2. Включить конфигурацию блока сервера Nginx (связать файл конфигурации с sites-enabled каталогом):
sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled
  1. Перезапустить Nginx чтобы прочитать новую конфигурацию:
sudo systemctl restart nginx
  1. Удалить доступ через порт 5000:
sudo ufw delete allow 5000
  1. Добавить доступ к файлу сокета Gunicorn:
sudo chmod 755 /root
  1. Перейти по адресу приложения и проверить его работоспособность:
http://your_server_ip_or_domain

adbf4053's People

Contributors

astivard avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.