systemd service 配置自启动,配置多个环境变量,最大打开文件数

一、创建service文件(样例)

vim /usr/lib/systemd/system/nacos.service
[Unit]
Description=nacos
After=network.target
 
[Service]
Type=forking
LimitNOFILE=infinity
Environment="JAVA_HOME=/opt/jdk1.8.0_192"
ExecStart=/opt/nacos/bin/startup.sh
ExecReload=/opt/nacos/bin/shutdown.sh
ExecStop=/opt/nacos/bin/shutdown.sh
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

二、配置max open files和环境变量

/etc/profile或者/etc/security/limit.conf这些文件中配置的环境变量仅对通过pam登录的用户生效,而systemd是不读这些配置的。

LimitNOFILE:设置max open files。infinity是无限制,等于65536.

Environment:配置环境变量,可以配置多个

systemd.exec 中文手册

Environment=“VAR1=word1 word2” VAR2=word3 “VAR3=$word 5 6” (没空格可以不加双引号)

LimitNOFILE=infinity或LimitNOFILE=65536

也可以在/etc/systemd/system.conf通用配置。不用在每个service文件里配置了。

systemd-system.conf 中文手册

DefaultEnvironment=“VAR1=word1 word2” VAR2=word3 “VAR3=word 5 6”

DefaultLimitNOFILE=infinity或DefaultLimitNOFILE=65536

重启生效或执行systemctl daemon-reexec,systemctl daemon-reexec相当于重型systemctl daemon-reload

扫描二维码关注公众号,回复: 17609185 查看本文章

/etc/systemd/system.conf 修改后生效方法

关于JAVA_HOME也可以在程序的启动文件配置

三、配置自启动

systemctl daemon-reload(重新加载 systemd 程序的配置文件。

开启开机自启

systemctl enable nacos.service

启动服务

systemctl start nacos.service

查看服务状态

systemctl status nacos.service

停止服务

systemctl stop nacos.service

查看服务是否否开机启用

systemctl is-enabled nacos.service

禁止开启自启

systemctl disable nacos.service

1、查看所有开机启动服务

systemctl list-unit-files | grep enabled

ll /etc/systemd/system/multi-user.target.wants systemd启动流程分析

2、查看某个服务开机启动状态

systemctl list-unit-files | grep 程序名称

3、查看所有开机启动项

systemctl list-unit-files

systemd service,rc.local查看启动顺序,调整启动顺序

参考:

systemd的unit配置文件详解

centOS7 系统服务配置(systemd)

转至:https://blog.csdn.net/haveqing/article/details/129157546