首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于缺少环境变量,服务无法启动。

由于缺少环境变量,服务无法启动。
EN

Server Fault用户
提问于 2019-12-05 14:41:50
回答 1查看 1.3K关注 0票数 1

我正尝试使用以下脚本将Geoserver作为systemd服务启动:

(使用ubuntu 16.04)

代码语言:javascript
复制
[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中得到了这个错误

代码语言:javascript
复制
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,但仍然得到相同的错误。

我做错了什么?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2019-12-05 14:45:01

可以将环境文件添加到服务定义中:

代码语言:javascript
复制
[Service]
EnvironmentFile=/etc/sysconfig/yourservice

然后创建该文件(实际路径由您决定),并在那里定义变量并重新加载服务定义:

代码语言:javascript
复制
sudo systemctl daemon-reload

现在,您的服务应该使用环境变量。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/994468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档