Fabric 自動部署報錯 Fatal error: sudo() received nonzero return code 1 while executing!

搭建 Django + nginx + gunicorn 網站,fabric 文件如下:

from fabric.api import env, run
from fabric.operations import sudo

import win_unicode_console
win_unicode_console.enable()


GIT_REPO = 'https://github.com/lanlingsheng/blogprojecttwo.git'

env.user = 'gaoyan'
env.password = '*****'

env.hosts = ['www.rubic.win']

env.port = '22'


def deploy():
    source_folder = '/home/gaoyan/sites/blogprojecttwo'

    run('cd {} && git pull'.format(source_folder))
    run("""
        cd {} && 
        ../venv/bin/pip3 install -r requirements.txt &&
        ../venv/bin/python3 manage.py collectstatic --noinput &&
        ../venv/bin/python3 manage.py migrate
    """.format(source_folder))
    sudo('restart gunicorn-www.rubic.win')
    sudo('service nginx reload')

使用 Fabric 自動部署出現報錯,運行 fab deploy

[www.rubic.win] sudo: restart gunicorn-www.rubic.win
[www.rubic.win] out: sudo password:
[www.rubic.win] out: restart: Unknown instance:
[www.rubic.win] out:
Fatal error: sudo() received nonzero return code 1 while executing!

Requested: restart gunicorn-www.rubic.win
Executed: sudo -S -p 'sudo password:'  /bin/bash -l -c "restart gunicorn-www.rubic.win"

Aborting.
Disconnecting from www.rubic.win... done.

在網上找了半天都是關於 sudo 權限問題的,例如這裏
後來發現報錯出現在 sudo('restart gunicorn-www.rubic.win')這個位置。
在服務器上運行 sudo restart gunicorn-www.rubic.win發現 gunicorn-www.rubic.win如果沒有在運行使用 sudo start就會報錯不運行 gunicorn-www.rubic.win。所以要現在服務器上 sudo start gunicorn-www.rubic.win確保服務器運行成功 gunicorn-www.rubic.win,才能用 Fabric。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章