服务器配置flask+nginx+python服务

介绍

这里首先要介绍一下轻量级的web框架 Flask
很多同学可能知道一些python的web框架 比如Django Tornado 等等,他们中各有优劣,大家可以根据需要来选择自己项目所使用的框架,对于这些框架的比较 我们回头可以单开一篇文章来讲解一下几个框架的优劣点。这篇文章我们主要讲解一下flask在服务端的安装,部署和运行

1、首先创建一个虚拟环境 我们利用的是virtualenv

pip3 install virtualenv

2、安装nginx 并启动

apt-get install nginx
/etc/init.d/nginx start

3、在nginx目录中 /var/www/xxxx 建立进入虚拟环境,安装python依赖的各种包

cd /var/www/python_web
virtualenv venv 
.venv/bin/activate

pip3 install flask
pip3 install uwsgi

进入虚拟环境方法

source venv/bin/activate

4、把flask项目拷贝到虚拟环境下

5、删掉nginx的默认配置文件 替换我们的配置文件(在我们工程文件下建立 pyweb_nginx.conf)

server {
    listen      80;
    server_name 60.205.107.6;
    charset     utf-8;
    client_max_body_size 75M;

    location / { try_files $uri @yourapplication; }
    location @yourapplication {
        include uwsgi_params;
        uwsgi_pass unix:/var/www/python_web/web_uwsgi.sock;
    }
}

6、 link到Nginx配置文件夹中

sudo li -s /var/www/python_web/pyweb_nginx.conf /etc/nginx/conf.d/

7、建立uwsgi的配置文件 项目目录下 建立web_uwsgi.ini 文件 并赋值

[uwsgi]
#application's base folder
base = /var/www/python_web
 
#python module to import 我们的项目名称
app = main
module = %(app)
 
#venv是我们的虚拟环境
home = %(base)/venv  
pythonpath = %(base)
 
#socket file's location
socket = /var/www/python_web/%n.sock
 
#permissions for the socket file
chmod-socket    = 666
 
#the variable that holds a flask application inside the module 	imported at line #6
callable = app
 
#location of log files  log存放的位置
logto = /var/log/uwsgi/%n.log

8、创建 /var/log/uwsgi/文件夹存放log日志

9、退出虚拟环境

deactivate    退出环境

运行uwsgi

nohup uwsgi --plugin python  --ini /var/www/python_web/web_uwsgi.ini

#当我们用上面那条命令运行的时候,如果你关闭了终端,你的项目可能就会停止了,所以这里我们需要在后台运行
nohup uwsgi --plugin python  --ini /var/www/python_web/web_uwsgi.ini &         #后台运行 

10、部署完毕 可以运行了

猜你喜欢

转载自blog.csdn.net/wangchao8110/article/details/85221158