VPS搭建LAMP环境安装WordPress博客

讲真,曾经我特别佩服使用服务器(比如 VPS)管理 WordPress 网站的站长们。

因为,我觉得仅仅在漆黑的屏幕上敲几行代码就能把一个网站玩的风生水起很了不得,感觉有点黑客大神的气派。而那时我才刚刚开始研究独立博客和虚拟主机,还是个只知道使用简单办公软件的上班族。

后来,慢慢的发现许多事情原本都很简单,是自己想复杂了。

比如在 VPS 上搭建 WordPress,其实根本就不需要你精通什么编程,懂什么系统,你只要掌握一些常用到命令就能 DIY。因为在互联网时代,很多东西都是现成的,你只要会搜索,会整合,会学习使用就万事不难了。

当然,如果你是个什么都懂的 IT 男,想必更是极好的。

言归正传,这篇文章主要记录了我放弃虚拟主机后,如何一步步在 VPS 上安装 CentOS6 系统和 LAMP 环境进而搭建 WordPress 博客的。相信我,看完本文后,聪明的你一定会有一种豁然开朗的赶脚。

因为打算当做教程来写,所以会尽量写的详细一点。以下是文章目录,非小白者可自行略过前面的介绍部分。

#1 为什么要用 WordPress 建站

WordPress 是一种使用 PHP 语言和 MySQL 数据库开发的个人博客系统,其稳定可靠,易于使用,且是免费开源的。而最让我看重的,是它支持一大波优秀的插件和模板,比如 SEO 优化、静态缓存和数据备份等。

具体可参看百度文库相关介绍:http://baike.baidu.com/item/WordPress

#2 选择虚拟主机还是 VPS

在回答这个问题之前,让我们先来弄清楚两者的含义。

#2.1 虚拟主机

VPS和虚拟主机区别对比

虚拟主机(Virtual Hosting)又叫共享主机(Shared Hosting),是使用特殊的软硬件技术,把一台真实的主机分割成多个的逻辑存储单元,每个单元都没有物理实体,但是每一个物理单元都能像真实的物理主机一样在网络上工作,具有共享 IP 地址 (或独立 IP 地址) 以及必要的互联网功能。

通俗一点讲,就是一个出租屋里分了好多个床位,每个租客公用水、电、卫生间等生活设施。

  • 优点:便宜、便捷,自带被褥,拎包即住
  • 缺点:居住性能差

#2.2 什么是 VPS

VPS(Virtual Private Server)即虚拟专用服务器,就是利用虚拟化技术(如 Xen、OpenVZ、KVM 等)把一台真实的服务器分割成若干虚拟的服务器,具有独立的操作系统及开关机等功能,能自行搭建和配置特定的服务。

通俗的说,就如同买了一个小区里的一套房子,空间及设施都是自己的,想怎么装就怎么装。

  • 优点:爱咋用咋用,居住性能好
  • 缺点:价格价高,需要懂点技术

由上可以看出,究竟是选用虚拟主机还是 VPS 建站主要看你的使用目的和性能要求。

一般来说,如果你对主机配置和维护并不怎么懂,且网站访问量不大(比如日均 1000IP 以下),虚拟主机(最好是带独立 IP)是首选,价格通常在年付二三百 RMB 的样子。

如果你和博主一样喜欢折腾,喜欢追求更高性能,同时也想学习一点 Linux 相关知识,那么可以考虑使用 VPS。

实际上有些性能很不错的国外 VPS 也很便宜,一般月付 5 美元甚至更少即可。这样算下来,其实并不比虚拟主机贵到哪去。

博主现在用的是美国 Vultr 公司的最便宜的一款 VPS,日本东京的机房,感觉速度要比美国西海岸洛杉矶机房好一些。具体购买及安装过程详见下文。

#3 注册域名

考虑到性价比(免费隐私保护)和支付便利(支持支付宝),博主目前在用以下两个域名注册商,在这也推荐给大家。

