如何使用nginx & uwsgi 部署 django -3 (Q&A)

看完以上示範&紀錄
這裡解說一些我遇到的問題和解決方法

*****************************************************************************

1.虛擬環境的python版本
預設版本會是你所執行的python版本下建立同版本的虛擬環境 但如果你是python3以下的用戶,則需使用另外的套件進行虛擬環境的設置
$ sudo apt-get install python-virtualenv
$ virtualenv myvenv #藍色字為虛擬環境名稱可自行修改

如果想指定版本時 可在建立時使用下列指令
$ virtualenv --python=python3.6 myvenv

2. sqlite3
如果你的專案是使用sqlite3資料庫的話那你可能會在運行時發生下列錯誤:
ImportError: No module named _sqlite3
而很理所當然就會使用pip執行安裝,但是卻出現下列錯誤:
RuntimeError: Package 'sqlite3' must not be downloaded from pypi
這是因為sqlite3已經被包括在python3所以無法使用pip安裝,必須重新編譯安裝python
$ sudo apt-get install libsqlite3-dev
$ cd Python-3.6.1
$ sudo ./configure --enable-loadable-sqlite-extensions && sudo make install


3.pcre 在運行uwsgi指令時,log紀錄可能會出現下列警告
!!! no internal routing support, rebuild with pcre support !!!
為了解決這個問題我們必須安裝pcre並重新安裝uwsgi
$ sudo apt-get install libpcre3 libpcre3-dev
$ pip uninstall uwsgi
$ pip install uwsgi


4.nginx 指令
$ sudo apt-get install           #安裝nginx
$ sudo /etc/init.d/nginx start   #啟動nginx
$ sudo /etc/init.d/nginx stop    #停止nginx
$ sudo /etc/init.d/nginx restart #重啟nginx
或者
$ sudo service nginx start   #啟動nginx
$ sudo service nginx stop    #停止nginx
$ sudo service nginx restart #重啟nginx


5.nginx啟動、重啟失敗(failed)
如果啟動失敗那很有可能是你的nginx配置有誤,請查看一下設置檔案

(歡迎大家一起討論,討論之後我再後續補上)

留言

這個網誌中的熱門文章