2016-08-19 12 views
0

仮想環境内でUbuntu 16.04上でFlask + SocketIOアプリケーションをサービスとして実行しようとしています。私のサーバーは毎日午前3時に(私のコントロールの外で)再起動されるので、起動時に自動的に起動する必要があります。自身でスクリプトを実行仮想環境内のUbuntu 16.04でPythonプログラムをサービスとして実行する

が正常に動作します:

$ python main.py 
(29539) wsgi starting up on http://127.0.0.1:8081 

を、私はそれがページを提供するだので、それが働いていることを伝えることができます(私はそれが関係ないと思うけれども、this Stack Overflow answerを次によって設定nginxのサーバーを介して。)ここで

です私 /etc/systemd/system/opendc.service:だから

[Unit] 
Description=OpenDC flask + socketio service 

[Service] 
Environment=PYTHON_HOME=/var/www/opendc.ewi.tudelft.nl/web-server/venv 
Environment=PATH=$VIRTUAL_ENV/bin:$PATH 
ExecStart=/var/www/opendc.ewi.tudelft.nl/web-server main.py 
Restart=always 

[Install] 
WantedBy=multi-user.target 

私は行く使用していることを取得しよう:

$ sudo systemctl daemon-reload 
$ sudo systemctl restart opendc 

これ以上のページは表示されません。ステータスは示しています

$ sudo systemctl status opendc 
* opendc.service - OpenDC flask + socketio service 
    Loaded: loaded (/etc/systemd/system/opendc.service; enabled; vendor preset: enabled) 
    Active: inactive (dead) (Result: exit-code) since Fri 2016-08-19 10:48:31 CEST; 15min ago 
    Process: 29533 ExecStart=/var/www/opendc.ewi.tudelft.nl/web-server main.py (code=exited, status=203/EXEC) 
Main PID: 29533 (code=exited, status=203/EXEC) 

Aug 19 10:48:31 opendc.ewi.tudelft.nl systemd[1]: opendc.service: Service hold-off time over, scheduling restart. 
Aug 19 10:48:31 opendc.ewi.tudelft.nl systemd[1]: Stopped OpenDC flask + socketio service. 
Aug 19 10:48:31 opendc.ewi.tudelft.nl systemd[1]: opendc.service: Start request repeated too quickly. 
Aug 19 10:48:31 opendc.ewi.tudelft.nl systemd[1]: Failed to start OpenDC flask + socketio service. 

私は(code=exited, status=203/EXEC)を見上げると、私が見つけたもので、いくつかのトラブルシューティングを行ってきた:

私はmain.pyが実行可能であることを確認:

$ ls -l main.py 
-rwxr-xr-x 1 leon leon 2007 Aug 19 10:46 main.py 

そしてmain.pyは、最初にこれを持っていますバーチャル環境のPythonを指すように線をつなぐ:

#!/var/www/opendc.ewi.tudelft.nl/web-server/venv/bin/python 

ここで問題は何ですか?

+0

:あなたはPATH = $ PYTHON_HOME/binが使用する必要がありますの$ PATH

。 '#!/ var/www/opendc.ewi.tudelft.nl/web-server/venv/bin/python' – hjpotter92

+0

@ hjpotter92ありがとう;それを変更しましたが、私はまだ同じエラーが発生しています –

+0

@ hjpotter92参考までに、 '!'の後のスペースは問題ありません。 http://unix.stackexchange.com/questions/276751/is-space-allowed-between-and-bin-bash-in-shebang/276845を参照してください。 – edwinksl

答えて

0

私はあなたがPYTHON_HOMEの入力を間違えていることを信じて、PATH = $ VIRTUAL_ENV/bin以外:スペースがあってはならないの$ PATH

関連する問題