2017 年 12 月 31 日前,使用 NameSilo 优惠码 the1usd 可减免一美元,首年只需 $7.99(续费 $8.99 / 年)。

#4 如何选购便宜的 VPS

坦白说,虽然网上有不少推荐和介绍,比如知乎上这篇帖子,但如何选择一款便宜好用且性能不错的 VPS 还是让我头疼了一阵。为什么呢?

网上有些推荐的文章仅仅只是为了推荐而推荐,拿来主义,人云亦云,缺乏实际的使用体验。这就可能导致推荐者对 VPS 整体的稳定性缺乏深入的评测,而稳定可靠恰恰是一个网站长期发展的重要保障。

尽管 128MB 甚至更低内存的 VPS 也可以搭建 WordPress 建站,但博主并不推荐这样做。因为我们的目的是要做一个省时省力又能长期稳定运行的网站,而不是炫耀 VPS 优化技术。

于是,在兼顾价格(5 美元以下)、速度(ping 值 200 左右)以及稳定性(在线率 99.95 以上)三个前提下,最终筛选出三个便宜的国外 VPS:Vultr、BandwagonHost(搬瓦工) DigitalOcean(DO)

但是这三个到底哪个最适合自己呢?感觉还是一头雾水。

纸上得来终觉浅,绝知此事要躬行。于是,就三个 VPS 全部试用了一遍,并通过我能用得到的各种测试,最终选定了 Vultr-VPS(日本机房)。

#4.1 为什么选择 Vultr-VPS

Vultr-VPS月付5美元

首先,Vultr 和 DigitalOcean(DO)几乎一样,最便宜的一款 VPS 月付都是 5 美元。但是 Vultr 给的内存是 768MB,DO 的则只有 512MB。

尽管 DO 在 SSD 空间上比较大方,给了 20GB,而 Vultr 的则是 15GB。但是,博主可以很负责任的告诉你,一般的网站存储 + 备份 + 环境一共 5-8GB 的空间就足够了。显然,内存比空间更实用!

其次,Vultr 快照(Snapshot)是完全免费的,而且不同 VPS 甚至不同机房之间可以无缝迁移。

比如,刚开始我把网站放在美国西海岸的洛杉矶机房,后来发现日本东京机房的速度更快。于是,我只需要把洛杉矶的 VPS 快照备份,然后在新开的东京 VPS 上一键恢复就把数据搬过去了,不用再重装系统和优化配置了。

第三,Vultr 是 KVM 虚化技术,私以为比 BandwagonHost(搬瓦工)的 OpenVZ 好的多。然而,搬瓦工年付 19.99 美元的 VPS 也的确不错,无论 CPU 性能还是 I/O 速度目前都比 Vultr 要好一些。如果优化得当,搭建三五个流量不大的 WordPress 博客应该不是问题。

那么,搬瓦工 VPS 和 Vultr 到底哪个好呢?

搬瓦工采用的是 OpenVZ 虚拟化技术,博主担心日后可能会严重超售,影响 VPS 性能,再加上目前 Vultr 搞活动,新注册就送 20 美元(需信用卡或 PayPal 验证并充值 10 美元),足够免费折腾四个月,等于花 $10 使用 6 个月,算算比虚拟主机都便宜!所以,博主最终还是选择了 Vultr。

赠送 20 美元活动传送门:https://www.vultr.com/20-dollars/

价格: ★★★★☆
稳定: ★★★★★
速度: ★★★★☆
操作: ★★★★☆
优惠: ★★★★☆

注意:Vutr 和 DO 只支持信用卡和 PayPal 付款,而搬瓦工则可以使用支付宝。

#4.2 如何购买 Vultr-VPS

打开官网,点击右上角 Create Account,新窗口输入邮箱和密码后提交即可。

好一点的国外 VPS 审查一般都比较严格,提供真实的信息有助于减少封号。如果打算长期使用,建议注册后完善个人信息。

登陆后台

登陆后,点击右上蓝底白字的圆圈,显示 Deploy New Server。

Vultr开通新的VPS

选择机房

