从systemd

时间:2019-04-18 00:26:12

标签: python-3.x systemd bottle

我有一个在bottle上构建的服务器,从userland启动时,该服务器运行良好。服务器出现在端口8088上,并且似乎正在与外界通信,但是当我联系该应用程序时,我得到的只是非常有用的“处理request:schema时发生严重错误”,这是该应用程序的网址。 我的systemd文件如下:

[Unit]
Description=Survey Service
After=multi-user.target
Conflicts=getty@tty1.service

[Service]
User=ubuntu
Type=simple
Working-directory=/home/ubuntu/survey
ExecStart=/usr/bin/python3 /home/ubuntu/survey/server.py

[Install]
WantedBy=multi-user.target

我发现了几篇与信息错误消息有关的文章,但与systemd无关。就像我说的那样,当使用用户ubuntu在项目目录中使用非常简单的命令“ python3 server.py”启动时,该应用程序可以完美运行,但似乎丢失了……当systemd尝试启动它时,出现了某些情况。

Systemd报告该进程正在运行,并且正如我所说,我能够连接到该应用程序……此消息仅以有序方式失败,我不知道为什么。我怀疑有权限问题,但是“用户”和“工作目录”不能解决这个问题吗?该应用程序使用的所有文件都在该目录下。

1 个答案:

答案 0 :(得分:0)

显然是按照旧的方式进行的:将systemd设置为这样运行bash脚本:

cat /home/ubuntu/survey/server.sh

#!/bin/bash
cd /home/ubuntu/survey/
python3 server.py

效果很好。因此,我的问题现在成为有关systemd的问题:如果“工作目录”实际上没有设置为该工作目录,那又有什么意义呢?