linux系统找不到httpd,Linux httpd启动失败的解决方法

Red Hat Linux enterprise 5

start httpd faild

linux httpd: httpd 启动 failed

我在虚拟机里面遇到此问题,试了很多方法都没法启动,后来发现,问题出在/etc /httpd/conf/目录里面有一个叫httpd.conf的文件。在同一目录下还有另外一个叫httpd.conf.bak,只要把 httpd.conf.bak的内容复制httpd.conf文件中,覆盖原来的内容就能启动了,到shell里运行service httpd start,惊喜发现,start httpd ok。启动httpd 确定。

用service httpd status可以看到httpd正运行中。心情舒服啊。虽然只是个很菜的新手问题,嘿嘿,但我还是写下来,或许哪个新手也遇到此问题能帮上忙。后来我又详细排查了一下是什么问题导至的。结果是意料之外啊。原来是使用了 [系统]-[管理]-[服务器设置]-[HTTP]工具进行设置,然后保存之后导至。用了这个工具后里面的设置内容有比较多的地方跟初始设置是不一样的。

我发现修改/etc/httpd/conf/httpd.conf文件可以解决问题:

1.将ServerName这行注释掉,即行最前面加个#号。

2.将ServerAdmin 这行要写完整。如:ServerAdmin admin@example.com

