欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ubuntu系統(tǒng)搭建django+nginx+uwsgi的教程詳解

 更新時(shí)間:2019年05月07日 09:49:45   作者:DeaconOne  
這篇文章主要介紹了Ubuntu系統(tǒng)搭建django+nginx+uwsgi的思路詳解,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下

1. 在開發(fā)機(jī)上的準(zhǔn)備工作

1.確認(rèn)項(xiàng)目沒有bug。

2.用pip freeze > requirements.txt將當(dāng)前環(huán)境的包導(dǎo)出到requirements.txt文件中,方便在部署的時(shí)候安裝。

3.將項(xiàng)目上傳到服務(wù)器上的/srv目錄下。這里以git的形式為例,打開終端,依次輸入如下命令 •git init

•git remote add origin xxx.git
•git add .
•git commit -m 'first commit'
•git pull origin master --allow-unrelated-histories
•git push origin master

2. 在服務(wù)器上的準(zhǔn)備工作

1.安裝好項(xiàng)目用到的Python。

•sudo apt install python
•sudo apt install python-pip
•pip install --upgrade pip

2.安裝virtualenv以及virutalenvwrapper,并創(chuàng)建虛擬環(huán)境。

•pip install virtualenv

•pip install virtualenvwrapper

•sudo apt install vim

•vim ~/.bashrc 進(jìn)入文件中,填入以下兩行代碼:

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

•source ~/.bashrc

3.安裝git:

sudo apt install git

4.為了方便XShell或者CRT連接服務(wù)器,建議安裝OpenSSH:

sudo apt install openssh-server openssh-client
service ssh restart

5.安裝MySQL服務(wù)器和客戶端:

sudo apt install mysql-server mysql-client
sudo apt-get install libmysqld-dev

6.進(jìn)入虛擬環(huán)境中,然后進(jìn)入到項(xiàng)目所在目錄,執(zhí)行命令:pip install -r requirements.txt,安裝好相應(yīng)的包。

7.在mysql數(shù)據(jù)庫(kù)中,創(chuàng)建相應(yīng)的數(shù)據(jù)庫(kù)。

8.執(zhí)行python manage.py migrate命令,將遷移文件,映射到數(shù)據(jù)庫(kù)中,創(chuàng)建相應(yīng)的表。

9.執(zhí)行python manage.py runserver 0.0.0.0:8000,然后在你自己電腦上,在瀏覽器中輸入http://你的服務(wù)器的ip地址:8000/,訪問下網(wǎng)站所有頁(yè) 面,確保所有頁(yè)面都沒有錯(cuò)誤。

10.設(shè)置ALLOW_HOST為你的域名,以及ip地址。

11.設(shè)置DEBUG=False,避免如果你的網(wǎng)站產(chǎn)生錯(cuò)誤,而將錯(cuò)誤信息暴漏給用戶。

12.收集靜態(tài)文件:python manage.py collectstatic。

3.安裝uwsgi

1.uwsgi是一個(gè)應(yīng)用服務(wù)器,非靜態(tài)文件的網(wǎng)絡(luò)請(qǐng)求就必須通過他完成,他也可以充當(dāng)靜態(tài)文件服務(wù)器,但不是他的強(qiáng)項(xiàng)。uwsgi是使用python編寫的,因此通過pip install uwsgi就可以了。(uwsgi必須安裝在系統(tǒng)級(jí)別的Python環(huán)境中,不要安裝到虛擬環(huán)境中)。

2.使用命令uwsgi --http :8000 --module test.wsgi --vritualenv=/root/.virtualenvs/django-env-py36。用uwsgi啟動(dòng)項(xiàng)目,如果能夠在瀏覽器中訪問到這個(gè)頁(yè)面,說明uwsgi可以加載項(xiàng)目了。

4.編寫uwsgi配置文件,使用配置文件啟動(dòng)uwsgi

在項(xiàng)目的路徑下面,創(chuàng)建一個(gè)文件叫做djangotest.ini的文件,然后填寫以下代碼:

[uwsgi]

# Django相關(guān)的配置
# 必須全部為絕對(duì)路徑
# 項(xiàng)目的路徑
chdir=/srv/djangotest
# Django的wsgi文件
module=djangotest.wsgi
# Python虛擬環(huán)境的路徑
home=/root/.virtualenvs/django-env-py36
# 進(jìn)程相關(guān)的設(shè)置
# 主進(jìn)程
master=true
# 最大數(shù)量的工作進(jìn)程
processes=10
# socket文件路徑,絕對(duì)路徑
socket=/srv/djangotest/djangotest.sock
# 設(shè)置socket的權(quán)限
chmod-socket=666
# 退出的時(shí)候是否清理環(huán)境
vacuum=true

