部署到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,驗(yàn)證linux可訪問
6旗笔,開啟遠(yuǎn)程訪問端口
iptables-I INPUT -p tcp --dport 8000 -j ACCEPT
7,啟動服務(wù)
python3manage.py runserver 0.0.0.0: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 #不記錄正常信息,只記錄錯誤信息
---------------------------------------------
運(yùn)行命令:
uwsgi --http :8888 --module YunShop.wsgi
安裝nginx
步驟略
啟動服務(wù) :nginx 默認(rèn)是80端口肮砾,我給改了8014
nginx -sreload
# 其他指令
啟動服務(wù):nginx
退出服務(wù):nginx -s quit
強(qiáng)制關(guān)閉服務(wù):nginx -s stop
重啟服務(wù):nginx -s reload
驗(yàn)證配置文件: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
靜態(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;就可以了唇敞。蔗草。暫時這樣了。疆柔。
同樣需要修改一個文件就可以運(yùn)行了
/root/.virtualenvs/yunshop/lib/python3.7/site-packages/django/forms/boundfield.py
注釋掉那個render =
此外nginx還可以托管靜態(tài)資源的訪問需要配置nginx的配置咒精,
或者