第六章 DRF 部署

阿里云2000元红包!本站用户参与享受九折优惠!

部署到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的配置,

或者

你或许想:《去原作者写文章的地方

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论