方法一:
- 将自己安装目录下的apachect复制到该目录下并改为httpd
[root@localhost ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
- 在该目录下修改文件,添加两行
[root@localhost ~]# vi /etc/init.d/httpd
# chkconfig: 35 85 21 #35级别自动运行 第85个启动 第21个关闭
# description: Apache is a World Wide Web server
- 执行以下命令
[root@localhost ~]# chkconfig --add httpd
- 检验是否开机自启动
[root@localhost ~]# chkconfig --list httpd
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。
要列出 systemd 服务,请执行 'systemctl list-unit-files'。
查看在具体 target 启用的服务请执行
'systemctl list-dependencies [target]'。
httpd 0:关 1:关 2:开 3:开 4:开 5:开 6:关
方法二:
- 在/lib/systemd/system/目录下,建立一个以.service 结尾的单元(unit)配置文件,用于控制由 systemd 管理或监控的 httpd 服务
[root@localhost ~]# cd /lib/systemd/system/
[root@localhost system]# vim httpd.service
- 在http.service中添加以下代码
[Unit]
Description=The Apache HTTP Server #描述
After=network.target #在network服务启动后启动
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid #httpd的pid文件
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
- 设置开启自启动
[root@localhost system]# systemctl start httpd.service
[root@localhost system]# systemctl enable httpd.service #开机自启http
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
- 检验是否开机自启动
[root@localhost system]# systemctl is-enabled httpd.service #检查HTTP单元是否启动
enabled