第六章 DRF 部署

部署到Linux

從github下載源碼

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

2,創(chuàng)建虛擬環(huán)境,并安裝插件庫

3,修改配置文件/還原數(shù)據(jù)庫

4,在虛擬環(huán)境下執(zhí)行命令 python3 manage.py runserver

5,驗證linux可訪問

curl http://127.0.0.1:8000/

6,開啟遠(yuǎn)程訪問端口

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

7,啟動服務(wù)

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 同級創(chuàng)建 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服務(wù)IP端口,uWSGI做web服務(wù)器時用

master=true

processes=4


#vhost

= true #多站模式

#no-site

= true #多站模式時不設(shè)置入口模塊和文件

#workers

= 2 #子進(jìn)程數(shù)

#reload-mercy

= 10

#vacuum

= true #退出、重啟時清理文件

#max-requests

= 1000

#limit-as

= 512

#buffer-size

= 30000


#進(jìn)程文件,新建空文件即可,用于服務(wù)重啟、停止。如:

#重啟指令: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

步驟略

啟動服務(wù) :nginx 默認(rèn)是80端口,我給改了8014

nginx -sreload

# 其他指令

啟動服務(wù):nginx

退出服務(wù):nginx -s quit

強制關(guān)閉服務(wù):nginx -s stop

重啟服務(wù):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

靜態(tài)文件的配置

靜態(tài)資源收集,Pycharm /Windows 里 python manage.py

collectstatic

然后把static 壓縮成zip static.zip

用 SecureCRT rz回車 上傳該文件

然后 unzip static.zip

然后還是不行,經(jīng)過查看 將 nginx.conf 的 第一行

user nginx; 修改為 user root;就可以了。。暫時這樣了。。

同樣需要修改一個文件就可以運行了

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

注釋掉那個render =

此外nginx還可以托管靜態(tài)資源的訪問需要配置nginx的配置,

或者

第一章 DRF概述

第二章 DRF安裝與項目創(chuàng)建

第三章 DRF之View進(jìn)化論

第四章 DRF之Router 和 Serializer

第五章 DRF權(quán)限分頁查詢排序訪問限制

第六章 DRF Linux部署

第七章 DRF其他知識

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容