centos7.4下配置django+uwsgi+nginx
centos7.4下配置django1.11+uwsgi2.0+nginx-1.5.6. 安裝django 安裝uwsgi
執行出現錯誤:
You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run ‘python manage.py migrate’ to apply them.
執行語句,再次執行,OK :python manage.py migrate
建立app 執行 uwsgi –http :8008 –chdir /home/kmind –wsgi-file kmind/wsgi.py –master –processes 4 –threads 2 –stats 127.0.0.1:9192
再次執行成功: 鑑於後面跟的引數較多,我們可以將這些引數放在一個ini檔案中,當然,uwsgi支援多種型別的配置檔案,如xml,ini等。此處,使用ini型別的配置。 在hello專案目錄下建立hello_uwsgi.ini檔案,檔案內容如下:
# hello_uwsgi.ini file [uwsgi] # Django-related settings http = :8008 # the base directory (full path) chdir = /home/kmind # Django s wsgi file module = kmind.wsgi # process-related settings # master master = true # maximum number of worker processes processes = 4 # ... with appropriate permissions - may be needed # chmod-socket = 664 # clear environment on exit vacuum = true
此時執行如下命令:
uwsgi --ini kmind_uwsgi.ini
安裝nginx
可以執行如下命令進行安裝
cd /usr/local/
wget http://nginx.org/download/nginx-1.5.6.tar.gz
tar xf nginx-1.5.6.tar.gz
cd nginx-1.5.6
./configure
make && make install
./configure 出現錯誤: 執行下面語句
yum -y install openssl openssl-devel
再次執行
./configure make && make install
將nginx與uwsgi以及django結合
執行如下命令來修改nginx.conf檔案
vim /usr/local/nginx/conf/nginx.conf
主要修改如上圖所示: listen埠改為8092 在location中新增:
include uwsgi_params; uwsgi_pass 127.0.0.1:8008;(埠要與ini中的埠一致) 執行如下命令來啟動:
uwsgi --ini /home/kmind/kmind_uwsgi.ini & /usr/local/nginx/sbin/nginx
檢驗引數是否出現問題 開啟瀏覽器輸入http://139.196.126.223:8008/,顯示如下結果表示成功
常用命令: 檢測uwsgi程序:ps ax | grep uwsgi 網上有很多關閉的方法都試了不可以,只有reboot 關閉比較狠
nginx: 啟動、停止nginx
// 查詢 nginx 程序
[root@localhost sbin]# ps aux | grep nginx
[root@localhost nginx-1.13.3]# cd /usrlocal/nginx/sbin/
// 啟動 nginx
[root@localhost sbin]# ./nginx
// 停止 nginx(此方式相當於先查出nginx程序id再使用kill命令強制殺掉程序)
[root@localhost sbin]# ./nginx -s stop
// 停止 nginx(此方式停止步驟是待nginx程序處理任務完畢進行停止)
[root@localhost sbin]# ./nginx -s quit
// 從新載入配置檔案(修改配置檔案 nginx.conf 可以使用該命令使配置生效)
[root@localhost sbin]# ./nginx -s reload
cd /usr/local/nginx/sbin/
./nginx -s reload