文章分类: 其他技术研究

网站建设和运维中碰到的其他问题和解决方案归档。围绕服务器的运维技术、基础的Linux知识是近期涉及得比较多的话题。

Sublime Text修改边栏Sidebar的字体大小

这几年我写代码的工具一直都是Sublime Text,这两天给自己的电脑换了一台27寸的4k屏显示器,本想着一屏可以多显示几行代码,还能同时多窗口并列,这样写起代码来因该会很舒服。然而并没有那么简单,现在27寸并不是什么大尺寸显示器,在3840分辨率下,操作系统界面都显得非常“袖珍”,用起来很费眼睛。于是我只能把系统字体调成了150%,解决了大部分软件的界面字体问题。

这里的大部分,就没包括Sublime Text。Sublime Text的代码部分,可以通过Ctrl + +/-灵活调节字体大小,然而左边的文件列表就不行了。于是搜了一下修改方式,这里做个记录。

按ctrl+shift+p打开插件列表,搜索Install Package,等待软件搜索仓库信息(在底部状态栏有提示)。等加载完毕后,再搜PackageResourceViewer,并选中间那个Open Resource。

查看详细 »

使用GoAccess分析Nginx日志,LNMP环境安装部署最快步骤

使用Nginx的服务器进程会碰到流量异常,被各种扫描的现象。这时候我们就需要对服务器的访问日志进行分析,我的一台LNMP服务器Nginx日志为/home/wwwlogs/access.log,有100多M,文本打开后基本不能用肉眼看到多少有效信息,需要一款日志分析工具的帮助,最好能有图表化功能。目前开发者推荐最多的日志分析工具是GoAccess,这里记录一下安装和部署步骤。

首先跑去 GoAccess官方 找到最新版和安装方法
登录服务器,运行以下命令:
$ wget https://tar.goaccess.io/goaccess-1.5.6.tar.gz
$ tar -xzvf goaccess-1.5.6.tar.gz
$ cd goaccess-1.5.6/
$ ./configure --enable-utf8 --enable-geoip=mmdb
$ make
# make install

查看详细 »

阿里云企业邮箱用于网站邮件SMTP的正确设置方法

我有不少客户是在阿里云注册的域名并购买的邮箱,写这篇文章是为了提醒大家,如果你的网站需要用自己的企业邮箱作为发件箱,务必需要正确设置自己的邮箱。

首先,如果你和我一样是用WordPress建站,通过Gravity Forms或CF7这些表单插件发件的,可以看一下我很久以前的这篇文章: WordPress以及表单插件Gravity Forms和Contact Form 7无法发送邮件问题解决。这篇文章告诉你在网站后台如何正确的设置SMTP邮箱服务。但是假如作为发信源头的邮箱本身没有设置好SMTP服务,那么网站后台即使设置正确了,也是没有效果的。

如果你用的是阿里云的企业邮箱,无论是免费版还是付费版本,都需要看一下这里。首先,注册完企业邮箱后,系统会自动生成一个名为“postmaster”的账号:
查看详细 »

LNMP1.7更新Let’s Encrypt SSL证书失败的解决方法

最近发现去年安装LNMP1.7的两台云主机,无论是自动续期还是手动输入命令安装Let’s Encrypt SSL证书都不成功。输入lnmp ssl add命令后按提示操作,报错信息是这样的:

搜了一遍网络,原因应该是这个 https://github.com/acmesh-official/acme.sh/wiki/Change-default-CA-to-ZeroSSL

解决方式是运行以下命令后再安装证书即可:

#如果是LNMP1.6版本需要先升级,再执行后面的命令
/usr/local/acme.sh/acme.sh --upgrade

#LNMP1.7直接运行此条命令
/usr/local/acme.sh/acme.sh --set-default-ca --server letsencrypt

LNMP安装Jemalloc,配置MySQL内存优化

Jemalloc是一款服务器内存优化组件,在LNMP环境的安装包中可以选择安装。一般来说一台服务器上运行3-5个访问量不大的WordPress网站是绰绰有余的,所以很长一段时间里,我并没有特意研究过服务器内存优化,每次装LNMP的时候会选择不安装。

最近碰到一台服务器内存吃得很厉害,无论怎么调php-fpm配置都降不下来,不时还来个502报错。摆在面前的只有2个选项了,要么服务器升级加内存,要么试试内存优化工具再压榨一下服务器性能。于是抱着尝试心态试试Jemalloc。

安装jemalloc

yum install jemalloc

查看详细 »

LNMP定期自动备份MySQL数据库到阿里云OSS详细步骤

研究了一下项目运维中自动备份数据库到阿里云OSS的步骤,记录一下阿里云后台和服务器的一系列操作。

阿里云后台准备工作

进入阿里云对象存储OSS后台,先开一个Bucket,命名为“brain-backup-db”。因只是做备份数据库用,所以存储类型选最便宜的“归档存储”即可,其他选项用不着的就都不开。关于费用,本文最后一节会做介绍。
创建OSS Bucket
OSS Bucket列表

然后进入这个Bucket的概览页面,找到外网访问的Endpoint,记录下来。

