<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
推薦使用anaconda進行python環境的管理,因python環境容易出現各種版本衝突問題
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh bash Anaconda3-2020.11-Linux-x86_64.sh
一路回車,有提示後“yes”再回車,這裡安裝到的目錄在/root下
把conda新增到環境變數
vim /etc/profile
在檔案末尾新增
PATH=$PATH:/root/anaconda3/bin # 根據目錄情況 export PATH
啟用環境變數
source /etc/profile
新增合適的虛擬環境
conda env list # 檢視環境 conda create -n myDjango python=3.7.5 conda activate myDjango # 啟動虛擬環境時可能需要先 source activate
需要的有django,uwsgi,nginx
pip install django # 版本為4以上 pip install uwsgi yum install nginx
使用檢視版本語句檢視是否安裝成功
python -m django --version uwsgi --version nginx -V
可在pycharm中一鍵建立,也可以使用命令列建立
django-admin startproject mysite
獲得目錄如下
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.py
建立應用
python manage.py startapp myApp
得到app目錄如下,可在此編寫檢視模組等,然後在urls內編寫路由以提供存取,不再贅述
myApp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py
可使用xftp,filezilla或寶塔之類
在以放到伺服器上的django專案目錄下建立uwsgi.ini檔案,即uwsgi設定
我的專案目錄為/home/mysite
[uwsgi] chdir=/home/djangoProject # 專案位置 #socket=:8000 # 通過nginx使用的設定 http=:8000 # 單獨啟動時使用的設定 wsgi-file=/home/djangoProject/djangoProject/wsgi.py # 專案中wsgi檔案位置 process=4 threads=2 pidfile=uwsgi.pid # 生產pid,log檔案,以檢視紀錄檔和pid資訊 daemonize=uwsgi.log master=True
此時可以啟動uwsgi來啟動專案
uwsgi --ini uwsgi.ini # 通過剛創立的ini設定來啟動,會生成pid和log檔案 uwsgi --stop uwsgi.pid # 必須使用pid檔案來停止程式
此時可以使用埠檢視語句檢視程式是否已經執行
netstat -tlnp|grep 8000 # django程式預設開啟埠為8000,也可在ini檔案中自行修改
若已成功啟動,一句可以通過存取域名/ip:8000存取django程式
首先需要將uwsgi.ini設定進行更改,取消http,開啟socket
[uwsgi] chdir=/home/djangoProject # 專案位置 socket=:8000 # 通過nginx使用的設定 #http=:8000 # 單獨啟動時使用的設定 wsgi-file=/home/djangoProject/djangoProject/wsgi.py # 專案中wsgi檔案位置 process=4 threads=2 pidfile=uwsgi.pid # 生產pid,log檔案,以檢視紀錄檔和pid資訊 daemonize=uwsgi.log master=True
nginx組態檔預設在/etc/nginx/nginx.conf,需要編輯的是http下的server內容
location中增加兩個內容
uwsgi_pass 0.0.0.0:8000; # 與uwsgi.ini檔案設定的socket保持一致 include /etc/nginx/uwsgi_params; # 參照nginx的uwsgi_params載入引數
server部分如下
server { listen 80; listen [::]:80; server_name _; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { uwsgi_pass 0.0.0.0:8000; include /etc/nginx/uwsgi_params; } }
可以用nginx -t語句檢查是否合法
通過server語句啟動/停止/重啟 nginx
server nginx start/stop/restart
nginx預設開啟埠為80,也可通過檢視埠情況觀察是否成功開啟
netstat -tlnp|grep 80
若啟動成功則nginx反向代理成功,已經可以通過存取80埠存取django程式
需要在伺服器代理廠商處申請ssl證書並下載nginx版本,將得到包含域名在內的證書檔案.pem和證書金鑰.key,將兩個檔案傳輸到伺服器nginx目錄下,最好建立一個證書專用目錄
更改nginx.conf組態檔server內容
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/nginx/cert/證書名.pem"; ssl_certificate_key "/etc/nginx/證書金鑰.key"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { uwsgi_pass 0.0.0.0:8000; include /etc/nginx/uwsgi_params; } error_page 404 /404.html; location = /40x.html { error_page 500 502 503 504 /50x.html; location = /50x.html { }
注:每次更改nginx設定都需要重啟nginx服務才能生效
到此這篇關於Django+uwsgi+nginx伺服器部署的文章就介紹到這了,更多相關Django+uwsgi+nginx伺服器部署內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45