博客
关于我
CentOS7利用Systemd添加用户自定义系统服务
阅读量:603 次
发布时间:2019-03-12

本文共 1501 字,大约阅读时间需要 5 分钟。

在CentOS7系统中,通过Systemd管理Java项目服务是一项非常实用的操作方法。下面将详细介绍如何配置一个自定义的Systemd服务。

一、创建服务文件

首先,进入 /usr/lib/systemd/system/ 目录,创建一个名为 service-demo.service 的文件。文件内容如下:

[Unit]Description=我的示例服务After=network.target[Service]Type=forkingExecStart=/home/bee/apps/service-demo.sh startExecReload=/home/bee/apps/service-demo.sh restartExecStop=/home/bee/apps/service-demo.sh stopPrivateTmp=True[Install]WantedBy=multi-user.target

二、设置权限

为避免权限问题,对服务文件进行权限设置:

chmod 644 /usr/lib/systemd/system/service-demo.service

这将确保文件的读写权限仅限于拥有者和特定的用户组。

三、启用服务

使用以下命令启用服务,确保服务在开机时自动启动:

systemctl enable service-demo.service

这将创建一个符号链接,如:

Created symlink '/etc/systemd/system/multi-user.target.wants/service-demo.service' → '/usr/lib/systemd/system/service-demo.service'

四、启动、重启和停止服务

通过以下命令控制服务的运行:

  • 启动:

    systemctl start service-demo.service
  • 停止:

    systemctl stop service-demo.service
  • 重启:

    systemctl restart service-demo.service
  • 检查状态:

    systemctl status service-demo.service

五、可选配置(高级应用)

  • 指定用户和组

    修改 [Service] 部分,添加 User=youruserGroup=yourgroup,以指定运行时的用户和组。

  • 指定PID文件

    添加 PIDFile=/home/YOURUSER/.pid,以记录服务的PID。

  • 资源限制

    为防止资源耗尽,可以设置 LimitCPU=LimitMemory=,例如:

    LimitCPU=-1LimitMemory=500M
  • 日志输出

    为了确保日志正确输出,可以使用 nohup 和重定向:

    在脚本中用:

    nohup /path/to/your/script.sh > /path/to/logfile.log 2>&1 &

六、停止服务(强制重载)

在某些情况下,服务可能不响应,可以使用以下命令强制停止并重载:

systemctl force-reload service-demo.service

注意事项

  • 确保所有脚本路径均为绝对路径,以避免相对路径导致的问题。
  • 如果服务依赖于特定用户登录(例如,使用-u选项),请在[Service]中指定用户。
  • 如果您遇到权限问题,可以尝试使用sudo执行相关命令。

通过以上步骤,您可以成功地将自定义Java项目配置为CentOS7的Systemd服务,确保其自动启动并在系统运行中顺利运行。

转载地址:http://lijxz.baihongyu.com/

你可能感兴趣的文章
postgres10配置huge_pages
查看>>
PostgreSQL 10.0 preview sharding增强 - pushdown 增强
查看>>
PostgreSQL 10.0 preview 变化 - pg_xlog,pg_clog,pg_log目录更名为pg_wal,pg_xact,log
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 15章 并行查询_15.2. 何时会用到并行查询?...
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.23. 行和数组比较
查看>>
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 21 章 数据库角色
查看>>
Qt开发——网络编程UDP网络广播软件之服务器端
查看>>
Postgresql 12.9如何配置允许远程连接
查看>>
PostgreSQL 9.6 同步多副本 与 remote_apply事务同步级别 应用场景分析
查看>>
Postgresql CopyManager 流式批量数据入库
查看>>
PostgreSQL cube 插件 - 多维空间对象
查看>>
PostgreSQL Daily Maintenance - cluster table
查看>>
PostgreSQL on Linux 最佳部署手册
查看>>
PostgreSQL Oracle 兼容性之 - pipelined
查看>>
PostgreSQL Point-In-Time Recovery (Incremental Backup)
查看>>
postgresql Streaming Replication监控与注意事项
查看>>
postgresql 不需要付费_使用数据传输在PostgreSQL执行 外部连接运算符
查看>>
postgresql 主从配置_生产环境postgresql主从环境配置
查看>>
postgresql 函数&存储过程 ; 递归查询
查看>>
PostgreSQL 分组聚合查询中 filter 子句替换 case when
查看>>