美文网首页工作生活
第六章 DRF 部署

第六章 DRF 部署

作者: 7d4b0b51c9d4 | 来源:发表于2019-07-03 21:42 被阅读0次

    部署到Linux

    从github下载源码

    1,git clone https://github.com/zhaorch/DRFtutorial.git -- 注意用https的这个

    2,创建虚拟环境,并安装插件库

    3,修改配置文件/还原数据库

    4,在虚拟环境下执行命令 python3 manage.py runserver

    5,验证linux可访问

    curl http://127.0.0.1:8000/

    6,开启远程访问端口

    iptables-I INPUT -p tcp --dport 8000 -j ACCEPT

    7,启动服务

    python3manage.py runserver 0.0.0.0:8000

    http://192.168.74.128:8000

    安装uwsgi

    pipinstall uwsgi

    测试uwsgi 写一个test.py文件

    defapplication(env, start_response): start_response('200

    OK', [('Content-Type','text/html')])return“HelloWorld”

    uwsgi

    --http :8001 --wsgi-file test.py --一直返回空页面,不知道为啥???不测试了

    在manage.py 同级创建 uwsgi.ini 文件

    备注不要乱写,特别是不要写在路径后面。。。太郁闷了

    chdir=/home/zrc/mywebsite/yunshop/yun-shop-drf # 这个备注就会抛异常

    ---------------------------------------------

    [uwsgi]

    socket=192.168.74.128:8000

    chdir=/home/zrc/mywebsite/yunshop/yun-shop-drf

    module=YunShop.wsgi

    #http

    = IP:Port #web服务IP端口,uWSGI做web服务器时用

    master=true

    processes=4

    #vhost

    = true #多站模式

    #no-site

    = true #多站模式时不设置入口模块和文件

    #workers

    = 2 #子进程数

    #reload-mercy

    = 10

    #vacuum

    = true #退出、重启时清理文件

    #max-requests

    = 1000

    #limit-as

    = 512

    #buffer-size

    = 30000

    #进程文件,新建空文件即可,用于服务重启、停止。如:

    #重启指令:uwsgi --restart [pidfile路径]

    #停止指令:uwsgi --stop [pidfile路径]

    pidfile=/home/zrc/mywebsite/yunshop/yun-shop-drf/uwsgi.pid

    daemonize=/home/zrc/mywebsite/yunshop/yun-shop-drf/uwsgi.log

    #disable-logging

    = true #不记录正常信息,只记录错误信息

    ---------------------------------------------

    运行命令:

    uwsgi --http :8888 --module YunShop.wsgi

    http://192.168.74.128:8888/

    安装nginx

    步骤略

    启动服务 :nginx 默认是80端口,我给改了8014

    nginx -sreload

    # 其他指令

    启动服务:nginx

    退出服务:nginx -s quit

    强制关闭服务:nginx -s stop

    重启服务:nginx -s reload

    验证配置文件:nginx -t

    使用配置文件:nginx -c "配置文件路径"

    使用帮助:nginx -h

    ps -aux | grep tomcat

    kill -9 [PID]

    ngnx配置:/etc/nginx/conf.d/default.conf

    server {

    listen 8014;

    server_name 192.168.74.128;

    location / {

    include uwsgi_params;

    uwsgi_pass 192.168.74.128:8000;

    uwsgi_read_timeout 2;

    }

    启动Nginx和UWsgi

    nginx

    uwsgi --ini uwsgi.ini

    uwsgi --reload uwsgi.pid

    uwsgi --stop uwsgi.pid

    http://192.168.74.128:80014

    静态文件的配置

    静态资源收集,Pycharm /Windows 里 python manage.py

    collectstatic

    然后把static 压缩成zip static.zip

    用 SecureCRT rz回车 上传该文件

    然后 unzip static.zip

    然后还是不行,经过查看 将 nginx.conf 的 第一行

    user nginx; 修改为 user root;就可以了。。暂时这样了。。

    同样需要修改一个文件就可以运行了

    /root/.virtualenvs/yunshop/lib/python3.7/site-packages/django/forms/boundfield.py

    注释掉那个render =

    此外nginx还可以托管静态资源的访问需要配置nginx的配置,

    或者

    第一章 DRF概述

    第二章 DRF安装与项目创建

    第三章 DRF之View进化论

    第四章 DRF之Router 和 Serializer

    第五章 DRF权限分页查询排序访问限制

    第六章 DRF Linux部署

    第七章 DRF其他知识

    相关文章

      网友评论

        本文标题:第六章 DRF 部署

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