对国内访问来说,推荐日本东京机房和美西洛杉矶 / 硅谷机房。这里选择东京机房。

日本东京机房

系统型号

自行选择,个人偏爱 32 位的 CentOS 系统。下面选择最便宜的一款 VPS,月付 5 美元。

32位CentOS6系统

主机标签

可以随便填,但通常写域名。

立即开通VPS

检查一遍,确认无误后,点击右下角的 Deploy Now。

等待几分钟,当显示 “Server added successfully!” 字样的时候,说明 VPS 已经开通了。

单击主机名,进入 VPS 管理页面,即可看到主机 IP 地址和密码。

至此,在 Vultr 后台开通 VPS 已经成功了。此时,到阿里云或 NameSilo 进行域名解析,添加 A 记录。比如:

域名添加A记录

接下来,正式进入本文的最重要环节:通过 SSH 连接 VPS 搭建 LAMP 环境,进而安装 WordPress 博客

#5SSH 连接 VPS

SSH(Secure Shell)即安全外壳协议,是目前较可靠、专为远程登录会话和其他网络服务提供安全性的协议。我们需要一种 SSH 工具来连接 VPS,个人推荐 PuTTY,最好使用英文原版。

下载地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

下载后免安装,直接打开。填入刚才开通的 VPS 地址,默认端口 22。然后点击 Open 打开,弹出的新窗口点击左边 “Yes” 。

打开PuTTY连接VPS

回到我们刚开打开的 VPS 管理页面,左边有登陆名 root 和密码,复制密码。

vultr-VPS管理后台

在 PuTTY 界面输入 root 后回车,单击右键即可输入密码。

提示:PuTTY 中输入密码是不显示的,单击右键即为粘贴。

登陆成功后,首先需要修改 root 密码,因为初始密码太复杂不好记,也不一定安全。

# passwd

回车后设置新密码,再回车重新输入。然后界面显示如下,说明密码修改成功。

修改VPS登录密码

之后,最好再升级一下系统,以保证获得最新的软件和内核。

# yum update

回车,等待升级完成。

#6 搭建 LAMP 环境

LAMP 指的是 Linux(操作系统)、Apache(HTTP 服务器),MySQL(数据库软件) 和 PHP(有时也是指 Perl 或 Python)的第一个字母,主要用来建立 web 应用平台。

博主使用的是 LNMP 一键安装包,具体可参看这里:https://lnmp.org/install.html

# screen -S lnmp

回车,创建 screen 会话。

# wget -c ftp://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz && tar zxf lnmp1.3-full.tar.gz && cd lnmp1.3-full && ./install.sh lamp

回车,进入搭建 LAMP 环境前的必要配置。

提示:为提高效率,可直接复制代码,然后在 PuTTY 窗口单击右键进行粘贴。

以下设置详见下图。

设置root用户数据库密码

安装php5.4

安装apache2.2

当出现上图中的绿字 “Press any key to install…or Press Ctrl+c to cancel” 后,按回车键确认开始安装。

安装大约持续半个小时左右。安装成功后的界面如下图所示:

安装lamp成功

至此,LAMP 环境已经在 VPS 上搭建完成。输入 VPS 的 IP 访问,会出现以下界面。

LNMP在VPS中安装成功

提示:为了安全,建议将 phpmyadmin 目录重命名为不容易猜到的目录!(比如 hereispma)

在安装 WordPress 之前,建议安装 PHP 缓存加速类扩展,对降低 VPS 压力和提高 WordPress 速度大有裨益。

推荐安装两个:OPcache 和 Memcached。

首先,需要进入 LNMP 解压目录 lnmp1.3-full:

# cd /root/lnmp1.3-full

回车,接下来安装 Opcache:

# ./addons.sh install opcache

回车,再回车。

当出现 “Opcache installed successfully, enjoy it!” 字样时,即表示安装成功。

接着安装 Memcached:

# ./addons.sh install memcached

回车,选择 2,回车,再回车。

当出现 “Memcached installed successfully, enjoy it!” 字样时,即表示安装成功。

