1、系统版本信息

[root@lamp /]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
[root@lamp /]# uname -r
3.10.0-957.21.3.el7.x86_64

2、源码编译安装apache服务后,设置开机自启动报错信息

################systemctl设置开机自启动报错################

[root@lamp scripts]# systemctl enable httpd 
httpd.service is not a native service, redirecting to /sbin/chkconfig.     #httpd。服务不是本机服务,重定向到/sbin/chkconfig。
Executing /sbin/chkconfig httpd on
service httpd does not support chkconfig

################chkconfig设置开机自启动报错################

[root@lamp scripts]# chkconfig --add httpd
service httpd does not support chkconfig     #服务httpd不支持chkconfig

3、解决方法或思路

    1)编写apache启动脚本

[root@lamp scripts]# pwd
/opt/httpd/scripts
[root@lamp scripts]# vim httpd 
#!/bin/bash
#chkconfig:345 85 15
#description:Start and stop the Apache HTTP Server

function httpd_start(){
/opt/httpd/bin/apachectl start
}

function httpd_stop(){
/opt/httpd/bin/apachectl stop
}

case $1 in
        start)
                httpd_start
        ;;
        stop)
                httpd_stop
        ;;
        restart)
                httpd_stop
                httpd_start
        ;;
        *)
                echo "Usage: httpd start|stop|restart!"
        ;;
esac

    注意:以下两行内容必须写,并且要写在第二行,否则无法设置开机自启动

#chkconfig:345 85 15
#description:Start and stop the Apache HTTP Server

    2)把编写的启动脚本复制到/etc/init.d/目录下,并且赋予执行权限,(添加到系统服务中)

[root@lamp scripts]# chmod +x httpd 
[root@lamp scripts]# ll
total 4
-rwxr-xr-x 1 root root 284 Jul 17 09:55 httpd
[root@lamp scripts]# cp -a httpd /etc/init.d/

    3)重新加载守护进程,启动服务

[root@lamp scripts]# systemctl daemon-reload   #必须先加载守护进程,否则无法启动服务
[root@lamp scripts]# systemctl start httpd
[root@lamp scripts]# netstat -lnpt|grep http
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2996/httpd

    注意:将编写的apache启动脚本添加到系统服务中后,首先要加载守护进程,否则无法启动服务。

    下面是没有加载守护进程,启动服务的报错信息:

[root@lamp scripts]# systemctl start httpd
Warning: httpd.service changed on disk. Run 'systemctl daemon-reload' to reload units.

    4)设置开机自启动

        设置开机自启动命令:

[root@lamp scripts]# chkconfig --add httpd

        查看开机自启动是否设置成功:

[root@lamp scripts]# chkconfig --list|grep httpd

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

httpd          	0:off	1:off	2:on	3:on	4:on	5:on	6:off

    5)apache安装路径

[root@lamp httpd]# pwd 
/opt/httpd
[root@lamp httpd]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules  scripts