我正尝试使用以下脚本将Geoserver作为systemd服务启动:
(使用ubuntu 16.04)
[Unit]
Description=Geoserver
After=network.target
[Service]
Type=simple
ExecStart=/home/ermis/geoserver/bin/startup.sh
ExecStop=/home/ermis/geoserver/bin/shutdown.sh
User=ermis
[Install]
WantedBy=multi-user.target我在syslog中得到了这个错误
systemd[1]: Starting Geoserver...
startup.sh[21823]: The GEOSERVER_HOME environment variable is not defined
systemd[1]: geoserver.service: Main process exited, code=exited, status=1/FAILURE
startup.sh[21823]: This environment variable is needed to run this program
startup.sh[21823]: Please set it to the directory where geoserver was installed
VM2 systemd[1]: geoserver.service: Failed with result 'exit-code'.
VM2 systemd[1]: Failed to start Geoserver.我试图在/etc/环境中输入GEOSERVER_HOME,但仍然得到相同的错误。
我做错了什么?
发布于 2019-12-05 14:45:01
可以将环境文件添加到服务定义中:
[Service]
EnvironmentFile=/etc/sysconfig/yourservice然后创建该文件(实际路径由您决定),并在那里定义变量并重新加载服务定义:
sudo systemctl daemon-reload现在,您的服务应该使用环境变量。
https://serverfault.com/questions/994468
复制相似问题