2018年11月

升级mysql5.5到mysql5.7,查询警告 - this is incompatible with sql_mode=only_full_group_by

问题:升级mysql到5.7,导入mysql5.5的数据库,站点日志中,有类似 this is incompatible with sql_mode=only_full_group_by 的警告。

解决:在mysql的配置文件mysql.ini里加sql_mode的参数,如下边的内容:

[mysqld]
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

原因可能是新版本的mysql5.7与原sql查询语句不“兼容”。

参考:https://stackoverflow.com/questions/34115174/error-related-to-only-full-group-by-when-executing-a-query-in-mysql

“跳启” - 乡村剃头匠

我在农村长大的,老家到街上约有“半趟路”(约有五公里),大人们平时忙农活,没时间赴街(赶集),所以有各种“走江湖”,有挑担来收牙膏收烂铁换角牙糖或凉鞋的,有带着电火(手电筒)头来照鸡蛋收鸡蛋的,有背包来剃头(理发)的。

较常来我们屋剃头的,是“跳启”,因为他有只脚有疾,走路慢,肩膀一上一下,小孩淘气地喊“跳启”,他也不生气。每每他进来大屋,一般会找个较宽敞的下厅,向吖公借张有靠背的高凳,在靠背的边顶上用力钉上他的刮刀布条,然后先给长者,年纪较大的剃头。“跳启”的手艺好,且能说会道。嘴一边天南地北地说,手一边熟练地一张一合地推发,咔嚓咔嚓。甚至有时他还会唱起山歌来,逗得老人小孩都哈哈笑。“跳启”风趣讲笑话,来剃头的坐着不枯燥,有时头剃完了,但笑话还没听完,坐在高凳上不愿起来,下一个端着盛有热水的面盆赶忙来催。

之后,我上了城,见不到“跳启”了,觉得“东风理发室”里的师傅比不上他,那没人讲笑话。城里理发室是很大,凳子还可以放得躺下人来的,没轮到的客户也可以坐在长条凳子上等。但我觉得那整齐得生冷,陌生。有次,我在那等得久了还没轮到我理发,哭了。

前几天,无意中想到“跳启”,问起来,听说“跳启”较早就没走村理发,在街心开了间发室,不仅养鱼塘致富且娶到了一个漂亮的老婆,应该是过上了新时代的幸福生活。

在 OpenLiteSpeed 里新建wordpress站点

环境,debian9, OpenLiteSpeed 1.14.40

过程:

1.在“虚拟主机”菜单里,添加新站
open-lite-speed-5.png

2.本例,“虚拟主机名”为 szt.anqun.org,根目录为 $SERVER_ROOT/szt.anqun.org,配置文件可点击创建
open-lite-speed-6.png

3.常规里,设置“文档根”为 html,即wordpress的文件全部放在这,如同常用的public_html目录
open-lite-speed-7.png

4.本例是额外安装了php7.2,所以“外部应用程序”里,有添加lsphp72
open-lite-speed-8.png

5.这是lsphp72的设置详情,关键是“命令”要填写实际值,如本例是 $SERVER_ROOT/lsphp72/bin/lsphp
open-lite-speed-9.png

6.“脚本处理器”里添加php的后缀,处理器名称即是前一页设置的lsphp72
open-lite-speed-10.png

7.“重写”里“启用重写”和“自动加载.htaccess”选择“是”
open-lite-speed-11.png

8.“模块”里添加cache模块,参数如下:

enableCache 0
qsCache 1
reqCookieCache 1
respCookieCache 1
ignoreReqCacheCtrl 1
ignoreRespCacheCtrl 0
enablePrivateCache 0
privateExpireInSeconds 1000
expireInSeconds 1000
storagePath cachedata
checkPrivateCache 1
checkPublicCache 1

open-lite-speed-16.png

9.转到主菜单里的“监听器”,添加443端口,如本例设置的监听器名称为“web-443”,且启用“加密连接”
open-lite-speed-12.png

10.“虚拟主机映射”里添加相应的虚拟主机,本例是szt.anqun.org
open-lite-speed-13.png

