美文网首页
Django部署

Django部署

作者: 岁月悄然飞逝徒留回忆_54a5 | 来源:发表于2018-12-10 15:56 被阅读0次
    首先需购买服务器 新手推荐购买 阿里云或腾讯云进行使用 相对别的服务器更加简单易上手容易部署

    一本地部署

    (1)布署前需要关闭调试、允许任何机器访问,打开项目的settings.py文件。

    DEBUG = False
    ALLOW_HOSTS=['*',]
    收集静态资源:
    STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
    
    python3 manage.py collectstatic  
    

    (2)配置uWSGI,在项目目录下创建uwsgi.ini文件,配置如下

    [uwsgi]
    http = 127.0.0.1:8000
    chdir = /home/qq/桌面/boke#uwsgi文件的路径
    module          = boke.wsgi
    
    processes       = 4
    
    master          = true
    
    threads = 2
    
    daemonize       = uwsgi.log
    
    pidfile = uwsgi.pid
    virtualenv = /home/qq/.virtualenvs/1807_01#环境的路径
    

    (3)启动 uwsgi

        uwsgi --ini uwsgi.ini#在项目里
    

    (4)查看进程

    ps ajx|grep uwsgi
    

    (5)停止

    uwsgi --stop uwsgi.pid或 kill -9 后加进程号
    

    (6)在浏览器中输入如下网址:

    http://127.0.0.1
    

    (7)测试没问题,将配置中启用socket,禁用http

    [uwsgi]
    socket = 127.0.0.1:8000
    chdir = /home/qq/桌面/boke#uwsgi文件的路径
    module          = boke.wsgi
    
    processes       = 4
    
    master          = true
    
    threads = 2
    
    daemonize       = uwsgi.log
    
    pidfile = uwsgi.pid
    virtualenv = /home/qq/.virtualenvs/1807_01#环境的路径
    

    (8)下载nginx后放到桌面上,解压缩

    tar zxvf nginx-1.6.3.tar.gz
    

    (9)进入nginx-1.6.3目录,依次执行以下命令进行安装

    ./configure
    make
    sudo make install
    

    (10)默认安装到/usr/local/nginx/目录,进入此目录

    cd /usr/local/nginx/
    

    执行 sudo vi nginx.conf 配置如下文件

            server {
                  listen 80;#要监听的端口号
                  server_name 127.0.0.1;#本地ip地址
    
                  #动态请求
                  location / {
                      include uwsgi_params;
                      uwsgi_pass 127.0.0.1:8000;
                  }
                  #静态
                 location /static {
                    alias /home/qq/桌面/boke/static;#静态文件夹路径
    
                  }
    }
    

    (11)启动nginx
    /etc/init.d/nginx start 启动

            /etc/init.d/nginx stop 或killall -9 nginx 关闭
    
            /etc/init.d/nginx restart 重启    
    

    (二)服务器部署

    (1)进入你购买服务器通过扫码进行登陆 点击控制台 找到并记住你的服务器ip 重置一下密码
    然后再终端通过远程登陆操纵服务器

     ssh ubuntu#服务器名称@118.24.255.81#服务器ip
    

    (2)在服务器终端输入:

      sudo apt update 和 sudo apt upgrade
    

    (3)安装pip

     sudo apt install python3-pip
    

    (4)安装虚拟环境

    sudo pip3 install virtualenv 
    

    可能会报错如果报错在终端依次执行如下代码
    locale是用来设置软件运行的语言环境,所以语言环境设置有问题

        解决故障   复制这三条 命令 一条一条输入 在登入云服务器
        重新设置语言环境,最简单的解决办法:
        第一条
         echo "export  LC_ALL=en_US.UTF-8"  >>   /home/XXX/.bash_profile 代表(特定用户)
        第二条
    
         echo "export LC_ALL=en_US.UTF-8"  >>  /etc/profile 代表(所有用户)
        第三条
        exit
    

    (5)配置虚拟环境

    vi .bashrc
    
        复制这三条命令到文档
        export WORKON_HOME=$HOME/.virtualenvs
        export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
        source /usr/local/bin/virtualenvwrapper.sh
    
        激活
        source .bashrc
    

    (6)创建虚拟环境

    mkviatualenv 环境名称
    

    (7)安装数据库

      sudo apt-get install mysql-server mysql-client
    

    (8)导出本地数据库

    mysqldump -uroot -p dbname#数据库名称 > /home/qq/桌面/blog.sql#要导出文件要放的位置路径
    

    (9)导出本地依赖第三方

     pip freeze > requirements.txt
    

    (10)数据库和依赖文件还有源码 上传到服务器

    scp -r mz_boke.sql ubuntu@118.24.255.81:/home/ubuntu#服务器路径
    scp -r requirements.txt  ubuntu@118.24.255.81:/home/ubuntu#服务器路径
    

    (11)在云端创建一个和本地数据库一样的库,并导入数据

    source  /xxx/xx/xx/blog.sql #在数据库里执行
    

    (12)安装依赖文件

    pip install -r packages.txt
    

    (13)安装nginx 和安装uwsgi

           sudo apt-get install nginx
           pip  install uwsgi
    

    (14)配置uwsgi和nginx 和本地部署一样
    (1 5)启动uwsgi

      uwsgi --ini uwsgi.ini 启动
    uwsgi --stop uwsgi.pip 关闭
    

    (16)启动nginx

      /etc/init.d/nginx start 启动
    
      /etc/init.d/nginx stop 或killall -9 nginx 关闭
    
    /etc/init.d/nginx restart 重启
    

    完成

    相关文章

      网友评论

          本文标题:Django部署

          本文链接:https://www.haomeiwen.com/subject/hmirhqtx.html