ubuntu18.04中爲django項目搭建nginx+gunicorn環境

今天介紹一下如何在ubuntu18.04中爲django項目搭建nginx+gunicorn環境。html

具體步驟以下:
1.安裝gunicorn: pip install gunicorn
2.使用gunicorn啓動django項目: gunicorn 項目名稱.wsgi:application –bind 127.0.0.1:8000
3.安裝並配置nginx:
編譯安裝時,在安裝nginx前,須要先安裝其餘幾個軟件包,具體安裝以下:
1)安裝openssl:python

wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz
tar zxvf openssl-1.1.0e.tar.gz

解壓完成後,進入openssl所在目錄,依次執行./config、make和make install進行安裝;nginx

2)安裝zlib:django

wget https://downloads.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz
tar zxvf zlib-1.2.11.tar.gz

解壓完成後,進入zlib所在目錄,依次執行./configure、make和make install進行安裝;ubuntu

3)安裝pcre:服務器

wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz
tar zxvf pcre-8.40.tar.gz

解壓完成後,進入pcre所在目錄,依次執行./configure、make和make install進行安裝;app

固然,以上軟件包還能夠下載並安裝其餘版本。網站

4)安裝nginx,能夠點擊 http://nginx.org/en/download.... 來下載你須要的nginx版本。下載完成後,使用tar命令解壓: tar zxvf nginx-1.14.0.tar.gz
解壓完成後進入nginx目錄,執行如下命令進行配置:this

./configure --with-http_ssl_module --with-cc-opt="-Wno-error" --with-pcre=/home/wyzane/install_package/pcre-8.40 --with-zlib=/home/wyzane/install_package/zlib-1.2.11 --with-openssl=/home/wyzane/install_package/openssl-1.1.0e

以上配置中,我將軟件包都安裝在了/home/wyzane/install_package/目錄下,也能夠安裝在其餘目錄中。
執行以上配置後,我在編譯(make)時遇到了一個錯誤,錯誤信息大體以下:.net

src/core/ngx_murmurhash.c:37:11: error: this statement may fall through [-Werror=implicit-fallthrough

後來在 https://trac.nginx.org/nginx/ 中找到了解決辦法,即在執行./configure時加上 –with-cc-opt=」-Wno-error」 這個參數。
之後再安裝nginx遇到問題時,均可以取上面那個網站尋找解決方案。

執行完./configure後,再執行make和make install進行編譯和安裝。
安裝完成後,便可啓動ngin並訪問nginx首頁驗證是否安裝成功。

4.配置nginx: 進入nginx.conf文件中修改配置
配置下面的部分便可:

server {
        listen       80;
        server_name  192.168.114.113;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
             proxy_pass http://192.168.114.113:8000;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location /static {
             alias /home/wyzane/pyprojects/test/test/static;
        }
}

主要配置listen,server_name,location / 和location /static
listen是須要監聽的端口,server_name是gunicorn啓動後服務器的ip,location /指定根路徑,location /static指定靜態文件路徑

5.配置完nginx後,蒐集靜態文件: python manage.py collectstatic6.啓動nginx和gunicorn,便可訪問項目。

相關文章
相關標籤/搜索