zoukankan      html  css  js  c++  java
  • django2+python3+uwsgi+centos7部署网站

    Centos7中安装Python虚拟环境

    1.为什么要搭建虚拟环境?

    • 问题:如果在一台电脑上, 想开发多个不同的项目, 需要用到同一个包的不同版本, 如果使用上面的命令, 在同一个目录下安装或者更新, 新版本会覆盖以前的版本, 其它的项目就无法运行了.
    • 解决方案 : 虚拟环境 
      作用 : 虚拟环境可以搭建独立的python运行环境, 使得单个项目的运行环境与其它项目互不影响.

    在开发过程中, 便于控制python的web框架或工具包的版本,创建多个虚拟环境,就相当于我们在一台电脑上拥有了多个python解释器。

    好了,接下来我们开始安装了~

    2.搭建python虚拟环境

    1.我们先创建一个隐藏目录 .virtualenvs,所有的虚拟环境都放在此目录下 
    创建文件夹

    2.安装虚拟环境

    pip3 install virtualenv
    pip3 install virtualenvwrapper
    • 1
    • 2

    安装virtualenv

    3.配置环境变量,增加最后两行 
    vim ~/.bashrc 
    export WORKON_HOME=/root/.virtualenvs 
    source /usr/local/python3.6.5/bin/virtualenvwrapper.sh 
    修改bash.rc

    运行测试:source ~/.bashrc 
    发现报错了,是说 /usr/bin/python 没有 virtualenvwrapper 模块,我们把 /usr/bin/python 换成 python3

    报错截图 
    bash.rc报错

    思路:/usr/bin/python → /usr/bin/python2 
    操作:mv /usr/bin/python /usr/bin/python2

    然后把 python3 执行文件通过软链接的方式放到 /usr/bin/python 
    操作:ln -s /usr/local/python3.6.5/bin/python3 /usr/bin/python

    再次执行source ~/.bashrc 
    成功! 
    source成功

    4.创建虚拟环境

    • 在python3中,创建虚拟环境,需要联网!!!
    mkvirtualenv -p python3 虚拟环境名称
    例 :
    mkvirtualenv -p python3 Django_virtualenv

    出现这种错误,是因为 virtualenv 这个基础依赖包被安装在默认 Python 目录下,就需要做一个软连接 ln -s
    首先还是用 find / -name "virtualenv" 去找到位置
    然后做软连接ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
    • 创建成功 
      创建虚拟环境

      提示 :
      1.创建虚拟环境需要联网
      2.创建成功后, 会自动工作在这个虚拟环境上
      3.工作在虚拟环境上, 提示符最前面会出现 “虚拟环境名称”
      
      • 1
      • 2
      • 3
      • 4

    3.使用虚拟环境的命令

    • 选择虚拟环境: 
      workon 两次tab键 
      列出虚拟环境

    • 退出虚拟环境 
      deactivate

    • 删除虚拟环境 
      rmvirtualenv 虚拟环境名称 
      例 :删除虚拟环境py3_flask

      先退出:deactivate 
      再删除:rmvirtualenv py3_flask

    4.在虚拟环境中安装工具包

    • 工具包安装的位置 : 
      ~/.virtualenvs/py3_flask/lib/python3.5/site-packages

    • 安装工具包,先使用 workon Django_virtualenv 进入到 虚拟环境 
      pip install 包名称

      例 : 安装 django==1.11.11 的包 
      pip install django==1.11.11

      查看虚拟环境中已经安装的包 
      pip list 
      安装工具包

    OK,到此虚拟环境安装完成,你也可以根据自己的需要创建多个虚拟环境

     部署

    nginx配置:

    nginx配置文件内容

    vim /etc/nginx/conf.d/students.conf (students.conf自定义起名字)
    upstream students{
            server unix:///root/django-demo/students.sock;
    }
    
    server{
            listen 80;#端口号
            server_name 192.168.254.67;服务器ip
            charset utf-8;设置中文
    
            client_max_body_size 75M;文件传输最大75M
            location /static{
                    alias /root/django-demo/static_dist;静态文件存放位置
           }
    
            location /{
                    uwsgi_pass students;
                    include /etc/nginx/uwsgi_params;加载参数
            }
    }

    students_uwsgi.ini文件内容

    [uwsgi]
    chdir = /root/django-demo   #项目名字
    module = students.wsgi       #模块加载
    home = /root/.virtualenvs/django-env-py3#虚拟环境
    socket = /root/django-demo/students.sock
    chmod-socket = 666  #设置权限
  • 相关阅读:
    百度地图api
    白岩松视频
    rails3 unicorn部署
    rails3 unicorn部署
    rails3 unicorn部署
    nginx geoip 模块实现地区性负载均衡
    workingwithrails
    rails部署方案
    rails3使用cucumber和rspec进行测试
    rails3 unicorn部署
  • 原文地址:https://www.cnblogs.com/fengzi7314/p/10659647.html
Copyright © 2011-2022 走看看