3.将Lockfile 的文件路径弄正确,或都干脆注释掉(行首加#)

4.将Loadmodule .........

Loadmodule.........

.........#这里很多行。省略!其实这些都是错误的,应该是HTTP本身代码问题导致。我们用初始文件替换。

Loadmodule..... Chinaz^com

用/etc/httpd/conf/httpd.conf.bak里面的相应内容替换掉

内容如下:

LoadModule auth_basic_module modules/mod_auth_basic.so

LoadModule auth_digest_module modules/mod_auth_digest.so

LoadModule authn_file_module modules/mod_authn_file.so

LoadModule authn_alias_module modules/mod_authn_alias.so

LoadModule authn_anon_module modules/mod_authn_anon.so

LoadModule authn_dbm_module modules/mod_authn_dbm.so

LoadModule authn_default_module modules/mod_authn_default.so

LoadModule authz_host_module modules/mod_authz_host.so

LoadModule authz_user_module modules/mod_authz_user.so

LoadModule authz_owner_module modules/mod_authz_owner.so

LoadModule authz_groupfile_module modules/mod_authz_groupfile.so

LoadModule authz_dbm_module modules/mod_authz_dbm.so

LoadModule authz_default_module modules/mod_authz_default.so

LoadModule ldap_module modules/mod_ldap.so

LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

LoadModule include_module modules/mod_include.so

LoadModule log_config_module modules/mod_log_config.so

LoadModule logio_module modules/mod_logio.so

LoadModule env_module modules/mod_env.so

LoadModule ext_filter_module modules/mod_ext_filter.so

LoadModule mime_magic_module modules/mod_mime_magic.so

LoadModule expires_module modules/mod_expires.so

LoadModule deflate_module modules/mod_deflate.so

LoadModule headers_module modules/mod_headers.so

LoadModule usertrack_module modules/mod_usertrack.so

LoadModule setenvif_module modules/mod_setenvif.so

LoadModule mime_module modules/mod_mime.so

LoadModule dav_module modules/mod_dav.so

LoadModule status_module modules/mod_status.so

LoadModule autoindex_module modules/mod_autoindex.so

LoadModule info_module modules/mod_info.so

LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModule vhost_alias_module modules/mod_vhost_alias.so

LoadModule negotiation_module modules/mod_negotiation.so

LoadModule dir_module modules/mod_dir.so

LoadModule actions_module modules/mod_actions.so

LoadModule speling_module modules/mod_speling.so

LoadModule userdir_module modules/mod_userdir.so

LoadModule alias_module modules/mod_alias.so

LoadModule rewrite_module modules/mod_rewrite.so

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule cache_module modules/mod_cache.so

LoadModule suexec_module modules/mod_suexec.so

LoadModule disk_cache_module modules/mod_disk_cache.so

LoadModule file_cache_module modules/mod_file_cache.so

LoadModule mem_cache_module modules/mod_mem_cache.so

LoadModule cgi_module modules/mod_cgi.so

OK,这样应该可以启动httpd服务了,请在shell里使用命令service httpd start来启动服务

另外需要注意的是,这些只改了一小部分内容,很多选项已经跟初始httdp.conf不一样了,请大家详细看看相关功能的开启状态,按需要更改即可。0b1331709591d260c1c78e86d0c51c18.png

### 回答1: 如果 Linux 中的 httpd 启动失败,可能有以下原因: 1. Apache 的配置文件中存在语法错误 2. Apache 不能监听到已被其他程序占用的端口 3. Apache 缺少所需的权限 4. 系统中其他服务占用了 Apache 所需的端口 5. Apache 所需的库文件或模块没有安装 建议检查 Apache 的配置文件,确保没有语法错误,并检查端口是否被占用。查看 Apache 的日志文件以获取更多详细信息。 ### 回答2: Linuxhttpd是Apache的HTTP服务器,是一款由自由软件社区维护的开放源代码的Web服务器。如果httpd启动失败,往往是由于以下几个方面的原因: 1. 配置文件错误 httpd的配置文件是由Apache配置文件配置包括主配置文件和许多模块配置文件组成的。如果在配置文件中出现语法错误、权限问题或者服务器名字不一致等问题,都会导致httpd启动失败。要解决这些问题,可以使用httpd的启动命令加上配置文件路径的选项来到错误,并进行修正。 2. 端口被占用 httpd需要使用端口来进行网络访问,如果端口被占用,就会使httpd启动失败。可以使用lsof命令查看当前系统中的所有打开的文件和网络套接字,通过端口号查被占用的端口。然后关闭或重启占用该端口的程序,释放该端口。 3. 资源不足 如果系统资源紧张,例如内存、磁盘空间等资源不足,也会导致httpd启动失败。此时只需要释放或增加资源,让系统能够正常运行。 4. 未安装必要的软件包 httpd启动失败也可能是没有正确安装httpd所需的软件包。这时只需要安装缺失的软件包即可解决问题。 总之,要解决httpd启动失败问题,需要对其配置文件进行检查和修复,解决占用端口的问题,并增加系统资源。只有保持系统的稳定性和足够资源,才能保证httpd的正常启动和运行。 ### 回答3: 当您在Linux上尝试启动HTTPD时,可能会遇到各种问题导致HTTPD启动失败。以下是一些常见的问题,以及您可以尝试的解决方法: 1. 端口被占用:HTTPD尝试使用80或443端口,这些端口可能正在被其他进程使用,这可能会导致HTTPD启动失败。您可以尝试使用以下命令检查端口占用情况: ``` netstat -tulnp | grep 80 ``` 如果看到输出中有其他进程占用了80端口,您需要停止该进程,或更改HTTPD的端口号。 2. 权限不足:如果您尝试使用非root用户启动HTTPD,您可能会遇到权限不足的问题。您可以尝试使用以下命令以root用户身份启动HTTPD: ``` sudo service httpd start ``` 如果还是无法启动,您可以检查HTTPD的日志文件,通常位于/var/log/httpd/目录中,以查有关权限问题的更多信息。 3. 配置文件错误:如果您在HTTPD的配置文件中设置了错误的选项,例如语法错误或无效路径,这可能会导致启动失败。您可以尝试运行以下命令检查配置文件中的错误: ``` sudo apachectl configtest ``` 如果输出提示有错误,请检查您的配置文件并进行修改以纠正错误。 4. 服务未安装:如果您未安装HTTPD服务(例如在CentOS或RedHat上),则无法启动HTTPD。您可以尝试使用以下命令安装HTTPD服务: ``` sudo yum install httpd ``` 一旦安装HTTPD服务,您可以使用上述方法检查并解决其他问题。 上述是一些常见的问题和可能的解决方法,但具体问题取决于您的情况。如果您遇到困难,您可以查看HTTPD的文档或在线社区以获取更多信息和指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值