麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > Ubuntu > 正文

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

2020-10-28 18:42:15
字體:
供稿:網(wǎng)友

1. 在開發(fā)機上的準備工作

1.確認項目沒有bug。

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

3.將項目上傳到服務器上的/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. 在服務器上的準備工作

1.安裝好項目用到的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 進入文件中,填入以下兩行代碼:

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

•source ~/.bashrc

3.安裝git:

sudo apt install git

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

sudo apt install openssh-server openssh-clientservice ssh restart

5.安裝MySQL服務器和客戶端:

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

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

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

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

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

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

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

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

3.安裝uwsgi

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

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

4.編寫uwsgi配置文件,使用配置文件啟動uwsgi

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

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

然后使用命令uwsgi --ini djangotest.ini,看下是否還能啟動這個項目。

5. 安裝nginx

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

2.nginx常用命令:

•啟動nginx:service nginx start

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

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

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

7. 編寫nginx配置文件:

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

upstream djangotest { server unix:///srv/djangotest/djangotest.sock; }# 配置服務器server { # 監(jiān)聽的端口號 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)文件請求到django服務器 location / { uwsgi_pass djangotest; # uwsgi_params文件地址 include /etc/nginx/uwsgi_params;  }}

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

8. 使用supervisor配置

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

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

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

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

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

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

總結(jié)

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产成年人在线观看 | 国产做爰全免费的视频黑人 | 国产亚洲欧美日韩在线观看不卡 | 暖暖免费观看高清完整版电影 | 91精品国啪老师啪 | 蜜桃视频日韩 | 亚洲国产午夜精品 | 欧美精品网址 | 亚洲天堂字幕 | 日本视频在线播放 | 精品999久久久 | 免费观看9x视频网站在线观看 | 九九热在线视频观看 | 国产在线欧美日韩 | 精品一区二区三区免费毛片 | 国产精品视频中文字幕 | 国产精品99免费视频 | 黄色毛片a级| 九九久久视频 | 精品在线免费播放 | 在线视频 中文字幕 | 欧美精品色精品一区二区三区 | 亚洲成人国产综合 | 国产精品久久久久久久久久久久久久久 | 免费网址黄 | 一区二区三高清 | 久草在线观看福利视频 | 色七七网站 | 欧美三级欧美成人高清www | 色日本视频 | 91精品国产日韩91久久久久久360 | 亚洲国产美女视频 | 天海翼无删减av三级在线观看 | 久久91久久久久麻豆精品 | 亚洲国产精品久久久久久久久久 | 国产在线精品一区二区三区 | 久久久国产一级片 | 天天舔天天插 | 免费久久久 | 竹内纱里奈和大战黑人 | 午夜a狂野欧美一区二区 |