Deploy Falsk with uwsgi and nginx on Opensuse

Deploy Falsk with uwsgi and nginx on Opensuse

Env

  • 百度云
  • Opensuse 42.3
  • python 3.4.6 with virtualenv
  • uwsgi
  • nginx

Flask Demo

  • flaskr: Flask Document demo
  • notice: The simple flask app demo

Deploy project: FLASKR

同步github 项目 chepiao 到 /home目录下, 然后运行一下命令:

        source venv/bin/activate
        export FLASK_APP=flaskr
        flaskr init-db
        # 创建随机密钥
        python -c 'import os; print(os.urandom(16))'
         b'_5#y2L"F4Q8z\n\xec]/'
        # 新建 config.py 存放 security key
        mkdir -p  venv/var/flaskr-instance
        vim venv/var/flaskr-instance/config.py
        "SECRET_KEY = b'_5#y2L"F4Q8z\n\xec]/'"
       # 通过waitress 运行服务
        waitress-serve --call 'flaskr:create_app'

Deploy project: NOTICE

  • uwsgi 命令行
    sudo uwsgi --socket 0.0.0.0:8080 --protocol=http   -w notice:app   --processes 2 --plugin python3
    # uwsgi 可通过命令行指定参数,但是一般会写为配置文件,便于管理,参考目录下 notice_uwsgi.ini
    sudo uwsgi --ini notice_uwsgi.ini
  • systemd 启动服务

     # 在 /usr/lib/systemd/system 目录下添加 notice.service 配置文件
     [Unit]
     Description=NOTICE SERVICES
    
     [Service]
     ExecStartPre=-/bin/bash -c 'mkdir -p /run/uwsgi; chown user:nginx /run/uwsgi'
     ExecStart=/bin/bash -c 'cd /home/chepiao; source venv/bin/activate; uwsgi --ini notice_uwsgi.ini'
     
     [Install]
     WantedBy=multi-user.target
    
      #  将该服务加入到 systemd 中
      systemctl enable /etc/systemd/system/notice.service
      sudo systemctl daemon-reload
      sudo systemctl start notice
      sudo systemctl stop notice
    
  • Reference

Nginx Reverse Proxy

在Opensuse 要配置在nginx.conf中

```
# creating a new server block configuration file in Nginx's sites-available directory. 
sudo nano /etc/nginx/sites-available/myproject
替换:
/ext/nginx/sites-available/default

server {
    listen 80;
    server_name 106.13.38.86;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/home/chepiao/notice.sock;
        charset  utf-8;
        uwsgi_connect_timeout 30;  # 设置连接uWSGI超时时间
    }
}

sudo service nginx restart
```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值