liunx 專案釋出(django + uwsgi + nginx+supervisor釋出web伺服器)
建立一個新的虛擬環境
mkvirtualenv my_django002
which 檢視自己是否在虛擬環境
pip3下載django1.11.14
在自己的Envs檔案下建立一個django專案
(my_django002) [[email protected]_0_12_centos my_django002]# django-admin startproject mysite15
啟動測試一下
準備完成
不使用Python3 啟動專案
使用uwsgi啟動
1.先下載 uwsgi
pip3 install uwsgi
下載完成後可以使用uwsgi測試下
先建立一個 text.py檔案 寫入一下內容:
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World,im uwsgi....."] # python3
用uwsgi啟動一下 uwsgi --http :8000 --wsgi-file text.py 返回結果字串
2.編寫一個hello測試檢視
from django.shortcuts import HttpResponse
def hello(request):
return HttpResponse('hello , im uwsgi.....')
加上url檢視
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hello/',hello),
]
3.通過uwsgi啟動你的django專案
1.進入你的django專案,這是第一層
cd /root/Envs/django15/mysite15
2.通過命令啟動
uwsgi --http :9000 --module mysite15.wsgi
3.測試訪問你的django應用 9000埠
4.注意,此時你的專案丟失靜態檔案,因為uwsgi不解析靜態檔案配置 使用nginx
uwsgi熱載入django程式
自動重啟 --py-autoreload=1
1.啟動命令新增一條引數
uwsgi --http :8088 --module mysite.wsgi --py-autoreload=1
配置靜態資源
0.建立uwsgi配置檔案 uwsgi.ini
[uwsgi]
#使用nginx連線時使用
socket=0.0.0.0:9000
#不用nginx直接當做web伺服器使用
#http=0.0.0.0:9000
#專案目錄絕對路徑
chdir=/root/Envs/django15/mysite15
#wsgi檔案路徑,在專案底下
wsgi-file=mysite15/wsgi.py
#指定直譯器目錄
home=/root/Envs/django15
processes=4
threads=2
master=True
pidfile=uwsgi.pid
1. 修改uwsgi 配置檔案 之後一定要重啟!!!!!!!!
2. 啟動專案
uwsgi --http :9000 --module mysite.wsgi --py-autoreload=1
有坑出錯 --
在這裡使用 一定要在這個檔案目錄下啟動!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
uwsgi --socket :9000 --module mysite15.wsgi --py-autoreload=1
當然執行後 還是麼有 靜態檔案