virtualvenv installpython
首先要安裝python3nginx
由於系統已經裝了 python3.6 因此接下來直接裝虛擬環境 virtualvenvweb
mkdir yourwebproject folder cd yourwebproject /usr/python3.6/bin/python3.6 -m venv venv #創建一個獨立於系統的虛擬環境 不會跟系統環境混淆 source venv/bin/activate #運行環境 deactivate #退出環境
pip install django
1). django-admin startproject proName 2). cd proName 3). python manage.py runserver # run
官網django
在虛擬環境中瀏覽器
pip install uwsgi
# test.py def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return [b"Hello World"] # python3
uwsgi --http :8080 --wsgi-file test.py # 假設訪問端口號8080
http://serverIP:8080
若顯示站點文件中的輸出,說明uwsgi生效服務器
路徑 web client <-> uwsgi <-> python網絡
python manage.py runserver 0.0.0.0:8000
uwsgi --http :8080 --module djangoProName.wsgi
--module djangoProName.wsgi 表明 djangoProName 目錄下的 wsgi.py 文件app
http://serverIP:8080
官網socket
不在虛擬環境中安裝
因爲服務器上已經安裝了 nginx 因此安裝步驟省略,只須要在 nginx.conf 中添加配置便可。
nginx.conf 結構:
user www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections 768; } http { # server{ ... } }
添加 server
server { listen 98 default_server; # 訪問時輸入的端口 本地和外部瀏覽器後面都要加這個端口號 server_name 10.41.95.85; # 本身網站的域名 # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { # location : 文件系統配置 去應答一些要服務器資源的請求 include uwsgi_params; uwsgi_pass 127.0.0.1:9898; # 與ini文件對接端口 與上面的 93 端口沒有關係 } }
配置完了以後記得重啓nginx
將配置項所有寫入ini文件
在venv同目錄下本身新建uwsgi的ini文件
[uwsgi] socket = 127.0.0.1:9898 ; 與 nginx 對接 IP ; django pro dir chdir = /root/Odin/TrackManagement/TrackManagement/ ; django project dir wsgi-file = TrackManagement/wsgi.py ; 表明 TrackManagement 目錄下的 wsgi.py 文件 ; module = TrackManagement.wsgi ; 有上面的wsgi配置這個就不用寫了 processes = 2 ; 進程 threads = 1 ; 線程 stats = 127.0.0.1:9696 ; 經過該端口能夠監控 uwsgi 的負載狀況 內部配置訪問ip 與socket區別開
http://10.41.95.85:98
若顯示django畫面 則 uwsgi+nginx生效
路徑 web client <-> nginx <-> uwsgi <-> django
過程當中踩的坑在另外一篇博文中 -> virtualvenv+django+uWSGI+nginx 部署 踩坑記錄