一、创建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:配置环境变量,可以配置多个
Environment=“VAR1=word1 word2” VAR2=word3 “VAR3=$word 5 6” (没空格可以不加双引号)
LimitNOFILE=infinity或LimitNOFILE=65536
也可以在/etc/systemd/system.conf通用配置。不用在每个service文件里配置了。
DefaultEnvironment=“VAR1=word1 word2” VAR2=word3 “VAR3=word 5 6”
DefaultLimitNOFILE=infinity或DefaultLimitNOFILE=65536
重启生效或执行systemctl daemon-reexec,systemctl daemon-reexec相当于重型systemctl daemon-reload

/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查看启动顺序,调整启动顺序
参考:
转至:https://blog.csdn.net/haveqing/article/details/129157546