11.“SSL”里填写私匙和证书文件的路径,本例是 $SERVER_ROOT/szt.anqun.org/szt.anqun.key
open-lite-speed-14.png

12.在浏览器完成wordpress的安装,本例wordpress首页文件的绝对路径应该是:/usr/local/lsws/szt.anqun.org/html/index.php
open-lite-speed-15.png

13.登录到wordpress后台,安装litespeed的插件,启用
open-lite-speed-17.png

14.退出wordpress登录状态,访问测试,查看响应头,有x-litespeed-cache-control的相关信息
open-lite-speed-18.png

15.有时在litespeed的管理界面会出现404的错误
open-lite-speed-19.png

参考:

在Debian9里安装OpenLiteSpeed

系统是 Debian9 64位,安装 OpenLiteSpeed 14。

过程:

1.wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh | bash # 添加litespeed安装源

2.apt install openlitespeed # 安装 openlitespeed

3.apt install lsphp72 lsphp72-curl lsphp72-imap lsphp72-mysql lsphp72-intl lsphp72-pgsql lsphp72-sqlite3 lsphp72-tidy lsphp72-snmp # openlitespeed 自带php5.6,这里加装php7.2

4.apt install mariadb-server # 安装maridadb数据库

5.浏览器访问8088端口,可以看到openlitespeed的默认页
open-lite-speed-1.png

6.phpinfo信息,默认是php5.6
open-lite-speed-2.png

7.浏览器访问7080端口,如 http://szt.anqun.org:7080 # 登录到openlitespeed管理面板,默认登录名是admin,密码是123456
open-lite-speed-3.png

6.登录后,可在右上角切换到“中文”
open-lite-speed-4.png

参考:

在CentOS7里安装magento2

较多做外贸的在线商城选择了Magento2来建站。本例大概记录了在CentOS7里安装的过程。

1.yum install httpd mod_ssl -y # 安装apache和ssl模块

2.vi /etc/yum.repos.d/mariadb.repo # 创建文件,添加以下内容,加上mariadb的软件源

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

3.yum update -y # 更新软件源

4.yum install mariadb-server # 安装 mariadb 数据库

5.systemctl start httpd # 启动apache

6.systemctl start mariadb # 启动数据库

7.systemctl enable httpd # 设置开机自动启动 apache

8.systemctl enable mariadb # 设置开机自动启动数据库

9.yum install -y http://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-14.ius.centos7.noarch.rpm # 因 centos7不带php7安装源,额外添加

10.yum -y update # 更新软件源

11.yum -y install php70u php70u-pdo php70u-mysqlnd php70u-opcache php70u-xml php70u-mcrypt php70u-gd php70u-devel php70u-intl php70u-mbstring php70u-bcmath php70u-json php70u-iconv # 安装php7.0及其组件

12.vi /etc/php.ini # 更改php.ini文件内容,修改以下内容,增加上传文件大小及执行时间,更改时区

memory_limit = 500M
max_execution_time = 600
date.timezone = Asia/Shanghai

13.vi /etc/httpd/conf/httpd.conf # 编辑apache配置文件,添加一行,启用rewrite
LoadModule rewrite_module modules/mod_rewrite.so

14.同样在httpd.conf配置文件中,将站点文件路径中的 AllowOverride None 替换为 AllowOverride All,让magento2的.htaccess文件生效

15.systemctl restart httpd # 重启apache

16.create database magento; # 连接到数据库shell,创建数据库magento

17.grant all on magento.* TO magentouser@localhost identified by 'Mima1949'; 创建数据库用户magentouser,设置密码,且授权使用magento数据库

18.将magento2文件上传到/var/www/html,如需配置https,请在httpd.conf中增加ssl相关的配置内容

19.从浏览器访问,开始安装magento

20.crontab -u apache -e # 安装好magento2后,为apache用户创建定时任务

* * * * * php /var/www/html/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/html/bin/var/log/magento.cron.log
* * * * * php /var/www/html/bin/update/cron.php >> /var/www/html/bin/var/log/update.cron.log
* * * * * php /var/www/html/bin/bin/magento setup:cron:run >> /var/www/html/bin/var/log/setup.cron.log

参考: