1.创建单元文件
sudo touch /etc/systemd/system/apache.service
2.修改文件权限
sudo chmod 666 /etc/systemd/system/apache.service
3.vim进入
vim /etc/systemd/system/apache.service
3.在该文件中添加以下信息
[Unit] #通用配置
Description=The Apache HTTP Server #简短描述的信息
After=network.target remote-fs.target nss-lookup.target #指定当前单元启动的单元的前后单元
[Service]
Type=forking #配置单元进程启动类型
Environment=APACHE_STARTED_BY_SYSTEMD=true
ExecStart=/usr/local/httpd/bin/apachectl start #指定启动单元时的脚本
ExecStop=/usr/local/httpd/bin/apachectl stop #指定单元停止时的脚本
ExecReload=/usr/local/httpd/bin/apachectl graceful #指定重新装载时执行的脚本
PrivateTmp=true #给服务器分配独立的临时空间
Restart=on-abort #定义sshd退出后,systemd的重启方法
[Install]
WantedBy=multi-user.target #指定被那些单元所依赖,这是弱依赖
[Unit]
Requires:指定当前单光所依赖的其他单元。强依赖,被依赖的单元无法启动时,当前单元也无法启动。
Wants:指定当前单光所依赖的其他单元。弱依赖,被依赖的单元无法启动时,当前单元可以被激活。
Before和After:指定当前单元启动的前后单元。
Conflicts:定义单元之间的冲突关系。列入此字段中的单元如果正在运行,此单元就不能运行,反之亦然。
[Service]
Type:配置单元进程启动时的类型,影响执行和关联选项的功能。
●simple:默认值,表示进程和服务的主进程一起启动。
●forking:进程作为服务主进程的一个子进程启动,父进程在完全启动之后退出。
●oneshot:同simple相似,只是进程在启动单元之后随之退出。
●dbus:同 Simple相似,但随着单元启动后只有主进程得到 D - BUS 名字。
●notify :同 simple 相似,但随着单元局之后一个主要信息被 sd _ notify() 函数送出。
●idle:同 simple 相似,实际执行进程的二进制程序会被延缓直到所有的单元的任务完成,主要是避免服务状态和 shell 混合出。
ExecStart :指定启动单元的命令或者脚本, ExecStartPre 和 ExecStartPost 字段指定在 ExecStart 之前或者之后用户自定义执行的脚本。 Type = oneshot 允许指定多个希望顺序执行的用户自
定义命令。
ExecStop :指定单元停止时执行的命令或者脚本。
ExecReload :指定单元重新装载时执行的命令或者脚本。
Restart :如果设置为 always ,服务重启时进程会退出,会通过 systemctl 命令执行清除丼重启
的操作。
RemainAfterExit :如果设置为 true ,服务会被认为是在活动状态。默认值为 false ,这个字段
只有设置有 Type = oneshot 时才需要配置。
Restart :定义了 sshd 退出后, Systemd 的重启方式
● no :默认值,退出后不会重启。。
● on - success :只有正常退出时(退出状态码为0),才会重启。
● on - failure :非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启。
● on - abnormal :只有被信号终止和超时,才会重启。
● on - abort :只有在收到没有捕捉到的信号终止时,才会重启。
● on - watchdog :超时退出,才会重启。
● always :不管是什么退出原因,总是重启。
KillMode:定义 Systemd 如何停止 sshd 服务
●control - group:默认值,当前控制组里面的所有子进程,都会被杀掉
● process :只杀主进程
●mixed :主进程将收到 SIGTERM 信号,子进程收到 SIGKILL 信号
●none :没有进程会被杀掉,只是执行服务的 stop 命令。
[install]
Alias:当前单元的别名。
Also:与当前单元一起安装或者被协助的单元。
RequiredBy:指定被那些单元所依赖,强依赖。
WantedBy:指定被那些单元所依赖,弱依赖。
4.重载配置文件
sudo systemctl daemin-reload
5.启动apache
sudo systemctk start apache.service