我有一个在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报告该进程正在运行,并且正如我所说,我能够连接到该应用程序……此消息仅以有序方式失败,我不知道为什么。我怀疑有权限问题,但是“用户”和“工作目录”不能解决这个问题吗?该应用程序使用的所有文件都在该目录下。
答案 0 :(得分:0)
显然是按照旧的方式进行的:将systemd设置为这样运行bash脚本:
cat /home/ubuntu/survey/server.sh
#!/bin/bash
cd /home/ubuntu/survey/
python3 server.py
效果很好。因此,我的问题现在成为有关systemd的问题:如果“工作目录”实际上没有设置为该工作目录,那又有什么意义呢?