systemd 文件学习

1. redis

vim /etc/systemd/system/redis.service

bash 复制代码
[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
Type=forking
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
TimeoutStartSec=30
TimeoutStopSec=30

[Install]
WantedBy=multi-user.target

2. nginx

vim /etc/systemd/system/nginx.service

bash 复制代码
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

3. java程序

以下程序依次依赖,需要按照顺序启动

程序1:

vim /etc/systemd/system/ifmscloud-auth.service

bash 复制代码
[Unit]
Description=IFMSCloud Auth Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/java/jdk1.8.0_391/bin/java -jar /root/jar/ifmscloud-auth.jar
ExecStop=/bin/kill $MAINPID
SuccessExitStatus=143
Restart=always
RestartSec=5
WorkingDirectory=/root/jar
StandardOutput=file:/var/log/ifmscloud/ifmscloud-auth.log
StandardError=file:/var/log/ifmscloud/ifmscloud-auth-error.log

[Install]
WantedBy=multi-user.target

程序2:

vim /etc/systemd/system/ifmscloud-upms-biz.service

bash 复制代码
[Unit]
Description=IFMSCloud UPMS Biz Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/java/jdk1.8.0_391/bin/java -jar /root/jar/ifmscloud-upms-biz.jar
SuccessExitStatus=143
Restart=always
RestartSec=5
WorkingDirectory=/root/jar
StandardOutput=file:/var/log/ifmscloud/ifmscloud-upms-biz.log
StandardError=file:/var/log/ifmscloud/ifmscloud-upms-biz-error.log
TimeoutStartSec=180
Requires=ifmscloud-auth.service
After=ifmscloud-auth.service

[Install]
WantedBy=multi-user.target

程序3:

vim /etc/systemd/system/ifmscloud-gateway.service

bash 复制代码
[Unit]
Description=IFMSCloud Gateway Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/java/jdk1.8.0_391/bin/java -jar /root/jar/ifmscloud-gateway.jar
SuccessExitStatus=143
Restart=always
RestartSec=5
WorkingDirectory=/root/jar
StandardOutput=file:/var/log/ifmscloud/ifmscloud-gateway.log
StandardError=file:/var/log/ifmscloud/ifmscloud-gateway-error.log
TimeoutStartSec=180
Requires=ifmscloud-auth.service ifmscloud-upms-biz.service
After=ifmscloud-auth.service ifmscloud-upms-biz.service

[Install]
WantedBy=multi-user.target

程序4:

vim /etc/systemd/system/ifmscloud-ocrm-biz.service

bash 复制代码
[Unit]
Description=IFMSCloud OCRM Biz Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/java/jdk1.8.0_391/bin/java -jar /root/jar/ifmscloud-ocrm-biz.jar
SuccessExitStatus=143
Restart=always
RestartSec=30
WorkingDirectory=/root/jar
StandardOutput=file:/var/log/ifmscloud/ifmscloud-ocrm-biz.log
StandardError=file:/var/log/ifmscloud/ifmscloud-ocrm-biz-error.log
TimeoutStartSec=180
Requires=ifmscloud-auth.service ifmscloud-upms-biz.service ifmscloud-gateway.service
After=ifmscloud-auth.service ifmscloud-upms-biz.service ifmscloud-gateway.service

[Install]
WantedBy=multi-user.target

4. nacos

vim /lib/systemd/system/nacos.service

bash 复制代码
[Unit]
Description=nacos
After=network.target

[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/java/jdk1.8.0_391"
ExecStart=/usr/local/nacos/nacos/bin/startup.sh -m standalone
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/usr/local/nacos/nacos/bin/shutdown.sh
Restart=always
LimitNOFILE=65536
PrivateTmp=true

[Install]
WantedBy=multi-user.target

自动日志轮转: 使用logrotate工具来管理这些日志文件的大小、备份和压缩。创建一个/etc/logrotate.d/ifmscloud文件,内容如下:

bash 复制代码
/var/log/ifmscloud/ifmscloud-gateway*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    copytruncate
}

这样就可以每天自动轮转日志,并保持最近7天的日志备份。

相关推荐
白慕慕7 小时前
文档网站大全
学习
一轮弯弯的明月9 小时前
Python基础-速通秘籍(下)
开发语言·笔记·python·学习
charlie11451419110 小时前
2026年正点原子开发板移植方案——从0开始的Rootfs之路(3)inittab 与 init 系统:Linux 启动的“第一号进程“全解析
linux·驱动开发·学习·嵌入式开发·嵌入式linux
wsx_iot11 小时前
TDengine学习
数据库·学习·tdengine
AI成长日志12 小时前
【笔面试算法学习专栏】二分查找专题:力扣hot100经典题目深度解析
学习·算法·面试
m0_5649149213 小时前
AI学习课堂网站丨OPENMAIC丨清华团队开源项目
学习
开源盛世!!13 小时前
3.26-3.27学习笔记
笔记·学习
我的xiaodoujiao15 小时前
API 接口自动化测试详细图文教程学习系列7--相关Python基础知识6
python·学习·测试工具·pytest
山川行15 小时前
Python快速闯关8:内置函数
java·开发语言·前端·笔记·python·学习·visual studio
charlie11451419115 小时前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(2) —— HAL 库获取、启动文件坑位与目录搭建
linux·开发语言·c++·stm32·单片机·学习·嵌入式