此时,可以删除之前下载的 lnmp1.3 安装包,以节省空间。

# rm -rf /root/lnmp1.3-full.tar.gz

回车即可。

接下来就可以添加域名安装 WordPress 了。

#7 添加域名 / 虚拟主机

# lnmp vhost add

回车,提示输入域名:

# seoimo.com

回车,提示是否添加多个域名:

# y

回车,博主习惯绑定带 www 的域名:

# www.seoimo.com

回车,显示网站目录。默认 /home/wwwroot/seoimo.com 即可。

注意:若是绑定二级域名,必须手动输入完整的目录路径。例如:

将 tools.seoimo.com 绑定到网站根目录下的 tools 文件夹,则应输入:

/home/wwwroot/seoimo.com/tools

回车。博主习惯不需要日志记录。

# n

会车后,输入站长邮箱。

继续回车,提示数据库名和数据库用户名是否保持一致。

# y

回车,输入 root 用户的数据库密码(不会显示)。

回车,输入数据库名,自行设置。例如:

# sjk_seoimo

回车,设置数据库密码。例如:

# sjkmmseoimo

回车,再回车。

当出现下图所示画面时候,说明添加域名已经成功。

添加域名/虚拟主机

#8 安装 WordPress 程序

以下的步骤想必应该很熟悉,和带 Cpanel 或 DirectAdmin 面板安装 WordPress 过程比较类似。只不过,在面板上操作是可视化的,比较直观。而在这里是通过命令执行的,非可视。只要输入命令时细心点,一般是不会出问题的。

首先,进入添加的域名目录:

# cd /home/wwwroot/seoimo.com

回车。然后浏览器中打开 WordPress 中文站点,下载程序压缩包:

# wget https://cn.wordpress.org/wordpress-4.5.3-zh_CN.tar.gz

回车。等待下载完之后,解压压缩包:

# tar -zxvf wordpress-4.5.3-zh_CN.tar.gz

回车。

接下来,将解压出来的 wordpress 文件夹内全部文件移动到当前的域名目录下(别忘了后面的.)。

# mv wordpress/* .

回车。然后,可以选择删掉空文件夹 wordpress。

# rm -rf wordpress

回车,搞定。

为避免因权限的问题导致安装出错,比如 wp-config.php 无法创建、需要提供 FTP 用户密码以及主题和插件不能更新等,建议赋予根目录文件的可写权限。

# chmod -R 755 /home/wwwroot

回车。

# chown -R www /home/wwwroot

回车。

提示:以后每添加一个域名,都要执行一次以上两步操作。

另外,LNMP 安装包默认禁用了 scandir 函数,这会导致 WordPress 后台看不到安装的主题,以及当前主题总显示 “有新的翻译可用” 的提醒。所以,需要开启此函数。

# vi /usr/local/php/etc/php.ini

回车,然后查找 scandir 函数。

# ?scandir

回车,然后按 delete 键删除,接下来需要保存并退出 vi 命令。

# :wq

回车。然后重启一下 LNMP:

# lnmp restart

回车。

好了,打开博客网址进行最后的安装吧!

搭建WordPress博客

至此,在 VPS 上通过搭建 LAMP 环境安装 WordPress 博客已经大功告成了。

接下来,我们来对 VPS 进行必要的配置优化,以便进一步提高主机性能。

#9VPS 配置优化

关于 VPS 服务器方面的配置优化绝对是个技术活,如果深入研究的话会比较复杂。博主非技术大牛,在这里仅介绍一下常用的三点:优化 php.ini 配置、添加 swap 交换分区开启 Keep-Alive 功能

#9.1 优化 php.ini 配置

用 vi 命令修改 php.ini 文件。

# vi /usr/local/php/etc/php.ini

提示:如果 php.ini 非此路径,可用命令 find / -name php.ini 进行查找。

单击 i 进入 insert 模式,按 “上下左右” 四个方向键找到并修改以下两项:

max_execution_time = 90

memory_limit = 64M

