VPS搭建LAMP安装WordPress建站及优化教程
讲真,曾经我特别佩服使用服务器(比如VPS)管理WordPress网站的站长们。
因为,我觉得仅仅在漆黑的屏幕上敲几行代码就能把一个网站玩的风生水起很了不得,感觉有点黑客大神的气派。而那时我才刚刚开始研究独立博客和虚拟主机,还是个只知道使用简单办公软件的上班族。
后来,慢慢的发现许多事情原本都很简单,是自己想复杂了。
比如在VPS上搭建WordPress,其实根本就不需要你精通什么编程,懂什么系统,你只要掌握一些常用到命令就能DIY。因为在互联网时代,很多东西都是现成的,你只要会搜索,会整合,会学习使用就万事不难了。
当然,如果你是个什么都懂的IT男,想必更是极好的。
言归正传,这篇文章主要记录了我放弃虚拟主机后,如何一步步在VPS上安装CentOS6系统和LAMP环境进而搭建WordPress博客的。相信我,看完本文后,聪明的你一定会有一种豁然开朗的赶脚。
因为打算当做教程来写,所以会尽量写的详细一点。以下是文章目录,非小白者可自行略过前面的介绍部分。
为什么要用WordPress建站
WordPress是一种使用PHP语言和MySQL数据库开发的个人博客系统,其稳定可靠,易于使用,且是免费开源的。而最让我看重的,是它支持一大波优秀的插件和模板,比如SEO优化、静态缓存和数据备份等。
具体可参看百度文库相关介绍:http://baike.baidu.com/item/WordPress
选择虚拟主机还是VPS
在回答这个问题之前,让我们先来弄清楚两者的含义。
虚拟主机
虚拟主机(Virtual Hosting)又叫共享主机(Shared Hosting),是使用特殊的软硬件技术,把一台真实的主机分割成多个的逻辑存储单元,每个单元都没有物理实体,但是每一个物理单元都能像真实的物理主机一样在网络上工作,具有共享IP地址(或独立IP地址)以及必要的互联网功能。
通俗一点讲,就是一个出租屋里分了好多个床位,每个租客公用水、电、卫生间等生活设施。
- 优点:便宜、便捷,自带被褥,拎包即住
- 缺点:居住性能差
什么是VPS
VPS(Virtual Private Server)即虚拟专用服务器,就是利用虚拟化技术(如Xen、OpenVZ、KVM等)把一台真实的服务器分割成若干虚拟的服务器,具有独立的操作系统及开关机等功能,能自行搭建和配置特定的服务。
通俗的说,就如同买了一个小区里的一套房子,空间及设施都是自己的,想怎么装就怎么装。
- 优点:爱咋用咋用,居住性能好
- 缺点:价格价高,需要懂点技术
由上可以看出,究竟是选用虚拟主机还是VPS建站主要看你的使用目的和性能要求。
一般来说,如果你对主机配置和维护并不怎么懂,且网站访问量不大(比如日均1000IP以下),虚拟主机(最好是带独立IP)是首选,价格通常在年付二三百RMB的样子。
如果你和博主一样喜欢折腾,喜欢追求更高性能,同时也想学习一点Linux相关知识,那么可以考虑使用VPS。
实际上有些性能很不错的国外VPS也很便宜,一般月付5美元甚至更少即可。这样算下来,其实并不比虚拟主机贵到哪去。
博主现在用的是美国Vultr公司的最便宜的一款VPS,日本东京的机房,感觉速度要比美国西海岸洛杉矶机房好一些。具体购买及安装过程详见下文。
注册域名
考虑到性价比(免费隐私保护)和支付便利(支持支付宝),博主目前在用以下两个域名注册商,在这也推荐给大家。
- 阿里云(万网):https://wanwang.aliyun.com/domain/
- NameSilo:https://www.namesilo.com/
如何选购便宜的VPS
坦白说,虽然网上有不少推荐和介绍,比如知乎上这篇帖子,但如何选择一款便宜好用且性能不错的VPS还是让我头疼了一阵。为什么呢?
网上有些推荐的文章仅仅只是为了推荐而推荐,拿来主义,人云亦云,缺乏实际的使用体验。这就可能导致推荐者对VPS整体的稳定性缺乏深入的评测,而稳定可靠恰恰是一个网站长期发展的重要保障。
尽管128MB甚至更低内存的VPS也可以搭建WordPress建站,但博主并不推荐这样做。因为我们的目的是要做一个省时省力又能长期稳定运行的网站,而不是炫耀VPS优化技术。
于是,在兼顾价格(5美元以下)、速度(ping值200左右)以及稳定性(在线率99.95以上)三个前提下,最终筛选出三个便宜的国外VPS:Vultr、BandwagonHost(搬瓦工)和DigitalOcean(DO)。
但是这三个到底哪个最适合自己呢?感觉还是一头雾水。
纸上得来终觉浅,绝知此事要躬行。于是,就三个VPS全部试用了一遍,并通过我能用得到的各种测试,最终选定了Vultr-VPS(日本机房)。
为什么选择Vultr-VPS
首先,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博客应该不是问题。
但是,搬瓦工采用的是OpenVZ虚拟化技术,博主担心日后可能会严重超售,影响VPS性能,再加上目前Vultr搞活动,新注册就送20美元,足够免费折腾四个月了!所以,博主最终还是选择了Vultr。
登陆后台
登陆后,点击右上蓝底白字的圆圈,显示Deploy New Server。
选择机房
对国内访问来说,推荐日本东京机房和美国洛杉矶或者硅谷机房。这里选择东京机房。
系统型号
自行选择,个人偏爱32位的CentOS系统。下面选择最便宜的一款VPS,月付5美元。
主机标签
可以随便填,但通常写域名。
检查一遍,确认无误后,点击右下角的Deploy Now。
等待几分钟,当显示 “Server added successfully!” 字样的时候,说明VPS已经开通了。
单击主机名,进入VPS管理页面,即可看到主机IP地址和密码。
至此,在Vultr后台开通VPS已经成功了。此时,到阿里云或NameSilo进行域名解析,添加A记录。比如:
接下来,正式进入本文的最重要环节:通过SSH连接VPS搭建LAMP环境,进而安装WordPress博客。
SSH连接VPS
SSH(Secure Shell)即安全外壳协议,是目前较可靠、专为远程登录会话和其他网络服务提供安全性的协议。我们需要一种SSH工具来连接VPS,个人推荐PuTTY,最好使用英文原版。
下载地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
下载后免安装,直接打开。填入刚才开通的VPS地址,默认端口22。然后点击Open打开,弹出的新窗口点击左边 “Yes” 。
回到我们刚开打开的VPS管理页面,左边有登陆名root和密码,复制密码。
在PuTTY界面输入root后回车,单击右键即可输入密码。
提示:PuTTY中输入密码是不显示的,单击右键即为粘贴。
登陆成功后,首先需要修改root密码,因为初始密码太复杂不好记,也不一定安全。
# passwd
回车后设置新密码,再回车重新输入。然后界面显示如下,说明密码修改成功。
之后,最好再升级一下系统,以保证获得最新的软件和内核。
# yum update
回车,等待升级完成。
搭建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窗口单击右键进行粘贴。
以下设置详见下图。
当出现上图中的绿字 “Press any key to install…or Press Ctrl+c to cancel” 后,按回车键确认开始安装。
安装大约持续半个小时左右。安装成功后的界面如下图所示:
至此,LAMP环境已经在VPS上搭建完成。输入VPS的IP访问,会出现以下界面。
提示:为了安全,建议将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了。
添加域名 / 虚拟主机
# 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
回车,再回车。
当出现下图所示画面时候,说明添加域名已经成功。
安装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
回车。
好了,打开博客网址进行最后的安装吧!
至此,在VPS上通过搭建LAMP环境安装WordPress博客已经大功告成了。
接下来,我们来对VPS进行必要的配置优化,以便进一步提高主机性能。
VPS配置优化
关于VPS服务器方面的配置优化绝对是个技术活,如果深入研究的话会比较复杂。博主非技术大牛,在这里仅介绍一下常用的三点:优化php.ini配置、添加swap交换分区和开启Keep-Alive功能。
优化php.ini配置
用vi命令修改php.ini文件。
# vi /usr/local/php/etc/php.ini
提示:如果php.ini非此路径,可用命令 find / -name php.ini 进行查找。
单击i进入insert模式,按 “上下左右” 四个方向键找到并修改以下两项:
max_execution_time = 60
memory_limit = 64M
前者表示允许脚本最大执行时间60秒,后者表示允许脚本最大使用内存64M(通常1G内存以下设置64M即可)。
单击Esc推出insert模式,输入以下命令保存退出。注意英文状态下输入!
# :wq
回车。然后重启一下LNMP:
# lnmp restart
回车。
添加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” 字样表示设置成功。如下图示:
开启Keep-Alive功能
开启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服务:
# service httpd restart
至此,关于VPS服务器方面的优化配置已操作完成。
删除mysql-bin.0000*日志文件
博主所用的LNMP一键安装包默认开启了日志记录,这样就会在 /usr/local/mysql/var/ 目录下面生成大量 mysql-bin.0000* 类似的文件,大小甚至达到几个G!
所以,我们需要做下调整。既要保留日志记录以方便日后查看,又不能生成太多占用空间。
于是,编辑 /etc/my.cnf 文件:
# vi /etc/my.cnf
在 [mysqld] 部分中加入 expire_logs_days = 5 语句,表示每5天自动清理日志记录。如下图示:
保存退出,重启mysql:
# /etc/init.d/mysql restart
最后,为确保万无一失,建议重启一下VPS:
# reboot
搞定!
创建VPS快照
为了数据安全,一定要养成定期备份的好习惯。否则一旦有个闪失,可真的要一夜回到解放前了。
所幸,Vultr提供免费的VPS快照备份,除了可以一键恢复外,还能无缝迁移系统到别的机房。实在是太方便了!
操作也很简单:打开VPS管理页面,点击 “Snapshots” ,方框内填入标签(比如日期)即可。
结语
到这里,关于在月付5美元的便宜VPS上搭建LAMP环境,进而安装WordPress建站并进行主要的优化配置已全部完成。是不是突然觉得豁然开朗了呢?
其实,把网站安装成功只是万里长征开始的第一步,后面还有内容建设、运营管理、安全防护等等。一个优秀的博客,就像小树苗一样,需要博主长期精心的培育和维护,才能最终长成参天大树。
最后再强调一遍:一定要养成定期备份的好习惯!