2016-11-17 19 views
2

我想從頭開始在服務器上安裝一個新的django項目(django + gunicorn + nginx),並且除了gunicorn的init腳本之外,gunicorn狀態是活動(退出),但顯示沒有在監控中運行

如果我手動運行該命令gunicorn它的工作,我可以對IP地址查看我的網站,但是當我嘗試做service gunicorn start它給了我這樣的輸出,它不工作...

gunicorn-project.service 
    Loaded: loaded (/etc/init.d/gunicorn-project; bad; vendor preset: enabled) 
    Active: active (exited) since Thu 2016-11-17 04:23:56 UTC; 17min ago 
    Docs: man:systemd-sysv-generator(8) 
    Process: 1656 ExecStart=/etc/init.d/gunicorn-project start (code=exited, status=0/SUCCESS) 
    Tasks: 0 
    Memory: 0B 
     CPU: 0 

Nov 17 04:23:56 project gunicorn-project[1656]: from multiprocessing import cpu_count 
Nov 17 04:23:56 project gunicorn-project[1656]: /etc/gunicorn.d/gunicorn-project2.py:3: RuntimeWarning: Parent module '/ 
Nov 17 04:23:56 project gunicorn-project[1656]: from os import environ 
Nov 17 04:23:56 project gunicorn-project[1656]: /etc/gunicorn.d/gunicorn-project3.py:2: RuntimeWarning: Parent module ' 
Nov 17 04:23:56 project gunicorn-project[1656]: from multiprocessing import cpu_count 
Nov 17 04:23:56 project gunicorn-project[1656]: /etc/gunicorn.d/gunicorn-project3.py:3: RuntimeWarning: Parent module ' 
Nov 17 04:23:56 project gunicorn-project[1656]: from os import environ 
Nov 17 04:23:56 project gunicorn-project[1656]: * 
Nov 17 04:23:56 project systemd[1]: Started gunicorn-project.service. 
Nov 17 04:25:01 project systemd[1]: Started gunicorn-project.service. 

我想不通爲什麼會這樣......這是在輸出的文件引用...

"""gunicorn WSGI server configuration.""" 
from multiprocessing import cpu_count 
from os import environ 


def max_workers(): 
    return cpu_count() * 2 + 1 

max_requests = 1000 
worker_class = 'gevent' 
workers = max_workers() 
errorlog = '/home/gunicorn-project/log/gunicorn/error.log' 
accesslog = '/home/gunicorn-project/log/gunicorn/access.log' 

回答

1

我只是被你也是繼數字海洋在我(拋出的非常相同的錯誤消息教程?),花了好幾個小時試圖弄清楚。我不知道你是否仍然需要它,但也許我可以讓別人浪費和我一樣多的時間。

我設法解決它(經過多次不同的嘗試):

  1. 停止gunicorn:

    sudo systemctl stop gunicorn

  2. 兩個目錄更改寫權限包含gunicorn.service

    sudo chmod u+x /etc/systemd/system/multi-user.target.wants/gunicorn-project.service

    sudo chmod u+x /etc/systemd/system/gunicorn-project.service

  3. 手動刪除和重建gunicorn-project.service符號鏈接:

    unlink /etc/systemd/system/multi-user.target.wants/gunicorn-project.service

    rm /etc/systemd/system/multi-user.target.wants/gunicorn-project.service

    ln -s /etc/systemd/system/gunicorn-project.service /etc/systemd/system/multi-user.target.wants/gunicorn-project.service

  4. 重裝gunicorn守護:

    sudo systemctl daemon-reload

  5. 重新啓動gunicorn:

    sudo systemctl start gunicorn

    sudo systemctl enable gunicorn

和狀態更改爲active (running)。基本上,在某些時候,我沒有設置適當的權限就安裝了gunicorn。一旦我用正確的權限重新設置這些步驟,gunicorn就能夠按預期執行。

OBS:我的文件被命名爲gunicorn.service,我相信這是默認設置。我更改爲gunicorn-project.service以匹配OP的術語。

相關問題