栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Centos下通过virtualenv工具配置python3+flask的web服务环境

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Centos下通过virtualenv工具配置python3+flask的web服务环境

我的系统环境是:
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.8 (Final)
Codename:Final

1、安装Nginx
可以参考CentOS6.6环境中安装Nginx详细过程笔记博客文章

2、安装Python3.6

[root@localhost home]# wget   https://www.Python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
[root@localhost home]# tar  xJf  Python-3.6.1.tar.xz
[root@localhost Python-3.6.1]# cd  Python-3.6.1.tar.xz
[root@localhost Python-3.6.1]# ./configure  --prefix=/usr/local/python3 && make && make install

#创建软连接

[root@localhost Python-3.6.1]#  ln -s /usr/local/python3/bin/python3 /usr/bin/python3
[root@localhost Python-3.6.1]#  ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

3、安装virtualenv并通过该工具搭建Python应用环境
virtualenv是一个创建独立Python开发环境的工具,
它可以为应用提供独立的Python运行环境,解决不同应用间多版本的冲突问题
①安装virtualenv

[root@localhost ~]# pip3 install virtualenv

安装成功后在Python3.6的安装目录中的bin目录下会有一个virtualenv可执行文件
②创建应用目录demo

[root@localhost ~]# mkdir  demo

③在demo目录下创建一个python3.6虚拟环境
可以使用-p PYTHON_EXE选项在创建虚拟环境的时候指定python版本(只能指定已安装好的python版本)

[root@localhost ~]# cd  demo
[root@localhost demo]#  /usr/localpython3/bin/virtualenv  -p /usr/bin/python3 venv

创建成功后在demo目录下新建了一个venv目录,该目录其实类似Python的安装目录
④激活虚拟环境

[root@localhost demo]#  source  venv/bin/activate

激活后就可以在该环境下安装Python各种模块了
关闭虚拟环境的密令如下:

(venv)[root@localhost demo]#  deactivate

⑤安装flask

(venv)[root@localhost demo]#  pip  install flask

安装成功后在demo目录下创建一个基于flask框架的代码示例来测试的python文件index.py,内容如下:

#/usr/bin/env python
 
from flask import Flask
 
app = Flask(__name__)
 
@app.route('/')
def hello():
    return 'Hello World!'
 
if __name__ == '__main__':
    app.run()

⑥安装gunicorn

(venv)[root@localhost demo]#  pip  install gunicorn

安装成功后,使用gunicorn运行基于flask的index.py文件

(venv)[root@localhost demo]#  gunicorn --workers=3 index:app -b 127.0.0.1:8080

其中的–workes指定运行的进程数,后面的表示地址绑定
index:app中 index代表当前运行的module名,也就是文件名,后面的app是创建的Flask对象
具体配置的查看官网:​http://docs.gunicorn.org/en/latest/settings.html#config
运行成功后,可以查看一下index进程

[root@localhost demo]#  ps -ef | grep index

⑦修改Nginx配置文件,具体如下:

#user  nobody;  
worker_processes  1;  
  
#error_log  logs/error.log;  
#error_log  logs/error.log  notice;  
#error_log  logs/error.log  info;  
#pid logs/nginx.pid;  
events {  
    worker_connections  1024;  
} 
http {  
    includemime.types;  
    default_type  application/octet-stream;  
  
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '  
    #    '$status $body_bytes_sent "$http_referer" '  
    #    '"$http_user_agent" "$http_x_forwarded_for"';  
  
    #access_log  logs/access.log  main;  
  
    sendfile on;  
    #tcp_nopush     on;  
  
    #keepalive_timeout  0;  
    keepalive_timeout  65;  
  
    #gzip  on;  
  
    server {  
 listen      80;  
 server_name  pw.com; 
  
 location / {  
     #设置代理地址
     proxy_pass http://127.0.0.1:8080;
     proxy_redirect off;
     proxy_set_header Host $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }  
  
 error_page  500 502 503 504  /50x.html;  
 location = /50x.html {  
     root  html;  
 }  
  
 location /static/ {  
     if (-f $request_filename) {  
  rewrite ^/static/(.*)$  /static/$1 break;  
     }  
 }  
    }  
  
} 

gunicorn启动python文件后,启动Nginx,直接访问本机的ip地址即可

转自:http://blog.csdn.net/u014236259/article/details/75286412

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/222254.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号