Ubuntu中Apache2启动失败报错Job for apache2.service failed because the cont...

Ubuntu中Apache2启动失败报错Job for apache2.service failed because the cont... 为解决这个问题,花了一个下午,参考了120多条网络博文,很有成就感。但实际上是由于一个简单的配置原因导致的问题,希望以后可以更加细心。

- 最初的现象,php代码没有解析

phpinfo输出内容是

显然,只是代码,并没有成功解析php代码。事后分析,是Apache2服务的问题。

- 禁用ipv6网段

Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.

原因是没有禁用ipv6网段。 在CentOS环境下也是需要禁用的。

vim /etc/hosts

注释掉以下内容:

# The following lines are desirable for IPv6 capable hosts
#::1     ip6-localhost ip6-loopback
#fe00::0 ip6-localnet
#ff00::0 ip6-mcastprefix
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters

一位同学在他的博客中对这个问题有详细说明,具体可以见链接 问题并没有解决。

- 继续探索

参考一位同学的[修改apache的配置文件]教程。 (http://blog.csdn.net/jenyzhang/article/details/51539165)

 cd /etc/apache2
 sudo vim apache2.conf

在文件末尾加入下面的命令

 ServerName localhost:80
DirectoryIndex index.html index.htm index.php 
AddDefaultCharest GB2312

并没有用。

- 真正解决问题

仔细分析日志,根据提示,systemctl status apache2.service 说:

Sep 25 15:13:01 ubuntu apachectl[4756]: apache2: Syntax error on line 147 of /etc/apache2/apache2.conf: Could not open config directory /var/www/html/mods-enabled: No such file or directory

我看了下,之前我有把mods-enabled拷贝呀,很奇怪。在折腾了很久之后,我才想起来看下里面到底是什么东西。

xiaoqw@vm:~$ ls /var/www/html/mods-enabled/ -l

这才发现mods-enabled文件目录中全部都是符号链接,所以复制目录是行不通的。 所以,试试符号链接。

$ cd /var/www/html/
$ ln -s /etc/apache2/mods-enabled
#为了保险期间,再加一个
$ ln -s /etc/apache2/mods-available

注意:这时,换错误啦!说明之前的问题已经解决。

Sep 25 18:14:08 ubuntu apachectl[5226]: apache2: Syntax error on line 151 of /etc/apache2/apache2.conf: Could not open configuration file /var/www/html/ports.conf: No such file or directory

缺少ports.conf文件,即端口配置文件。再做个链接:

$ cd /var/www/html/
$ ln -s /etc/apache2/ports.conf 

换错误,重复解决方法:

$ ln -s /etc/apache2/conf-enabled
$ ln -s /etc/apache2/sites-enabled

到这里,我不得不爆个粗口,**##*$^%*,终于解决了。

版权声明

翼安博客


首发 翼安博客,转载请附链接!

赞赏支持

感谢支持!


建站不易,感谢支持!

推荐阅读
Git for windows 修改Home路径(版本号:2.14)
前人留下的网络资料有解决1.9版本的这个问题,但对2.14版本已经不再适用。前人资料:http://www.cnblogs.com/fenpho/p/6208896.htmlhttp://www.cnblogs.com/xunzhiyou/p/5028789.html实际操作后,修改/etc/profile文件后,重新开始GitBash并没有生效。由于Git的默认路径在C:\Users\Admin
469

thinkphp6设置Content-type解决header添加不生效问题
thinkphp6设置Content-type解决header添加不生效问题原生php只需要加入header就可以实现输出各种格式的文件内容,如header("Content-type:text/css");然而,在thinkphp6中却不能生效。response总会自动的将内容以网页的形式输出。即自动添加<html>、<body>等标签,无法达到预期的效果。tp6框架中提
4965

每天上班都像上坟一样难受,怎么办?三条妙招让上班像踏青
经常听到身边有些朋友抱怨,说每天上班的心情就想上坟。然而,真是如此么?小编相信,每位上班像上坟的朋友,身边不会缺少这样的朋友:每天上班精神抖擞,很有干劲,心情愉悦就像是来踏青一样。他们是怎么做到的呢?其实,上班不愉快无非就是上班时心情不好,感觉焦虑。要知道,这些都是可以解决的!人的一生,就是适应、利用、创造法则的一生。法则就是自然法则、社会秩序和公司规章制度。最无力的时候只能去学习、适应法则,成长
3156

CSDN-markdown编辑器示意效果
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗Ctrl+B斜体Ctrl+I引用Ctrl+Q插入链接Ctrl+L插入代码Ctrl+K插入图片Ctrl
1419

php开发遇到的Access denied for user
php开发遇到的Accessdeniedforuser'root'@'localhost'(usingpassword:NO)首发:2017-09-2413:44:38环境:CentOS6.5+php5.3.3在php开发过程中,我遇到了一个问题:在命令行中登录Mysql完全正常,然而PHP代码读取数据库却出了问题。报错如下:Accessdeniedforuser'root'@'localhost
3227

Linux环境C C++起Socket Server监听8080端口的代码实现
代码抄录自《UNUX网络编程卷一》,在实现开发环境中调试通过,经测试发现可以正常监听。(2017-09-0621:56:31)开发环境:CentOS,g++,VIM功能:C++实现Socket通信的Server端,实现监听8080端口接收到的消息。#include#include/*SeeNOTES*/#include#include#include#include#include#include
2717

CentOS 系统简易搭建FTP服务(四步足矣)
本文作者之前在CSDN发过(2017-09-0313:09:28),现在入驻本站。网上有很多的FTP搭建步骤,但普遍很繁琐,个人临时使用太麻烦。本次实验使用腾讯云服务器CentOS简易搭建FTP服务器,四行命令足矣完成基本使命。yuminstallvsftpdservicevsftpdstartuseradd-m-d/home/uftp-s/sbin/nologinuftppasswduftp目前
2492

linux中查看C C++程序或调用其中某个函数(类)消耗内存的方法实现
验证C/C++程序或调用其中某个函数(类)消耗内存的方法:获取进程ID,调用/proc/[pid]/status查看消耗的内存页(4KB/内存页)进程ID获取方法UNIX环境高级编程中提到的getpid(),可以获取。头文件``查看内存信息sprintf(FILE_NAME,"/proc/%d/statm",pid);FILE*fp=fopen(FILE_NAME,"r");fscanf(fp,"
2603

Linux(Android)系统Root实现原理
方案主旨思想是查找系统漏洞,让本身具有root权限的进程执行打开root权限的操作。重烧engboot.img方案Android版本有user版本和eng版本的区别,其中eng版本可以用于开发调试,所以本身可以开启root权限。通过重烧engboot.img版本来获取root权限。这个原理理解起来很简单,原理章节不再详述。死锁问题root需要考虑两个问题:(1)root权限的获取;(2)root权
2980

typecho修改站点logo图标
typecho修改站点logo图标,,DATE:,2017-10-10,10:33:21,先准备logo素材。,,我将其放在typecho代码的主目录下。,分析typecho目录结构,站点logo应在header.php文件中修改。文件目录如下:,/var/www/html/blog/usr/themes/default/header.php,使用IDE自带的插入图片功能,会自动生成代码。插入图片
1398

Ubuntu 18.04 配置Nginx+php开发环境
本文当初在CSDN发的时间:2018年06月29日16:59:08Nginx与PHP的开发环境搭建一直让我很烦恼。本次环境搭建的方法比较懒惰,但有用。记录备查。本机版本信息如下:nginxversion:nginx/1.14.0(Ubuntu)PHP7.2.5-0ubuntu0.18.04.1(cli)(built:May9201817:21:02)(NTS)nginx配置只是将/etc/ngin
1624

Ubuntu 安装配置GitLab(企业版&社区版&个人版Git管理)
Ubuntu安装配置GitLab(企业版&社区版&个人版Git管理)DATE:2017-09-1222:03:13官网文档Ubuntu企业版与社区版还有个人版相同。安装和配置必要的依赖在Ubuntu环境,下面的命令让系统防火墙允许被HTTP和SSH的方式访问。sudoapt-getinstall-ycurlopenssh-serverca-certificates下一步,安装pos
1445