调试记录:Ubuntu 16.04和Debian 9.1的一个重要区别小记

王志勇 发表于 2019年08月23日 20:41

Ubuntu 16.04和Debian 9.1、Debian 9.9的自带的软件源的PHP版本都是PHP 7.0。但是Ubuntu 16+PHP 7.0和Ubuntu 18+PHP 7.0,都是糟糕的组合,因为Ubuntu下直接用apt-get install命令安装的PHP 7.0,PHP不执行,尚未解决。Debian 9.1和9.9用install命令安装的PHP 7.0,则无此问题。

Ubuntu 18.04的自带的软件源的PHP版本是PHP 7.2,PHP完美运行。

本文要说的Ubuntu 16.04和Debian 9.1的一个重要区别是,Debian 9.X去掉了/etc/rc.local,默认自带systemd。
而Ubuntu 16.04依然保留着/etc/rc.local,好像默认不带systemd。
由于这一点区别,哪个系统好用呢?肯定是带有/etc/rc.local的系统好用,这个文件用来实现开机自启。

Ubuntu 16+PHP 7.0,PHP无法执行。所以,要么选用Ubuntu 12或14+PHP 5.X,要么选用Ubuntu 18+PHP 7.2。

Ubuntu 16.04可以用PPA的方式,安装PHP 7.1~7.4。但是安装的过程中,会安装systemd。

带有systemd的系统,要实现之前分享的Linux系统优化,会有很多麻烦。而Ubuntu+PHP 5.X,或者Ubuntu 18+PHP 7.2则没有这个问题。

systemd有2个缺点:
1. 这个麻烦就是Ubuntu 16.04+PPA+PHP 7.X,或者Debian+PHP 7.X,如果系统中带有systemd,如果给/var/log改名后,重启系统、或者重启Apache后,会报错,导致Apache无法启动,而让网站无法访问。报错内容如下:

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

今天经过几个小时的尝试,出现这种报错是因为带有systemd的系统,不能缺少/var/log/apache2目录,解决的办法是把这个系统的日志目录改回为原来的/var/log,待Apache启动后再手工给/var/log目录改名。(Ubuntu 12/14/18就不用这么麻烦,/var/log目录可以随意改名或删除,重启Apache也不会有报错。)

2. 如果系统中带有systemd,系统重启后,如果系统中没有/var/log,则会自动生成此目录,并且此目录下的/var/log/btmp文件会继续疯长,这个文件增长速度特别快,所以网站会越来越慢,解决办法如前文

0条评论:

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

王志勇:1980-09-26 (44周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +

2020年 +
2019年 +
2018年 +
2016年-2017年(9)
2014年06月-09月(10)
2013年 +
2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2024 auiou.com All rights reserved.
此Blog程序由王志勇编写