前者表示允许脚本最大执行时间 90 秒,后者表示允许脚本最大使用内存 64M(通常 1G 内存以下设置 64M 或 128M 即可)。

单击 Esc 推出 insert 模式,输入以下命令保存退出。注意英文状态下输入!

# :wq

回车。然后重启一下 LNMP:

# lnmp restart

回车。

#9.2 添加 Swap 交换分区

此方法只适用于虚拟化技术为 Xen 和 KVM 等 VPS,OpenVZ 不支持添加 Swap 交换分区,也就说说搬瓦工 VPS 不能用。

具体可参看:http://www.vpser.net/opt/vps-add-swap.html

使用 root 用户登陆 PuTTY,进入 var 文件目录:

# cd /var/

获取 1GB 的文件块(一般设置为内存的 2 倍):

# dd if=/dev/zero of=swapfile bs=1M count=1024

创建 Swap 文件:

# /sbin/mkswap swapfile

激活 Swap 文件:

# /sbin/swapon swapfile

为了安全,建议修改一下权限:

# chmod 0644 /var/swapfile

将 swapfile 添加到 fstab 文件中,开机自动启动:

# echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab

搞定了。此时查看内存信息:

# free -m

出现 “Swap: 1023” 字样表示设置成功。如下图示:

VPS增加Swap交换分区

#9.3 开启 Keep-Alive 功能 + 优化 Httpd 配置

开启 Keep-Alive 功能可使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive 功能避免了建立或者重新建立连接。可见,对访问静态网页时,开启 Keep-Alive 是很有用的。

因为在进行 WordPress 管理方面上的优化时,需要安装静态缓存插件,所以,开启 Keep-Alive 功能十分必要。

# vi /usr/local/apache/conf/extra/httpd-default.conf

依次修改以下四条:

Timeout 30

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 5

退出,保存:

# :wq

接下来优化 Httpd 配置(prefork 模式下),以降低 Apache 内存占用。此步骤对小内存 VPS(如搬瓦工 256MB 方案)尤为重要。

# vi /usr/local/apache/conf/extra/httpd-mpm.conf

依次修改如下:

优化Apache中Httpd配置prefork

退出,保存:

# :wq

然后,重启 httpd 服务:

# service httpd restart

至此,关于 VPS 服务器方面的优化配置已操作完成。

#10 删除 mysql-bin.0000 * 日志文件

博主所用的 LNMP 一键安装包默认开启了日志记录,这样就会在 /usr/local/mysql/var/ 目录下面生成大量 mysql-bin.0000* 类似的文件,大小甚至达到几个 G!

所以,我们需要做下调整。既要保留日志记录以方便日后查看,又不能生成太多占用空间。

于是,编辑 /etc/my.cnf 文件:

# vi /etc/my.cnf

找到以下两行代码,在前面添加 #,彻底禁用 MySQL 日志。如下图示:

禁用mysql日志记录

保存退出,重启 mysql:

# /etc/init.d/mysql restart

最后,为确保万无一失,建议重启一下 VPS:

# reboot

搞定!

#11 创建 VPS 快照

为了数据安全,一定要养成定期备份的好习惯。否则一旦有个闪失,可真的要一夜回到解放前了。

所幸,Vultr 提供免费的 VPS 快照备份,除了可以一键恢复外,还能无缝迁移系统到别的机房。实在是太方便了!

操作也很简单:打开 VPS 管理页面,点击 “Snapshots” ,方框内填入标签(比如日期)即可。

创建VPS快照

#12 结语

到这里,关于在月付 5 美元的便宜 VPS 上搭建 LAMP 环境,进而安装 WordPress 建站并进行主要的优化配置已全部完成。是不是突然觉得豁然开朗了呢?

其实,把网站安装成功只是万里长征开始的第一步,后面还有内容建设、运营管理、安全防护等等。一个优秀的博客,就像小树苗一样,需要博主长期精心的培育和维护,才能最终长成参天大树。

最后再强调一遍:一定要养成定期备份的好习惯!