在雲服務部署個人的Django項目


一、Ubuntu系統切換默認python3.5

ubuntu14.04系統會自帶python2.7,請不要卸載它。不同版本的Python可以共存在一個系統上。

卸載之后,桌面系統會被影響。

(1)sudo add-apt-repository ppa:fkrull/deadsnakes

(2)sudo apt-get update

(3)sudo apt-get install python3.5

(4)sudo cp /usr/bin/python /usr/bin/python_bak,先備份
(5)sudo rm /usr/bin/python,刪除
(6)sudo ln -s /usr/bin/python3.5 /usr/bin/python,默認設置成python3.5,重建軟鏈接這樣在終端中輸入python默認就是 3.5版本了

 

 

二、部署Django

(1)升級pip3,命令:apt install python3-pip

(2)安裝Django,命令:pip3 install django==1.10.3,然后繼續安裝django項目依賴相關的庫

  把包傳到雲服務上,嘗試啟動Django,命令:python manage.py 0.0.0.0:80(運行之前需要把django配置文件ALLOW_HOST改成公網IP)

(3)瀏覽器訪問公網地址,如果有反應,則成功

 

三、安裝uWSGI

(1)直接用pip安裝,命令:pip3 install uwsgi,或者到這里下載,https://pypi.python.org/pypi/uWSGI

(2)測試uwsgi,新建test.py文件,內容如下:

def application(env, start_response):

  start_response('200 OK', [('Content-Type', 'text/html')])

  return [b"Hello World!"]
test.py

(3)通過uwsgi命令運行test.py文件,命令:uwsgi --http :8001 --wsgi-file test.py,然后訪問http://localhost:8001可見Hello World!

(4)uWSGI運行Django,命令:uwsgi --http :80 --chdir /home/ubuntu/buybooks/ --wsgi-file buybooks/wsgi.py --master --processes 4 --stats localhost:9191

uWSGI成功部署完畢!

  ——提示:如果每次都要輸入那么長的命令,會很麻煩,所以可以用配置文件的方式,uWSGI支持多種類型配置文件,如xml、ini等:

    1、在項目里的wsgi.py同級目錄下,創建uwsgi.ini文件,配置uWSGI參數如下,

    2、在配置文件的目錄下,通過“uwsgi”命令讀取uwsgi.ini文件來啟動WEB項目,命令:uwsgi --ini uwsgi.ini

 1 [uwsgi]
 2 
 3 # 請求方式與端口號,若配置與Nginx連接用soket,只用wsgi那就用http
 4 socket = :8000
 5 #http = :8000
 6 
 7 #Django項目路徑
 8 chdir = /home/ubuntu/buybooks
 9 
10 #wsgi文件
11 module = buybooks.wsgi
12 
13 #允許主進程存在
14 master = true
15 
16 #開啟進程數
17 processes = 3
18 
19 # 當服務器退出時自動清理環境
20 vacuum = true
21 
22 # 運行時,講日志輸出道指定的日志文件
23 daemonize = /home/ubuntu/buybook.log

 

 

四、部署Nginx+uWSGI組合

訪問頁面時,請求會先到Nginx,再由Nginx賺到uWSGI WEB容器來處理。uWSGI WEB容器比Django的WEB容器性能要稍好。

(1)安裝Nginx,命令:sudu apt-get install nginx

(2)啟動Nginx,命令:/etc/init.d/nginx start,默認80端口,瀏覽器訪問localhost:80

  重新啟動Nginx,命令:/etc/init.d/nginx restart

  停止Nginx,命令:/etc/init.d/nginx stop

(3)配置Nginx,打開/etc/nginx/sites-available/default配置文件,可修改對外端口號listen,也就是指定的是Nginx代理uWSGI對外的端口號

 1 ......
 2 
 3 server {
 4         listen 8089;
 5       listen [::]:8089;
 6 server_name 127.0.0.1  192.168.127.134(局域網IP,方便局域網內訪問);
 7 
 8 location/ {include /etc/nginx/uwsgi_params;
 9           uwsgi_pass 127.0.0.1:8000;
10     
11     }
12 }
13 .....

Nginx+ uWSGI配置成功!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM