Apache 在运行级别中列出,但不在启动时启动(OpenSuse 12.3)

Apache 在运行级别中列出,但不在启动时启动(OpenSuse 12.3)

我希望我的编译好的 apache2 服务器在我的 OpenSuse 12.3 服务器启动时运行。

我已按照如何让 Apache 在 Linux 上开机时启动,即:

  • 创建文件 /etc/init.d/apache2

  • 将其添加到服务中

    chkconfig——添加apache2

我可以在 YaST 的运行级别管理器中看到它(不确定确切的名称,因为我的发行版是西班牙语的)

apache2 Yes*

我认为这意味着该服务配置为在启动时启动但在我检查时并未运行。

我的 /etc/init.d/apache2 的内容是:

#!/bin/bash
#
### BEGIN INIT INFO
# Provides:       apache2
# Default-Start:  3 5
# Description:    Controlar el servidor apache2
### END INIT INFO

/home/servidor/apache/bin/apachectl $@

我尝试过更改文件的权限,通过 systemd 启用服务,并且几乎在网上找到的所有方法都无济于事:

systemctl start apache2.service
systemctl enable apache2.service
chkconfig apache2 on

任何帮助将不胜感激。

编辑

我的自定义服务终于起作用了。重启后我执行了

journalctl -n 

并意识到虽然服务在启动完成后正确执行(通过终端中的手动输入),但运行它期间启动返回失败状态。

systemctl status apache2.service 

显示套接字未打开的问题,因此我谷歌搜索了错误,并最终将 httpd.conf 从

Listen 192.168.9.69:80

Listen *:80

错误可能是因为当时没有分配 IP 地址?无论如何,问题解决了。

非常感谢您的关注和时间。

答案1

首先,/home/servidor/apache对于服务器中的可执行文件来说,这不是一个合适的路径。使用/usr/local层次结构来处理本地编译的包。这是默认选项,您不应该更改它。

对于初始化脚本,进行调整随你的发行版一起发布的满足您的需求。只需下载 RPM 并提取文件即可/etc/init.d/apache2

相关内容