`

ubuntu 上用nginx启动flask 大致过程

 
阅读更多




用python3启动
安装python3 的 pip 工具
$sudo apt-get install python3-pip

用pip安装python包
$sudo pip3 install flask
如果运行runserver.py时报缺少Compress的错,安装()
$sudo pip3 install flask-compress
$sudo pip3 install flask-script    (用到flask manager)
$sudo pip3 install mysql-connector-python --allow-external mysql-connector-python
$sudo pip3 install pdfkit

用pip可能安装不了也可以这样安装, 比如
$sudo apt-get install python3-numpy


安装nginx
$sudo apt-get install nginx

(runserver.py 是启动flask的入口)
在runserver.py同级目录下加一个manage.py文件,内容如下
--------------------文件内容分割线-------------------------
   from xxx import app
   import logging
   from datetime import datetime
   from flask.ext.script import Manager
  
  
   manager = Manager(app)
   @manager.command
   def runserver():
      app.run('0.0.0.0', 8888, use_reloader=False, threaded=True, debug=True)

  if __name__ == '__main__':
      logFileName = './log/serverlog%s.txt' % datetime.now().strftime('%Y-%m-%d-%H-%M')
      logging.basicConfig(filename=logFileName, level=logging.DEBUG,
                          format='%(asctime)s --- levelname:%(levelname)s filename: %(filename) funcName:%(funcName)s '
                                 'outputNumber: [%(lineno)d]  thread: %(threadName)s output msg: %(message)s',
                          datefmt='[%Y-%m-%d %H:%M:%S]')
      manager.run()
--------------------文件内容分割线-------------------------
以前是
$ python runserver.py
有了manage.py 后这时可以这样运行服务(这里不需要运行,只是说明一下)
$ python manage.py runserver




uwsgi配置
在runserver.py同级目录下加一个config.ini文件,内容如下
--------------------文件内容分割线-------------------------
[uwsgi]
 
 socket = 127.0.0.1:8888
 
 chdir = /home/jimi/xxx/aaa/   # config.ini 文件的目录
 
 wsgi-file = manage.py
 
 callable = app
 
 processes = 2
 threads = 2
 
 stats = 127.0.0.1:9191
--------------------文件内容分割线-------------------------
然后运行
$ uwsgi config.ini



nginx的配置  编辑文件 $ sudo vim /etc/nginx/sites-available/default
部分内容
--------------------文件内容分割线-------------------------
server {
      listen 80;

      server_name xxx;
 
      location / {
         
          include     uwsgi_params;
          uwsgi_pass  127.0.0.1:8888;
          uwsgi_param UWSGI_PYHOME  /usr;
          uwsgi_param UWSGI_CHDIR   /home/jimi/xxx/aaa;
          uwsgi_param UWSGI_SCRIPT  manage:app;
      try_files $uri $uri/ =404;
      }
--------------------文件内容分割线-------------------------
然后重启nginx
$ sudo service nginx restart
显示 [ OK ] 就成功启动了


现在访问http://192.168.1.193/了(从nginx访问了,而不是直接起flask访问)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics