基於Ubuntu16.04的django+uwsgi+nginx安裝部署
最近由於導師的一點破事,我一個從來沒有搞過後臺的人來搞後臺,由於只會用python,所以沒得選,只能由題目的套裝。這三個東西的網上教程坑非常之多。我們一步一步來。
首先是一臺無瑕,沒有被玷汙過的新機子。
一、安裝虛擬環境
別問為啥要裝,裝就完事了,ubuntu裡面預設的是py2,現在一般都是py3了,按步驟來
安裝python3-venv
apt-get install python3-venv
接下來cd到你想去的目錄下建立虛擬環境ven(名字比較隨意)
python3 -m venv ven
ven/bin中的python是3.5的
接下來啟用虛擬環境,cd到ven/bin目錄下
source activate
接下來你會看到你命令列的前面有個(ven),這就是啟用啦。
退出虛擬環境也得cd到ven/bin目錄下
source deactivate
二、安裝django
這個簡單哈
pip install django
注意要在虛擬環境下這麼幹
三、安裝uwsgi
安裝這個需要先裝一下其他工具
sudo apt-get install python3-setuptools
sudo apt-get install python3-dev
pip install uwsgi
注意:按照這個時候,其餘的教程就會讓你測試了,其實這個測試容易出很多的問題,我推薦先不要急著測試,只要pip install uwsgi沒有出現問題就暫時不要管這個
四、安裝nginx
先更新一下哈
sudo apt-get update
再安裝nginx
sudo apt-get install nginx
五、接下來乾的事情
首先再專案目錄下新建一個uwsgi.ini檔案
[uwsgi]
chdir = /你的路徑/專案
module = 專案名稱.wsgi
master = true
processes = 10
socket = :8000
vacuum = true
pythonpath = /你的虛擬環境的路徑/lib/python3.5/site-packages/ #這個需要具體調整
然後再新建一個nginx.conf檔案
upstream django {
server 0.0.0.0:8000;
}
server {
listen 80;
server_name 你的域名或者ip;
charset utf-8;
client_max_body_size 75M;
location /media {
alias /你的路徑/專案/media; # 指向django的media目錄
}
location /static {
alias /你的路徑/專案/static; # 指向django的static目錄
}
location / {
uwsgi_pass django;
include uwsgi_params;
}
}
寫好之後把這個玩意連結到uwsgi的啟動配置檔案中
ln -s /你的目錄/專案/nginx.conf /etc/nginx/conf.d/
都搞定之後,重啟一下nginx
service nginx restart
cd到你的專案目錄下,開啟uwsgi
uwsgi -i uwsgi.ini
不出意外大功告成,然後這個時候如果沒問題,首先回去在目錄下新建run.log檔案,然後修改一下uwsgi.ini檔案,新增兩行
daemonize = /你的路徑/專案/run.log
disable-logging = true
這樣的話就會將日誌資訊儲存至run.log裡面,而且不記錄正常資訊,要不然就爆了。
相關文章
- HDP2.4基於Ambari的分散式安裝部署分散式
- Kubernetes-基於Helm安裝部署高可用的RedisRedis
- 【Grafana】基於CentOS 7 安裝部署Grafana服務端GrafanaCentOS服務端
- ubuntu16.04安裝rosUbuntuROS
- (一) 基於阿里雲安裝配置部署 docker 詳解阿里Docker
- 安裝kalibr Ubuntu16.04Ubuntu
- ubuntu16.04 下安裝mysqlUbuntuMySql
- Ubuntu16.04安裝、使用typoraUbuntu
- ubuntu16.04 下kvm安裝Ubuntu
- ubuntu16.04 CUDA, CUDNN 安裝UbuntuDNN
- Ubuntu16.04雙系統安裝及解除安裝Ubuntu
- ubuntu16.04下的MySQL離線安裝UbuntuMySql
- 基於docker安裝supersetDocker
- 一個基於 Ubuntu16.04 的多功能映象Ubuntu
- flume的安裝部署
- Hive的安裝部署Hive
- UBuntu16.04下安裝Docker(親測)UbuntuDocker
- Ubuntu16.04下安裝gtsam-3.2.1Ubuntu
- ubuntu16.04下安裝NS3.27UbuntuS3
- ubuntu16.04安裝Tomact8UbuntuMac
- ubuntu16.04 安裝 rime輸入法Ubuntu
- ubuntu16.04系統下安裝dockerUbuntuDocker
- 基於docker的mysql安裝及配置DockerMySql
- Ubuntu 安裝基於 DEB 的 FirefoxUbuntuFirefox
- 基於docker安裝tensorflowDocker
- 重灌ubuntu16.04之後的基礎操作(介面美觀+安裝瀏覽器+更新軟體源+安裝ROS)Ubuntu瀏覽器ROS
- ComfyUI 基礎教程(一) —— 本地安裝部署UI
- 基於LINUX的MySql二進位制本地安裝和部署實施測試LinuxMySql
- win8.1平板安裝ubuntu16.04的折騰Ubuntu
- Ubuntu16.04安裝最新版nodejsUbuntuNodeJS
- 華碩飛行堡壘安裝Ubuntu16.04Ubuntu
- 在Ubuntu16.04上安裝LEMP環境Ubuntu
- Ubuntu16.04安裝QQ(圖文說明)Ubuntu
- Hbase的安裝與部署
- hadoop的安裝部署Hadoop
- kettle的安裝和部署
- 基於apache的nagios安裝與配置ApacheiOS
- 基於nginx的nagios安裝與配置NginxiOS