Привет, ребята, так что сегодня в этом посте мы опубликуем приложение Flask на сервер Ubuntu
Таким образом, мы будем использовать бесплатный кредит 100 $, который предоставляется для новых пользователей в цифровом океане (примечание: этот шаг необязательно, если у вас есть сервер в другом облаке)
Это шаги:-
- Нажмите на эту ссылку https://m.do.co/c/63a3ac211390 пойти в цифровой океан Зарегистрированная страница
- Зарегистрируйтесь и введите данные карты
- В меню «Создать» нажмите «Капсы», чтобы открыть страницу «Создание капель». Если у вас нет никаких капель, на вкладке «Ресурсы» отображается большая синяя кнопка с капельницей, которая приводит вас к той же странице «Создание капель».
- Выберите любое изображение, которое вы хотите здесь, я собираюсь выбрать Ubuntu 18.04
Выберите план, который соответствует вашим потребностям, я собираюсь пойти с планом 10 $
Ваша капля создана
Теперь я собираюсь пропустить шаги SSH, пожалуйста, Metion это для этого шага https://www.digitalocean.com/docs/droplets/how-to/connect-with-ssh/
Запустите этот код
ПИП УСТАНОВИТЕЛЬНА
Это минимальное приложение Flask, и я собираюсь назвать wsgi.py, вы можете назвать это
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == '__main__': app.run()
- Теперь мы можем проверить его, работая
Онломн -связок 0,0.0.0:8000 wsgi
SSH в ваш сервер
Запустите следующую команду
sudo nano/etc/systemd/system/myproject.service
Там всплывает редактор и пишите следующие команды
[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
Они сделают Ctrl+C, чтобы сохранить его, и Ctrl+x для выхода
Теперь запустите эти команды
sudo systemctl start myproject sudo systemctl enable myproject
- Теперь вы можете проверить статус, выполнив эту команду
sudo systemctl status myproject
- Запустите эту команду
sudo apt update sudo apt-get install nginx
2. После установления nginx перейдите на свой project.conf, используя эту команду
sudo nano /etc/nginx/sites-available/myproject
- Затем введите этот код
server { listen 80; server_name your_domain www.your_domain; location / { include proxy_params; proxy_pass http://unix:/home/sammy/myproject/myproject.sock; } }
Затем запустите этот код
sudo ln -s/etc/nginx/sites-vailable/myproject/etc/nginx/sites- включено
Запустите этот код, чтобы проверить вашу конфигурацию
Sudo nginx -t
Затем запустите это, чтобы перезапустить nginx
Sudo SystemCtl перезапустить nginx
Если вы включили UFW, запустите это или пропустите это
sudo ufw allow 'Nginx Full'
- Посетите
http://yourip
- Запустите эти команды, чтобы загрузить CertBot
sudo add-apt-repository ppa:certbot/certbot sudo apt install python-certbot-nginx
Запустите эту команду, чтобы получить сертификат
sudo certbot -nginx -d your_domain -d www.your_domain
Это будет выход
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):
- Выберите свой выбор и нажмите
войти
- Вы получите такую черту
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
Теперь запустите эту команду, чтобы отключить http
sudo ufw delete разрешить 'nginx http'
Теперь добрался до
Поддержите меня на Patreon => https://www.patreon.com/gogamic
Оригинал: “https://dev.to/raghavmri/how-to-post-your-flask-app-in-ubuntu-318c”