如果你的ECS和OSS是在同一地区的,也可以根据实际网络情况,这里的Endpoint选第二或第三个,存储速度飞快。特别说明,一般购买阿里云ECS,默认网络是经典网络,也就是说同区域的ECS数据备份到OSS上,大部分情况下可以选绿框圈出的那个;跨区域或者用的是非阿里云ECS服务器的,则选红框圈出的。

查看详细 »

为什么不同公司定制网站报价差距这么大?

这又是一篇本人写于知乎问题的回答,自己博客再发布一下,文章略有修订。

原答链接:https://www.zhihu.com/question/459319142/answer/1884946869

从我能想到的几方面尽量回答这个的问题吧。

作为从业者,自然是欢迎客户找我咨询建站的问题,但如果一开始就咬定“简单”的几个页面,我们对接这个项目的兴趣一开始就会被打消…

首先,如果你说简单,我们听出的画外音是没有预算;

其次,你没有好好设想过自己要做的网站,没有给予充分思考的事情就会显得很简单。深入的想想需求,想想执行,想想自己要准备的内容,往往自己都觉得没那么简单。所以建议在咨询任何建站方的时候,都不要一上来就搬出“我的需求很简单”这种话语。倘若你以为的简单其实聊下来并不简单,但还是先入为主咬定了一个简单的预算,那这事就更加做不了了。所以不妨实际一点,你自己画几张草图,把网站要部署的内容写成文档,让做网站的人自己判断是不是简单。真的简单,我们不会瞎报价;倘若不简单,你自己心里也明白,拿着准备好的资料去货比三家,哪怕只是比比价,对行情自然也会越来越有数,或许就不会提出这种问题了吧。

从建站行业来说,把范围缩小到定制这个领域,那就把那些SaaS自助建站的先剔除。定制这种项目,是需要和客户一对一仔细对需求的;仅凭这点还不够,我经常还会帮客户分析他的竞争对手网站,给出自己的建议甚至是方案,怎样超越别人,让自己后做的网站能弯道超车。这背后的功夫又岂是几个“简单”的页面制作能涵盖的。 查看详细 »

LNMP升级操作记录

近期阿里云的几台主机都到了续费时间,想着续费就顺便都升级一下硬件配置。升级了硬件配置就又免不了想把几台服务器的旧版环境也升级一下,又可以榨取一下性能,本篇就记录一下LNMP升级的操作。

首先我尝试LNMP官网的操作,把LNMP新版直接下载到本地,然后通过运行upgrade1.x-1.7.sh脚本升级。结果直接报错提示我缺少各种包。可能是漏了什么操作了,但是也实在没工夫去深入研究,所以改为尝试卸载旧版LNMP,重新安装新版。

卸载之前系统提示我一定要备份数据库,因为卸载LNMP会把MySQL连同数据都删掉。所以必须先把MySQL数据整个dump出来备份一下。

进入MySQL安装目录/usr/local/mysql/bin/,运行命令
mysqldump -uroot -p --all-databases > /home/backup2020.sql
这样就在home目录下生成了一个backup2020.sql备份文件,卸载LNMP不会把它删掉,可以放心操作后面的。 查看详细 »

在Chrome浏览器里开启被屏蔽的Flash插件

由于谷歌Chrome浏览器已经宣称停止对Flash的支持,我们在2009年制作的Flash版JennyStudio官网已经无法打开了,如果你在Chrome里访问这个地址:https://www.becomingjenny.net/formersites/flash.htm 会吃到这样一个闭门羹:

嗯,虽然我们已经不在这一版网站里更新案例了,但看着还是有些心疼,所以这里写一下如何在Chrome里重新开启Flash插件支持,好让我们的这个旧作还能重见天日。

首先在Chrome地址栏复制粘贴这个地址:chrome://settings/content 进入Chrome设置页面
在上面的搜索栏里输入Flash,然后点击“网站设置” 查看详细 »

LNMP自动生成Let’s Encrypt ssl证书失败问题解决记录

今天在给一个新网站生成SSL证书的时候,系统提示
Couldn't download https://raw.githubusercontent.com/certbot/certbot/v1.5.0/letsencrypt-auto-source/letsencrypt-auto.

搜索了一圈解决方法,提示是certbot这个版本太老,自动升级的那个URL又失效导致的

其实我只是装一个免费证书应该很简单,老的脚本能用就行,根本没必要因为安装脚本不能升级就卡在那里,那么应该只要禁用这个脚本的自动升级,让它不去请求那个已经打不开的URL就行了。根据这个思路,找到lnmp的脚本文件,我这台主机的lnmp版本是1.4,在“/usr/bin/lnmp”下,打开这个文件,找到这一行
/bin/certbot certonly --email ${email} --agree-tos -n --webroot -w ${vhostdir} ${letsdomain}
改成:
/bin/certbot --no-self-upgrade certonly --email ${email} --agree-tos -n --webroot -w ${vhostdir} ${letsdomain}
然后重启一下lnmp,再运行lnmp ssl add命令,这下就成功完成了证书安装

我的LNMP版本较老,当前最新版LNMP1.7没有这个问题。对于使用LNMP配置WordPress环境的用户,一般都建议选择最新版的CentOs镜像,安装最新版LNMP,可最大限度地规避这些过时的兼容问题。