标签 服务器 下的所有文章

可能是最好用的WordPress/PHP本地环境搭建工具 – DevKinsta

经常用WordPress开发网站的人,在本地搭建开发/测试环境,通常会使用PHPStudy或者WNMP之类的集成工具包;亦或者先搭建本地Linux虚拟机,在虚拟机里安装LNMP或宝塔面板。总之,搭建环境这件事,虽然有以上工具包帮你把Nginx/Apache、PHP、MySQL这些软件快捷集成了,绕开逐个编译安装的麻烦步骤,但对于新手来说仍然会因为各种设置问题,或者漏掉某些关键操作,不断踩坑。

今天我要介绍一款安装步骤极少、没有设置分支、极不容易踩坑的WordPress开发环境架设工具,它是基于Docker的集成Linux环境,帮你一键安装Nginx、MySQL、PHP并自动部署WordPress的软件。如果你是一名不使用WordPress的PHP开发者,你也可以用它快速搭建本地PHP环境,只需要几分钟即可,堪称神器。

神器的名称叫做DevKinsta

经常看我文章的人,知道我一直推崇建跨境网站用Kinsta的服务器。DevKinsta一看就和Kinsta有关,但这一篇不是Kinsta的软文,我会忍住不贴Kinsta的推广链接。

DevKinsta确实是Kinsta家开发的,但他完全是助力WordPress开发者的软件,不管你用不用Kinsta服务器,他都是免费给开发者下载的。下载地址在此:https://kinsta.com/devkinsta/

它提供Windows、Mac和Ubuntu三个版本,我们自然是用Windows版了。
可能是最好用的WordPress/PHP本地环境搭建工具 - DevKinsta
查看详细 »

WordPress网站通过IP地址区分不同国家的用户并重定向到不同的子站点

如果开发者要自己实现通过IP地址决定跳转不同的URL,方法主要分为前端和后端不同的做法:

  • 后端做法,在服务器安装Geo IP扩展,然后再PHP代码里面写判断,做重定向。
  • 前端做法,通过JS请求第三方IP数据库查询国家,然后用JS跳转,这个本质上不叫重定向,而是从浏览器跳转,SEO不友好。资源可以参考这个:GeoJS

以上两种方法都不是我现在用的方案,因为做WordPress外贸网站我们用Kinsta的服务器,他提供直接实现的设置工具,就完全不需要自己去找GEO数据库和搭建环境了。

Kinsta上建立WordPress网站后,工具菜单里有Geolocation,一键开启。
查看详细 »

WordPress用子目录形式在Nginx服务器配置多站点(Multisite)的流程和避坑

写在前面,WordPress多站点并不适合初学者,而对于熟悉WordPress开发的人来说,也应该慎用。WordPress多站点本身是一个比较理想化的解决方案,它在某些维度上简化了拥有多个网站的站长的管理流程,节约了服务器的空间;但它也增加了一层系统结构上的复杂度,使你在操作网站搬家、迁入等大的维护工作的时候容易踩坑。比如对于数据库,如果是单个WordPress网站搬家,我通常只要直接导出数据库就行了,而对于多站点中的子站点就需要做一些额外工作了。本文只讨论WordPress多站点的建立流程,因为我最近正好又为一位客户实施了一次,可以完整滴梳理一下实施过程和容易出错的地方。

WordPress多站点有两种形式,子域名和子目录。这次要配置的是子目录形式,也就是站点一是abc.com/site1 ; 站点二是abc.com/site2 这种形式。

首先,到原站点的设置 – 常规 页面中,把站点地址由原来的 abc.com形式,添加你需要的子目录名,变为 abc.com/site1,并保存设置。此时你访问 abc.com,浏览器会自动跳转到 abc.com/site1 。 查看详细 »

LNMP环境下开启Memcached和OPcache可以大大提速WordPress网站

LNMP环境下开启Memcached和OPcache可以大大提速WordPress网站,以下是亲测效果,基于阿里云的一台2CPU,4G内存的ECS云主机的监控数据,红线为开启的时间点,可以看到CPU使用率和内存占用都有明显的改善
LNMP环境下开启Memcached和OPcache可以大大提速WordPress网站

LNMP环境安装Memcached,先进入lnmp的资源目录,直接运行lnmp的扩展安装脚本

cd lnmp1.7
./addons.sh install memcached

查看详细 »

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服务器的,则选红框圈出的。

查看详细 »

用WordPress建站,我是怎么选主机的

本人深度使用WordPress开发网站、微信小程序加起来有七八年了,用WP完成的项目上百个。说一下我对主机的选择。

分两种情况,中国大陆内(需要备案),中国大陆外(含港澳台,不备案)。

中国大陆内

只推荐阿里云。我曾用过新网、微软Azure(国内叫做世纪互联)、阳光互联、网宿 这几家的云主机。本人直观感受,这几家和阿里云比,都是××。

国内建站选主机服务商,主要考虑的事情有3点:
1. 备案平台方便高效;
2. 云端网站后台功能全,用户体验合理;
3. 主机运行稳定。

备案一直是小白站长头疼的事。且现在备案的确越来越麻烦,如果你选其他云服务商,且你是个新手没有经历过备案,其备案流程和操作能让你恶心很长时间。迫于管局的压力,阿里云的备案现在也在收紧限制,从以前的随便申请,到现在一台ECS必须买3个月才能提供5个备案名额,且流程每年都在加长。但是阿里云自身服务规范且非常高效,其备案流程真的完胜国内任何一家其他服务商,没有例外。

云端网站后台功能,阿里云是最全的,在国内也没有例外。这个东西是基础建设,需要巨大的投入,比得是公司实力,这一点目前就没有任何一家能和阿里云相比了。你去新网、电信云、或者任何一家其他的提供云服务的网站注册一下看看,和阿里云比真的让人失去使用愿望。不过我也去腾讯云看过,虽然后起,但毕竟背靠大厂,而且有微信小程序生态圈的加持,腾讯云其实可以作为第二选择,以后能不能赶超阿里云,还不好说。 查看详细 »

Linux主机丢失MySQL的root账户密码,重置密码步骤

有一段时间未登录的测试机,发现MySQL的root密码找不回了,整理一下网上搜的办法重置密码,记录一下步骤。

SSH登录到服务器,找到MySQL配置文件/etc/my.cnf,在[mysqld]这一行下面添加一行:

skip-grant-tables

保存后,重启MySQL:

service mysqld restart

然后就可以用无密码方式登录MySQL了
在mysql命令符后,留意一下系统提示的MySQL版本号,执行语句

#MySQL5.7以下版本
UPDATE user SET Password = password ( 'abcd1234' ) WHERE User = 'root' and Host='localhost';

#MySQL5.7和更新版本
update user set authentication_string=password('abcd1234') where User='root' and Host='localhost';

#退出
quit;

密码abcd1234只是示例,尽量改复杂一些。

然后再打开my.cnf文件,去掉刚才加的那一行,保存后再次重启MySQL,即告完成。

LNMP环境下PHP error日志的分段存储

之前记录过一篇如何建立并查看PHP报错日志的文章,见这里:https://blog.brain1981.com/1824.html

最近治下某个网站遭到攻击,产生了大量的PHP报错日志,甚至大量占用了磁盘空间。PHP日志文件是持续写入的,如果一直生成新的日志,这一个文件就会变得很大,无法打开。我又不想彻底关闭报错日志记录,只能对其进行分段,把每天的日志分为不同文件存储。 查看详细 »

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

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