鍍金池/ 問答/Python  Linux/ 使用 Nginx 和 Gunicorn 部署 Django 博客出現(xiàn)的2個(gè)問題

使用 Nginx 和 Gunicorn 部署 Django 博客出現(xiàn)的2個(gè)問題

問題描述

服務(wù)器:阿里云ECS服務(wù)器
服務(wù)器系統(tǒng):Ubuntu 16.04 64位
域名:備案ing(訪問時(shí)是使用ip地址去訪問服務(wù)器,所以應(yīng)該和域名無關(guān))

在初次安裝好Nginx后可以使用id地址訪問到 歡迎頁面,
但是在配置完nginx之后出現(xiàn) 502 Bad Gateway

clipboard.png
這是第一個(gè)問題,查了很多文檔 都試了一下沒解決


第二個(gè)問題:跳過頁面502訪問問題繼續(xù)部署的時(shí)候,在部署 Gunicorn的時(shí)候輸入

gunicorn --bind unix:/tmp/www.xxx.com.socket blog.wsgi:application
# 執(zhí)行代碼路徑是在項(xiàng)目路徑 也就是blog路徑下執(zhí)行的,www.xxx.com是父級(jí)路徑

報(bào)錯(cuò)了,報(bào)錯(cuò)信息是:

[2018-09-02 23:12:26 +0800] [1133] [INFO] Starting gunicorn 19.9.0
[2018-09-02 23:12:26 +0800] [1133] [INFO] Listening at: unix:/tmp/www.xxx.com.socket (1133)
[2018-09-02 23:12:26 +0800] [1133] [INFO] Using worker: sync
[2018-09-02 23:12:26 +0800] [1136] [INFO] Booting worker with pid: 1136
[2018-09-02 23:12:26 +0800] [1136] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/root/sites/www.xxx.com/env/lib/python3.5/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/root/sites/www.xxx.com/env/lib/python3.5/site-packages/gunicorn/workers/base.py", line 129, in init_process
    self.load_wsgi()
  File "/root/sites/www.xxx.com/env/lib/python3.5/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/root/sites/www.xxx.com/env/lib/python3.5/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/root/sites/www.xxx.com/env/lib/python3.5/site-packages/gunicorn/app/wsgiapp.py", line 52, in load
    return self.load_wsgiapp()
  File "/root/sites/www.xxx.com/env/lib/python3.5/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/root/sites/www.xxx.com/env/lib/python3.5/site-packages/gunicorn/util.py", line 350, in import_app
    __import__(module)
ImportError: No module named 'blog'
[2018-09-02 23:12:26 +0800] [1136] [INFO] Worker exiting (pid: 1136)
[2018-09-02 23:12:26 +0800] [1133] [INFO] Shutting down: Master
[2018-09-02 23:12:26 +0800] [1133] [INFO] Reason: Worker failed to boot.

第一次進(jìn)行服務(wù)器部署,真的頭有點(diǎn)大,懇請(qǐng)各位幫忙看下這2個(gè)問題是什么情況,以及如何解決,跪謝!!!

回答
編輯回答
寫榮

ImportError: No module named 'blog'是包或者模塊的引用有問題,建議在項(xiàng)目中使用絕對(duì)導(dǎo)入;
另外,502 Bad Gateway應(yīng)該是你的哪個(gè)配置文件有問題。部署建議參考:
How To Set Up Django with Postgres, Nginx, and Gunicorn on Ubuntu 16.04
How to Deploy a Django Application to Digital Ocean

2018年8月10日 23:03
編輯回答
爛人

你遇到的502就是因?yàn)槟愕某绦蚬收蠈?dǎo)致的吧
異常也展示出來:ImportError: No module named 'blog'

2017年11月10日 22:14
編輯回答
柒槿年

可以參考一下我的部署記錄 http://www.abb1315.com/post/9/ 希望能有幫助。

2018年5月18日 23:12