第六章 DRF 部署

部署到Linux

从github下载源码

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

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

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

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

第六章 DRF 部署_第1张图片

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

第六章 DRF 部署_第2张图片

测试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

第六章 DRF 部署_第3张图片

http://192.168.74.128:8888/

第六章 DRF 部署_第4张图片

安装nginx

步骤略

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

第六章 DRF 部署_第5张图片

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

第六章 DRF 部署_第6张图片

静态文件的配置

静态资源收集,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 =

第六章 DRF 部署_第7张图片

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

或者

第一章 DRF概述

第二章 DRF安装与项目创建

第三章 DRF之View进化论

第四章 DRF之Router 和 Serializer

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

第六章 DRF Linux部署

第七章 DRF其他知识

你可能感兴趣的:(第六章 DRF 部署)