方式一【journalctl】
- 启动报错的时候下面会提醒你输入
systemctl status httpd.service
或journalctl -xe
查看详细
-
说明
-
systemctl status httpd.service
:既然服务起不来,那么看的这个状态肯定是failed的。 -
journalctl -xe
:这是直接查看日志,这里面可能会有关键字
这个呢,就注意看有没有:invalid value
这个开头的关键字,如果有的话,一般后面就是报错内容了
可以这样:journalctl -xe | grep "invalid value"
过滤哦。
但这个不适用于http,因为http配置文件太多,过滤出来看不出是哪行,所以就pass了,但日志有行号哦。
方式二【messages】
- 可以用这个来过滤:
cat /var/log/messages |grep "invalid value"
但我这不用过滤,用查看动态的形式来展示吧。
-
看日志,日志中有详细说明
-
cd /var/log
-
tail -f messages
简单说明一下:messages是系统日志,启动报错这里会有提示,tail -f 是动态查看的意思
- 然后重新打开一个窗口,重启或启动httpd服务:
systemctl restart httpd
,然后回到日志窗口看最新日志
报错处理【带行号】
-
这种有说行号的处理就比较简单了
-
上图中看到 说配置文件中
/etc/httpd/conf/httpd.conf
中265行错误,所以,现在打开文件,定位到265行
- 问题定位到了,把265行注释掉,重启试试
- 启动服务:
systemctl start httpd
, 成功
- 说明一下,我之前以为把配置文件改了重启就会报错,然而发现配置文件不是关键,而是 mod_wsgi 服务,我把mon_wsgi卸载以后重启就报错了,把 mon_wsgi装上以后就重启正常了,这里这么做,只是 测试 如何看日志 以及 如果通过日志 处理报错问题。
- wsgi 正确路径建议指定如下图哦:
=====================================================================================
- 报错内容如下:
[root@vms160 ~]# systemctl restart etcd
Job for etcd.service failed because the control process exited with error code. See “systemctl status etcd.service” and “journalctl -xe” for details.
[root@vms160 ~]#
方式一【journalctl】
- 启动报错的时候下面会提醒你输入
systemctl status httpd.service
或journalctl -xe
查看详细
[root@vms160 ~]# systemctl restart etcd
Job for etcd.service failed because the control process exited with error code. See “systemctl status etcd.service” and “journalctl -xe” for details.
[root@vms160 ~]#
-
说明
-
systemctl status httpd.service
:既然服务起不来,那么看的这个状态肯定是failed的。 -
journalctl -xe
:这是直接查看日志,这里面可能会有关键字
这个呢,就注意看有没有:invalid value
这个开头的关键字,如果有的话,一般后面就是报错内容了
可以这样:journalctl -xe | grep "invalid value"
过滤哦。
这种更实用于你知道这个配置文件,且知道这行内容是啥的情况。
如下:
[root@vms160 ~]# journalctl -xe | grep “invalid value”
7月 13 16:44:03 etcd1 bash[2559]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: URL scheme must be http, https, unix, or unixs:
7月 13 16:44:04 etcd1 bash[2570]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: URL scheme must be http, https, unix, or unixs:
7月 13 16:44:04 etcd1 bash[2580]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: URL scheme must be http, https, unix, or unixs:
7月 13 16:44:44 etcd1 bash[2604]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: URL scheme must be http, https, unix, or unixs:
7月 13 16:44:44 etcd1 bash[2615]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: URL scheme must be http, https, unix, or unixs:
7月 13 16:44:45 etcd1 bash[2625]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: URL scheme must be http, https, unix, or unixs:
7月 13 16:44:45 etcd1 bash[2635]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: URL scheme must be http, https, unix, or unixs:
7月 13 16:44:45 etcd1 bash[2646]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: URL scheme must be http, https, unix, or unixs:
7月 13 16:45:35 vms160 bash[2707]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: URL scheme must be http, https, unix, or unixs:
7月 13 16:45:35 vms160 bash[2722]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: URL scheme must be http, https, unix, or unixs:
7月 13 16:45:36 vms160 bash[2733]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: URL scheme must be http, https, unix, or unixs:
7月 13 16:45:36 vms160 bash[2744]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: URL scheme must be http, https, unix, or unixs:
7月 13 16:45:36 vms160 bash[2755]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: URL scheme must be http, https, unix, or unixs:
7月 13 16:47:21 vms160 bash[2789]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:47:21 vms160 bash[2800]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:47:21 vms160 bash[2811]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:47:22 vms160 bash[2821]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:47:22 vms160 bash[2832]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:48:00 vms160 bash[2862]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:48:00 vms160 bash[2873]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:48:00 vms160 bash[2884]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:48:00 vms160 bash[2895]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:48:01 vms160 bash[2905]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:55:11 vms160 bash[2947]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:55:11 vms160 bash[2957]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:55:12 vms160 bash[2968]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:55:12 vms160 bash[2978]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:55:12 vms160 bash[2989]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:58:07 vms160 bash[3012]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:58:07 vms160 bash[3023]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:58:07 vms160 bash[3034]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:58:07 vms160 bash[3045]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 16:58:08 vms160 bash[3055]: invalid value “http://localhost:2379,192.168.59.160:2379” for flag -listen-client-urls: parse 192.168.59.160:2379: first path segment in URL cannot contain colon
7月 13 17:25:46 vms160 bash[3244]: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
7月 13 17:25:47 vms160 bash[3254]: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
7月 13 17:25:47 vms160 bash[3265]: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
7月 13 17:25:47 vms160 bash[3275]: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
7月 13 17:25:48 vms160 bash[3286]: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
7月 13 17:37:00 vms160 bash[3310]: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
7月 13 17:37:00 vms160 bash[3320]: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
7月 13 17:37:00 vms160 bash[3330]: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
7月 13 17:37:01 vms160 bash[3341]: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
7月 13 17:37:01 vms160 bash[3352]: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
[root@vms160 ~]#
- 如上,上面已经告诉我:
invalid value "http://localhost:2379,http:/192.168.59.160:2379" for flag -listen-client-urls: URL address does not have the form "host:port": http:/192.168.59.160:2379
是这行代码出错了
方式二【messages】
- 可以用这个来过滤:
cat /var/log/messages |grep "invalid value"
我这就以过滤的形式来展示了
如下
[root@vms160 log]# systemctl restart etcd
Job for etcd.service failed because the control process exited with error code. See “systemctl status etcd.service” and “journalctl -xe” for details.
[root@vms160 log]#
[root@vms160 log]# pwd
/var/log
[root@vms160 log]# cat /var/log/messages |grep “invalid value”
Jul 13 17:42:45 vms160 bash: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
Jul 13 17:42:45 vms160 bash: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
Jul 13 17:42:46 vms160 bash: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
Jul 13 17:42:46 vms160 bash: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
Jul 13 17:42:46 vms160 bash: invalid value “http://localhost:2379,http:/192.168.59.160:2379” for flag -listen-client-urls: URL address does not have the form “host:port”: http:/192.168.59.160:2379
[root@vms160 log]#
报错处理【不带行号】
- 如上,方式一和方式二其实没区别。都是告诉我了这个内容,像这种不告诉我行号的情况呢,处理方法就是,直接打开配置文件【一般不会告诉你配置文件的,但报错服务的配置文件应该清楚才对,毕竟是修改出错的】,然后搜索报错内容,如下:
- 这样就会定位到报错内容了,然后到这,就应该知道是啥问题了吧?
如上,我的是缺少一个/
所以报错了【故意删的这个/,为了展示错误】
- 我把
/
加上以后,再次重启服务,正常了【如果继续有报错,继续用上方法查看即可了】