Рубрики
Без рубрики

Как опубликовать приложение для колбы в Ubuntu

Привет, ребята, так что сегодня в этом посте мы отправим приложение Flask на сервере Ubuntu, создавая … Tagged Flask, Python, Ubuntu, DevOps.

Привет, ребята, так что сегодня в этом посте мы опубликуем приложение Flask на сервер Ubuntu

Таким образом, мы будем использовать бесплатный кредит 100 $, который предоставляется для новых пользователей в цифровом океане (примечание: этот шаг необязательно, если у вас есть сервер в другом облаке)

Это шаги:-

  1. Нажмите на эту ссылку https://m.do.co/c/63a3ac211390 пойти в цифровой океан Зарегистрированная страница
  2. Зарегистрируйтесь и введите данные карты
  3. В меню «Создать» нажмите «Капсы», чтобы открыть страницу «Создание капель». Если у вас нет никаких капель, на вкладке «Ресурсы» отображается большая синяя кнопка с капельницей, которая приводит вас к той же странице «Создание капель».
  4. Выберите любое изображение, которое вы хотите здесь, я собираюсь выбрать Ubuntu 18.04
  5. Выберите план, который соответствует вашим потребностям, я собираюсь пойти с планом 10 $

  6. Ваша капля создана

  7. Теперь я собираюсь пропустить шаги SSH, пожалуйста, Metion это для этого шага https://www.digitalocean.com/docs/droplets/how-to/connect-with-ssh/

  1. Запустите этот код ПИП УСТАНОВИТЕЛЬНА

  2. Это минимальное приложение Flask, и я собираюсь назвать wsgi.py, вы можете назвать это

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
  return 'Hello, World!'

if __name__ == '__main__': 
  app.run() 
  1. Теперь мы можем проверить его, работая Онломн -связок 0,0.0.0:8000 wsgi
  1. SSH в ваш сервер

  2. Запустите следующую команду sudo nano/etc/systemd/system/myproject.service

  3. Там всплывает редактор и пишите следующие команды

[Unit]
Description=Gunicorn instance to serve myproject
After=network.target

[Service]
User=user
Group=nginx
WorkingDirectory=/home/user/myproject
Environment="PATH=/home/user/myproject/myprojectenv/bin"
ExecStart=/home/user/myproject/myprojectenv/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 wsgi

[Install]
WantedBy=multi-user.target 
  1. Они сделают Ctrl+C, чтобы сохранить его, и Ctrl+x для выхода

  2. Теперь запустите эти команды

sudo systemctl start myproject
sudo systemctl enable myproject
  1. Теперь вы можете проверить статус, выполнив эту команду
sudo systemctl status myproject
  1. Запустите эту команду
sudo apt update 
sudo apt-get install nginx

2. После установления nginx перейдите на свой project.conf, используя эту команду

sudo nano /etc/nginx/sites-available/myproject

  1. Затем введите этот код
server {
    listen 80;
    server_name your_domain www.your_domain;

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/sammy/myproject/myproject.sock;
    }
}

  1. Затем запустите этот код sudo ln -s/etc/nginx/sites-vailable/myproject/etc/nginx/sites- включено

  2. Запустите этот код, чтобы проверить вашу конфигурацию Sudo nginx -t

  3. Затем запустите это, чтобы перезапустить nginx Sudo SystemCtl перезапустить nginx

  4. Если вы включили UFW, запустите это или пропустите это

sudo ufw allow 'Nginx Full'  
  1. Посетите http://yourip
  1. Запустите эти команды, чтобы загрузить CertBot
sudo add-apt-repository ppa:certbot/certbot
sudo apt install python-certbot-nginx
  1. Запустите эту команду, чтобы получить сертификат sudo certbot -nginx -d your_domain -d www.your_domain

  2. Это будет выход

Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
  1. Выберите свой выбор и нажмите войти
  1. Вы получите такую черту
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/your_domain/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/your_domain/privkey.pem
   Your cert will expire on 2018-07-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le
  1. Теперь запустите эту команду, чтобы отключить http sudo ufw delete разрешить 'nginx http'

  2. Теперь добрался до

Поддержите меня на Patreon => https://www.patreon.com/gogamic

Оригинал: “https://dev.to/raghavmri/how-to-post-your-flask-app-in-ubuntu-318c”