文章分类: 其他技术研究

网站建设和运维中碰到的其他问题和解决方案归档

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,可最大限度地规避这些过时的兼容问题。

CentOS7.4安装新版node.js过程记录整理

发现阿里云的云主机可以按最短一周时常购买了,以后做测试环境,花点小钱买台短期主机做测试的成本又降低了(虽然ECS总体还是涨价了)。这次想尝试一下在最新的CentOS下安装node.js会不会踩坑,于是开干。

在失败了多次,东拼西凑了很多文章和教程后,终于把nodejs(8.7.0)给装上了,下面整理所用命令行以及过程。 查看详细 »

网站外包项目完成后,应该有哪些售后服务?有哪些后续?

做外包开发好多年,本着诚信待客的原则,我们都会在项目签订之前就和客户约定清楚有哪些售后服务,消灭隐形消费。建站这一行水也挺深的,经常听到有客户诉说自己在别家被坑的故事,尤其是在售后这一块。很多建站平台以极低的价格揽客,客户上钩后,稍微要定制一点东西就花费不菲,售后服务更是变着花样收钱。那么怎样能才算是项目合作双方正确的姿势呢?这里发一篇我在知乎上回答的问题。

原题: 网站售后服务包括那些?如果网站前台代码需要调整或者更改图片文字属于售后服务这块吗?

答: 首先,网站开发完毕后,一切后续工作都可以算是售后服务

但是网站在上线之后往往还会有大量工作要做,稍微有一点业务逻辑的网站,其上线后要做的工作可能都要比早期开发工作量都要多很多。而把网站外包的甲方往往没有这一点意识,觉得只要关于网站的一切,无论是代码修改,还是内容修改,乙方都应该永远负责下去,但只愿意付第一笔开发费用,或则很少的维护费用。很多乙方为了能拿到项目,在开工之前也是各种承诺售后,但真的碰到甲方无休止的修改需求后,因为觉得钱没给够,就撂挑子了。这个就是我所见到的行业乱象,非常普遍

正确的做法应该是双方在明确一切售后服务的可能性后,再签单开工。我会把所有售后可能提供的服务都列出来,比如:

基础的服务,服务器监控保证网站出问题后多小小时内能恢复、网站数据多久备份一次
网站内容修改,每周最多修改几次,总共不超过多少小时的工作量
SEO的配合,每周不超过多少小时工作量
网站新板块、新功能的开发需要商量后再重新签订二期、三期的开发合同
网站是否有可能要改版
等等…
售后服务是一个很难量化的东西,但有一个量化标准可以被普遍使用,那就是时间。售后服务的成本就是服务人员的时间,那么按照时间来商定价格是比较合理的。有些时候甲方认为很简单的修改,乙方可能要花很多时间去做,也有些乙方会忽悠甲方一个简单的修改花了很多时间。但还是要比“增加一个页面要多少钱”、“换一张图片要多少钱”这样的坐地起价合理有效多了。

阿里云CentOS主机修改SSH登录端口步骤

为安全起见,生产环境主机最好修改一下SSH登录端口,记录下操作步骤。

登录主机后,用VI先修改一下配置文件:
vi /etc/ssh/sshd_config

找到Port 22这行,下面添加一行Port 666(假如要修改端口为666);
然后保存文件。

重启SSH服务:
service sshd restart

就地测试一下修改的端口号:
ssh localhost -p 666
命令行会重新变成登录的时候的样子,并要求输入密码,如果能正常登录,就算修改成功了。

随后到阿里云后台,把666这个端口在主机的安全组里添加好,这一步比较容易遗漏。

在本地使用SSH登录工具测试新加的端口,应该能正常登陆了。登录后,再用VI命令修改sshd_config,把Port 22这一行去掉,重启SSH服务,就算完成。

微信内H5页面分享接口以及微信登录接口在服务号内的设置

几个月前公众号后台做过一系列更新,很多设置的位置都调整了。这里重新整理一下微信服务号如何开通H5页面的分享以及登录接口(OAuth2.0网页受权获取用户基本信息)设置:

1. 登录服务号后台。

2. 在左侧菜单中找到“公众号设置”,进入“功能设置”。
在“JS接口安全域名”和“网页授权域名”中设置H5页面所在的域名
在左侧菜单中找到“公众号设置”,进入“功能设置”
查看详细 »

非root用户状态下安装LNMP准备工作

在非root用户登录的情况下,安装LNMP会提示“You must be root to run this script, please use root to install lnmp”。这时候并不一定是当前用户的权限不够,而是lnmp的设定需要由用户名root的用户来安装。

如果操作系统是ubuntu,输入命令行

sudo su

如果当前用户有root权限,提示符就会跳为root@hostname,可以直接安装了。如果没有root权限,则要求输入正确密码。

如果操作系统是centos、fedora,输入命令行

su

其他步骤差不多。

记录一下备忘。

检查LNMP上MySQL宕机并自动重启服务的脚本和使用方式

近期发现服务器上MySQL又经常宕机了,平均每周一次,应该和最近新挂上去的几个WordPress网站有关,毕竟一台配置不算豪华的主机上挂了10个WP网站,压力太大难免会内存不够造成宕机。每次宕机都需要自己重启MySQL也比较麻烦,如果是客户自己发现的,感觉更不好,所以网上找了个无人值守的脚本先用起来。 查看详细 »

解决阿里云用LNMP在某些时候FTP无法使用的问题

今天在咖啡厅办公,发现一台在家里和公司都能正常使用的阿里云主机无法用FTP列目录了,当然上传文件也是不能了,其症状是可以正常登录,但到了列目录的时候就卡住:
解决阿里云用LNMP在某些时候FTP无法使用的问题

碰到这种服务器问题还是只能采用搜索大法,先去LNMP论坛兜了一圈,大致可以确认的是防火墙问题,建议开放端口20000-30000,然后换成被动模式登录。
开放端口命令:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 20000:30000 -j ACCEPT

照做后发现能列出根目录,但要进入任何子目录后FTP又卡住了,感觉是不是还有另外一道无形的墙把我阻隔了?突然灵光一现,记得阿里云后台有个安全组和iptables有着差不多的作用,那边还没有开放这个端口段,可以一试 查看详细 »