然后使用命令uwsgi --ini djangotest.ini,看下是否還能啟動(dòng)這個(gè)項(xiàng)目。

5. 安裝nginx

1.nginx是一個(gè)web服務(wù)器。用來加載靜態(tài)文件和接收http請(qǐng)求的。通過命令sudo apt install nginx即可安裝。

2.nginx常用命令:

•啟動(dòng)nginx:service nginx start

•關(guān)閉nginx:service nginx stop
•重啟nginx:service nginx restart

6. 收集靜態(tài)文件

靜態(tài)文件應(yīng)該讓nginx來服務(wù),而不是讓django來做。首先確保你的settings.py文件中有一個(gè)STATIC_ROOT配置,這個(gè)配置應(yīng)該指定你的靜態(tài)文件要放在哪個(gè)目錄下。那么我們可以執(zhí)行以下命令:python manage.py collectstatic來收集所有靜態(tài)文件,將這些靜態(tài)文件放在指定的目錄下。

7. 編寫nginx配置文件:

在/etc/nginx/conf.d目錄下,新建一個(gè)文件,叫做djangotest.conf,然后將以下代碼粘貼進(jìn)去:

upstream djangotest {
 server unix:///srv/djangotest/djangotest.sock; 
}
# 配置服務(wù)器
server {
 # 監(jiān)聽的端口號(hào)
 listen 80;
 # 域名
 server_name 192.168.0.101; 
 charset utf-8;
 # 最大的文件上傳尺寸
 client_max_body_size 75M; 
 # 靜態(tài)文件訪問的url
 location /static {
 # 靜態(tài)文件地址
 alias /srv/djangotest/static_dist; 
 }
 # 最后,發(fā)送所有非靜態(tài)文件請(qǐng)求到django服務(wù)器
 location / {
 uwsgi_pass djangotest;
 # uwsgi_params文件地址
 include /etc/nginx/uwsgi_params; 
 }
}

寫完配置文件后,為了測(cè)試配置文件是否設(shè)置成功,運(yùn)行命令:service nginx configtest,如果不報(bào)錯(cuò),說明成功。每次修改完了配置文件,都要記得運(yùn)行service nginx restart。

8. 使用supervisor配置

讓supervisor管理uwsgi,可以在uwsgi發(fā)生意外的情況下,會(huì)自動(dòng)的重啟。

1.supervisor的安裝:在系統(tǒng)級(jí)別的python環(huán)境下pip install supervisor。

2.在項(xiàng)目的根目錄下創(chuàng)建一個(gè)文件叫做my_supervisor.conf。內(nèi)容如下:

# supervisor的程序名字
[program:mysite]
# supervisor執(zhí)行的命令
command=uwsgi --ini zlkt_uwsgi.ini
# 項(xiàng)目的目錄
directory = /srv/djangotest 
# 開始的時(shí)候等待多少秒
startsecs=0
# 停止的時(shí)候等待多少秒
stopwaitsecs=0 
# 自動(dòng)開始
autostart=true
# 程序掛了后自動(dòng)重啟
autorestart=true
# 輸出的log文件
stdout_logfile=/srv/djangotest/log/supervisord.log
# 輸出的錯(cuò)誤文件
stderr_logfile=/srv/djangotest/log/supervisord.err
[supervisord]
# log的級(jí)別
loglevel=info
# 使用supervisorctl的配置
[supervisorctl]
# 使用supervisorctl登錄的地址和端口號(hào)
serverurl = http://127.0.0.1:9001
# 登錄supervisorctl的用戶名和密碼
username = admin
password = 123
[inet_http_server]
# supervisor的服務(wù)器
port = :9001
# 用戶名和密碼
username = admin
password = 123
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

然后使用命令supervisord -c my_supervisor.conf運(yùn)行就可以了。 以后如果想要啟動(dòng)uwsgi,就可以通過命令supervisorctl -c my_supervisor.conf進(jìn)入到管理控制臺(tái),然后可以執(zhí)行相關(guān)的命令進(jìn)行管理:

# 查看狀態(tài)
status 
# 啟動(dòng)程序
start program_name
# 重新啟動(dòng)程序
restart program_name
# 關(guān)閉程序
stop program_name
# 重新加載配置文件
reload
# 退出控制臺(tái)
quit 

總結(jié)

  以上所述是小編給大家介紹的Ubuntu系統(tǒng)搭建django+nginx+uwsgi的教程詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!    

相關(guān)文章

最新評(píng)論