1. 程式人生 > >Centos7部署Django Web 全流程之終章

Centos7部署Django Web 全流程之終章

前面的章節闡述了SVN、django、python、gunicorn、nginx

其中簡單的將django和gunicorn串了起來。

但是還沒有完全串成一條線,下面將串起來整個專案:

1. 開啟django專案的setting檔案:

將Debug=True改為Debug=False

將ALLOWED_HOSTS = ["127.0.0.1"]

 

2.確認靜態資源路徑配置

# 所有靜態檔案的最終放置目錄,

#即使用python manage.py collectstatic 命令後所有的app下面的靜態資源和下圖中的commonstatic資料夾中的靜態資源都會存放到static目錄中,這裡很重要!!!!!!!!

STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

# 別名,即在html中{%static  /bootstarp%}裡的static經過解析後的名稱。

#如果這裡STATIC_URL =‘static’,則瀏覽器引用靜態檔案時,其路徑為127.0.0.1/static/......

#如果這裡為STATIC_URL = 'staticAAAAA',則瀏覽引用時,則為127.0.0.1/staticAAAAA/......

STATIC_URL = '/static/'

# 新增其它路徑下的靜態資原始檔,這裡的路徑指的就是下面的commonstatic資料夾
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'commonstatic/').replace('\\', '/'),
)

為了讓各位更清晰的瞭解專案的靜態資源路徑,下圖為web工程:

 

注意!

注意!

注意!

如果,沒有特殊情況的話,請按照上方的配置,以免出現其他問題。

3. 修改nginx的conf配置,如果可以的話,請各位直接替換conf檔案中的server部分。

    server {
        listen       8000;
        server_name  localhost;
        location / {
            proxy_pass http://127.0.0.1:8080;#動態請求交給gunicorn,8080埠就是gunicorn用的埠
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            #root   html;
            #index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    location /static {
               # alias /home/app/generalWeb/commonstatic;
            alias /svn/generalWeb/static;
            }
        
    }

上面的配置中,著重強調兩點:

1.nginx監聽的埠改為8000,啟動瀏覽器時,請訪問8000埠,然後又讓gunicorn監聽的埠改為8080

2.location /static { alias /svn/generalWeb/static; } 指的是nginx啟動後項目所需要的靜態檔案去哪裡獲取。

 

4.cd到django專案目錄,執行資源歸併命令:

#python manage.py collectstatic

執行完命令後,專案根目錄會生產static資料夾,裡面是整個工程的靜態資源(包含各個app的)。

檢視static裡面的檔案:

#cd static/

#ls

5.啟動gunicorn,這裡要和nginx裡配置的8080埠對應:

# gunicorn -w4 -b0.0.0.0:8080 generalWeb.wsgi   專案根目錄執行

6. 啟動nginx (用另外一個終端執行)

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

7. 瀏覽器訪問127.0.0.1:8000

 

成功!!!!!!!!

撒花!!!!!!!!

鼓掌!!!!!!!!