WordPress建站: 便宜VPS+LAMP搭建+博客安装教程【Vultr & 搬瓦工VPS亲测】

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

在回答这个问题之前,让我们先来弄清楚虚拟主机和VPS的区别。

#2.1虚拟主机

VPS和虚拟主机区别对比

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

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

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

#2.2什么是VPS

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

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

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

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

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

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

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

博主选用的是美国Vultr公司的最便宜的一款VPS,日本东京的机房,感觉速度要比美国西海岸洛杉矶机房好一些。

博客现已搬迁至搬瓦工年付$19.99这款小内存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搬瓦工VPS和Vultr哪个好

Vultr-VPS月付2.5美元

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

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

目前Vultr已更改套餐,价格、流量及空间大小均有所调整,可直达Vultr官网查看详情。

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

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

第三,Vultr是KVM虚化技术,私以为比BandwagonHost(搬瓦工)的OpenVZ好一些。

但是,搬瓦工年付19.99刀的VPS也的确不错,无论CPU性能还是硬盘I/O读写速度(可达900MB/s,见下图)目前都比Vultr(平均450MB/s)要好一些。若优化得当,搭建三两个流量不大的WordPress博客应该不是问题。

搬瓦工OVZ-256MB套餐I/O读写速度测试

再来看下经过优化加速之后,本页面(多图长文)的全国打开速度:(可点击放大)

seoimo全国各地页面打开速度

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

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

利好消息:Vultr最近下调了价格,最低套餐(512MB/500GB)只需2.5美元/月

遗憾的是月付2.5美元这款平时只有纽约和迈阿密机房有货,但这俩机房靠近美国东海岸,离国内实在有点太远了,略坑。建站的话博主还是推荐Vultr的洛杉矶、西雅图和硅谷这三个美西机房,距离国内比较近,带宽也足。

但是,如果抢不到2.5刀那款的话,这几个美西机房要月付5刀了。当然,5刀的配置会更好一些,看个人需要了。

另外,降价之后赠送20美元的优惠活动也随之取消了。

如果你对网站的访问速度不像博主这么挑剔的话,月付$2.5的美东机房还是可以接受的。

Vultr赠送20美元活动直达链接:https://www.vultr.com/20-dollars/

搬瓦工VPS年付19.99美元

实际上,便宜的VPS不超售是不可能的。因为VPS商家是做生意赚钱的,而不是来搞慈善。

但是,从过去几个月的使用情况来看,搬瓦工这款年付19.99美元(256MB/500GB)(512MB/500GB)小内存VPS速度和稳定性确实很不错。

在过去的几个月里,除了博主备份系统和更换机房时reboot几下,还从未宕过机。经过适当的优化(见下文)后,博客页面也基本可以达到秒开。

再加上Vultr赠送的小钱钱也早已经用完,所以本博客(即SEOIMO.COM)目前已从Vultr迁移至搬瓦工的洛杉矶机房。

加量不加价,256MB套餐现已升级为512MB套餐,OpenVZ和KVM两个版本可用。给力啊!

搬瓦工VPS和Vultr到底哪个更适合,博主的建议是:

如果你只有三两个流量不大的网站,比如每天5000PV以内,搬瓦工256MB/500GB这款小鸡还是完全能够胜任的。

因为,博主通过LoadImpact测试本页,模拟5分钟内100个访客持续访问也没有搞垮这个小鸡。非但没搞垮,这款小内存VPS表现还很不错。

不相信博主?有图有真相,直接上图(看不清可点击放大):

搬瓦工VPS模拟100个同时在线

从上图可以看出,在5分钟内,模拟100个访客持续访问本页,打开时间基本维持在0.8-1.2秒之间。倘若从早10点至晚22点算起(百度上网时间分布统计),按12个小时持续访问的话,每天有大约15000PV的访问量!

是否可以这样理解:即使像本页面这样有这么多的图片和文字,每天大约15000PV的流量,经过适当的优化,在搬瓦工这款256MB的小内存VPS上也基本是秒开的。

是不是有点吓到了?

再来看一下100访客在线时VPS的系统平均负载:

搬瓦工VPS的系统负载

内存耗尽是意料之中的事情,毕竟只有256MB。但出乎博主意料的是:系统平均负载并不高,甚至还不到0.2!这么高的流量,博主原以为起码也要超过1的,即CPU刚好跑满。现在非但没有跑满,竟还有足够多的剩余。不得不说,搬瓦工的技术还真是可以!

由此可见,小内存VPS不一定就不能搭建大流量WordPress博客,关键要优化得当。

当然了,如果网站真有每天超过10000PV的流量,博主还是建议提升下VPS配置,比如升级到搬瓦工1024MB/1024GB这个套餐。因为每天10000PV的流量即便挂Adsense广告每天也该有10美元的收入了,就不要再扣VPS月租这点小钱了。

下文介绍的VPS安装和优化教程,将列出搬瓦工和Vultr两种方案,请自行选择。

值得一提的是,搬瓦工偶尔会推出促销套餐,价格会稍微便宜一点,但博主感觉尽是些性能缩水的配置。不仅网速可能不如常规款,CPU占用限制更加严格,而最另博主感到无爱的是不能随意更换机房(IP)

所以,强烈不建议选择此类无法更换机房的促销款。

搬瓦工OpenVZ-512MB直达链接:https://bandwagonhost.com/openvz-512mb/

此外,搬瓦工新出了KVM版本的VPS套餐。年付28.8019.99刀,512MB内存,10GB空间,性价比可能会更高一些。(喜欢看视频、爱折腾的建议选这款)

KVM-512MB/500GB直达链接:https://bandwagonhost.com/kvm-512mb/

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

一般来说,512MB内存足够个人建站使用了。但若是年付 $19.99 这款紧俏套餐已经脱销,或者你需要更高配置的,年付 $49.99 这款也足够好:20GB空间,1024MB内存,多机房可自由切换。

至于其余的套餐,博主以为对绝大多数人搭建wordpress博客来说,性价比并不高。因此,也就没必要去花冤枉钱。

KVM-1024MB/1024GB直达链接:https://bandwagonhost.com/kvm-1024mb/

DigitalOcean只支持信用卡和PayPal付款,而搬瓦工和Vultr则可使用支付宝(Alipay)。

#4.2如何购买搬瓦工VPS

默认折叠,请单击展开 ..

#4.3如何购买Vultr-VPS

默认折叠,请单击展开 ..

接下来,正式进入本文的最重要环节:通过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

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

vultr-VPS管理后台

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

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

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

# passwd

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

修改VPS登录密码

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

# yum update

回车,等待升级完成。

此外,为防止SSH登录一段时间后自动断开,可更改如下设置以保持SSH长时间在线。

# vi /etc/ssh/sshd_config

将如下两行代码前的 # 去掉,然后做相应修改:(若无此两行代码请在末尾自行添加)

保持SSH长时间在线不断开

保存,重启SSH即可生效:

# service sshd restart

#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密码务必记牢,下面添加域名时会用到!!

LNMP安装成功之后,如果数据库密码忘记了,可参看这里进行重置:链接地址

设置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 , ..):
# cd /home/wwwroot/default
# mv phpmyadmin hereispma

②此安装成功页面是IP访问时的默认页面(非域名),建议删除或改名:
# rm -rf index.html 或者
# mv index.html random-name.html

③如需要开启IP访问网站域名(可选,不推荐),请更改IP访问默认路径:
# vi /usr/local/apache/conf/extra/httpd-vhosts.conf
DocumentRoot “/home/wwwroot/default”Directory “/home/wwwroot/default” 两处中的 “/home/wwwroot/default” 修改为需要IP访问的域名,如 “/home/wwwroot/seoimo.com”
具体可参考:http://www.seoimo.com/wordpress-vps/#comment-128

在安装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 用户的数据库密码(不会显示,在#6搭建LAMP环境中设置好的)。

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

# sjk_seoimo

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

# sjkmmseoimo

回车,再回车。

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

添加域名/虚拟主机

#8安装WordPress程序

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

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

# cd /home/wwwroot/seoimo.com

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

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

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

# tar -zxvf wordpress-4.8.1-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功能 + 优化Httpd配置

#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 = 150

memory_limit = 64M

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

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

# :wq

回车。然后重启一下LNMP:

# lnmp restart

回车。

#9.2添加Swap交换分区

此方法只适用于虚拟化技术为KVM和Xen的VPS,OpenVZ不支持添加Swap交换分区,也就说说搬瓦工VPS(KVM-512MB套餐除外)不能用此方法增加Swap空间。

如果搬瓦工VPS管理后台Swap状态长期显示红色,则表明VPS内存已满,该考虑升级VPS了。

关于Swap分区的具体含义在此不再赘述,详细可以参考百度百科:Swap分区

简单来说,当VPS的物理内存不够用时,系统会占用一部分Swap分区作为临时内存,目的是防止因物理内存耗尽而可能出现的错误。

因此,对小内存VPS来说,设置一定大小的Swap交换分区显然很有意义。

但是,由于硬盘的 I/O 读写速度远不能和内存的读写速度相提并论(可能相差几十倍),使用Swap交换分区时,系统可能会变得特别缓慢、卡顿,甚至程序会出现错误。

因此,要尽量避免使用Swap分区,不得不使用时也不宜设置过大(大了也没用还占用空间),也就是说:我们不能指望用Swap来代替物理内存使用。甚至于,当你的VPS物理内存很充足时,完全可以禁用Swap以提高VPS的响应速度。

当物理内存(实际使用内存)长期处于耗尽状态时,正确的做法就是该升级套餐了。

添加Swap交换分区

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

# cd /var/

获取256MB的文件块(一般设置为内存的0.5倍即可):

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

创建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: 256” 字样表示设置成功。

修改 swappiness 默认值

上面说了,我们要尽量避免使用Swap分区。所以,这里我们需要额外做些修改,使系统尽可能的优先使用物理内存。

首先查看下 swappiness 的默认值:

# cat /proc/sys/vm/swappiness

通常,返回值是60(默认值)。

实际上,swappiness = 0 表示最大限度使用物理内存,然后才使用swap分区;swappiness = 100 表示系统积极的使用swap分区,然后才使用物理内存。

显然,这里我们需要降低 swappiness 的默认值。

# vi /etc/sysctl.conf

在里面添加 vm.swappiness=10 字段,然后退出保存。

或者:

# echo "vm.swappiness=10" >> /etc/sysctl.conf

然后 # reboot 一下VPS即可。

#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

#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

#11Linux-VPS安全配置 / 防护措施

博主以为,VPS的安全防护绝对是运行网站的重中之重。防护措施做不好,轻者给后期运行带来无穷无尽的烦恼,重者造成网站瘫痪甚至数据清空,那就真的欲哭无泪了。

好在Linux本身已经足够安全稳定,只要你不泄露关键的登录信息(比如SSH端口和ROOT密码等),通常不会产生重大事故。但即便如此,我们还是应该未雨绸缪,提前做好VPS的安全防护措施。

那么,VPS安全配置究竟该如何做呢?

在这里,博主结合自己建站经验,介绍一下Linux-VPS安防措施里最有效的三个方面:修改SSH端口阻止SSH暴力破解防御DDOS攻击

#11.1修改SSH端口

首先,编辑配置文件:

# vi /etc/ssh/sshd_config

找到 #Port 22 这行(默认端口22),把前面的 # 去掉,然后再添加一个新的端口(不超过65535),比如 Port 56789:

更改ssh端口

保存,重启SSH即可:

# service sshd restart

现在,使用新的端口56789连接SSH。若能成功登录,则再次编辑 sshd_config,将里面的 Port 22 删除后,重启SSH即可。

搬瓦工VPS生成的SSH端口是随机的(非默认端口22),因此,可以无需再次修改。

#11.2阻止SSH暴力破解

通过修改默认的22端口后,已经可以阻止一般的SSH非法请求了。

但是,如果程序自动扫描SSH端口并进行暴力破解,那么仅仅修改端口的话,还是远远不够的。因此,我们需要安装DenyHosts进行自动拦截。

首先,下载 DenyHosts 并解压到 root 目录:

# cd ~

# wget http://soft.vpser.net/security/denyhosts/DenyHosts-2.6.tar.gz

# tar -zxvf DenyHosts-2.6.tar.gz

# cd DenyHosts-2.6

接下来,进行安装和配置:

# python setup.py install

# cd /usr/share/denyhosts/

# cp denyhosts.cfg-dist denyhosts.cfg

# cp daemon-control-dist daemon-control

然后,设置开机启动:

# chown root daemon-control

# chmod 700 daemon-control

# ./daemon-control start

# echo "/usr/share/denyhosts/daemon-control start" >> /etc/rc.local

至此,DenyHosts就算安装完成了。通常,DenyHosts默认的阻拦配置就可以。当然,你也可以自行设置:

# vi /usr/share/denyhosts/denyhosts.cfg

推荐设置如下几个主要的参数:

PURGE_DENY = 5d

DENY_THRESHOLD_INVALID = 5

DENY_THRESHOLD_VALID = 5

DENY_THRESHOLD_ROOT = 5

HOSTNAME_LOOKUP=NO

最后,重启一下DenyHosts即可:

# /usr/share/denyhosts/daemon-control restart

倘若自己的IP(如何查看)被误封,可在 /etc/hosts.deny 中删除对应的IP后重启DenyHosts即可。

#11.3防御DDOS攻击

这里主要用到一款优秀的免费软件DDoS Deflate:http://deflate.medialayer.com/

首先,下载DDoS Deflate并安装:

# cd ~

# wget http://www.inetbase.com/scripts/ddos/install.sh

# chmod 0700 install.sh

# ./install.sh

Q 键退出,然后编辑配置文件:

# vi /usr/local/ddos/ddos.conf

推荐做如下更改,其余默认即可:

NO_OF_CONNECTIONS = 100

APF_BAN = 0

BAN_PERIOD = 36000

保存后退出。

#12MySQL数据库优化

众所周知,LAMP是比较依赖数据库的。尤其是搭建的WordPress博客没进行HTML静态缓存的情况下,对数据库的依赖更加严重。

在我看来,对MySQL数据库的优化是特别重要也是特别困难的一项工作。不仅仅是因为MySQL设置里参数众多,让人看着头疼迷糊,更是因为这些参数没有一个固定的最优组合。参数设置的激进,浪费VPS资源,设置的保守,又可能限制程序的正常运行。

那么,究竟该怎么设置才合理呢?

根据博主的经验,对MySQL众多参数中最重要的以下几点进行合理的优化后,基本可以保证中小流量(比如<5000IP/天)博客的正常访问。

为确保安全,首先备份一下 /etc/my.cnf

# cp /etc/my.cnf /etc/my.cnf.bak

接下来,修改 /etc/my.cnf 中的以下参数:

# vi /etc/my.cnf

key_buffer_size = 32M

query_cache_size = 16M

max_connections = 100

修改后,保存退出。重启一下MySQL数据库即可:

# lnmp mysql restart

特别提示:

随着博客流量的日益增长,这些设置可能不再适合,需要不断调整,以达到最合理的方案。

那么,如何调整呢?

在这里,博主根据自己的实际经验,提供以下方法。同时,也建议你定期监测调整。

一、连接MySQL数据库:

# mysql -uroot -p

回车,输入数据库密码(root用户)。

出现提示符 mysql> 后,即表示成功进入MySQL数据库中。

二、查看服务器响应的最大连接数(Max_used_connections):

mysql> show global status like 'Max_used_connections';

返回值中,Max_used_connections 表示服务器过去发生的最大连接数。

博主建议:

max_connections / Max_used_connections = 1.5

比值可以大一些,但太小的话可能出现 1040 错误:“MySQL: ERROR 1040: Too many connections”

三、查看key_buffer_size使用情况:

mysql> show global status like 'key_read%';

得到返回值(单位:Byte),索引未命中缓存的概率:key_cache_miss_rate = Key_reads / Key_read_requests * 100%

博主建议:

key_cache_miss_rate < 0.1% 即可,表示1000个索引读取请求才有一个直接读硬盘。

如果比值过小(比如< 0.01%),则表示 key_buffer_size 分配的过多,可适当减少。

四、查询缓存(query cache)利用率:

mysql> show global status like 'qcache%';

返回值中,Qcache_free_memory 表示缓存中的空闲内存(单位:Byte)

查询缓存利用率 = (query_cache_size – Qcache_free_memory) / query_cache_size * 100%

博主建议:

查询缓存利用率 >80% 时,可适当提高 query_cache_size 数值;

查询缓存利用率 <20% 时,可适当降低 query_cache_size 数值。

五、退出MySQL数据库:

mysql> exit

#13创建VPS快照

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

所幸,Vultr提供免费的VPS快照备份,可以通过一键恢复(restoring),无缝迁移系统到别的机子或者机房。实在是太方便了。

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

创建VPS快照

值得一提的是,Vultr的 Snapshots 恢复的时候有个小坑:备份恢复只能向等于或大于备份空间的机子进行操作。

也就是说,你在月付$5机子上可以一键恢复月付$2.5的机子上的备份。反之则不行,因为小空间没法恢复大空间。

所以,博主备份时的标签一般都注明套餐类型和日期,以便于管理。

如上图中:512MB-SEOIMO-2017-10-01

搬瓦工VPS快照备份请参看:#4.2 + 如何购买搬瓦工VPS

#14WordPress博客的备份和迁移

网站备份的重要性就不需要博主多说了。在Linux系统下,对WordPress进行备份其实并不难。主要涉及两部分:文件备份和数据库备份

#14.1 文件备份

以下命令中涉及的数据库和域名,请根据你VPS上具体设置,自行修改。

为了方便管理,我们先建立一个文件夹专门存放备份数据,比如 /home/backup/

# mkdir /home/backup

以本站所在文件夹 seoimo.com 为例,压缩整站并移动到 /home/backup/ 文件夹下(为方便管理,博主添加了备份日期):

# cd /home/wwwroot
# tar -zcf seoimo.com-2017-10-01.tar.gz seoimo.com
# mv seoimo.com-2017-10-01.tar.gz /home/backup/

好了,整站已经打包备份完成。接下来,开始备份数据库。

#14.2 数据库备份

首先,打开 /home/backup/ 文件夹,我们需要将数据库备份在这里:

# cd /home/backup
# lnmp database list

输入 root 数据库密码(在#6 + 搭建LAMP环境设置的),即可查看当前数据库列表。

选择需要备份网站的对应数据库,以选定 sjk_seoimo 为例:

mysqldump -uroot -p sjk_seoimo > sjk_seoimo-2017-10-01.sql

再次输入数据库密码,即可完成数据库备份。

可键入命令 # ls 查看当前目录下已经存在了备份好的文件。

此时,可以用通过 FTP 下载到本地保存,也可上传到别的 VPS 上备份保存。

#14.3 WordPress迁移 / 搬家

某些情况下,我们可能需要进行网站迁移,从一个VPS搬家到另一个VPS上。如果是没有开通 SSH 功能的虚拟主机,搬家起来可能会比较麻烦,来来回回的下载和上传。但是,在VPS上操作则相对简单的多。

假设新VPS的IP为 8.8.8.8,SSH端口为 22,则打开备份目录,选择需要的文件备份和数据库备份上传:

# cd /home/backup
# ls
# scp -P 22 seoimo.com-2017-10-01.tar.gz root@8.8.8.8:/home/backup
# scp -P 22 sjk_seoimo-2017-10-01.sql root@8.8.8.8:/home/backup

回车后,按要求输入新的VPS登陆密码。

接下来,SSH登入新的VPS。然后解压或替换网站域名目录:

# cp /home/backup/seoimo.com-2017-10-01.tar.gz /home/wwwroot
# cd /home/wwwroot
# tar -zxf seoimo.com-2017-10-01.tar.gz
# rm -rf seoimo.com-2017-10-01.tar.gz

搬家后解压的文件可能存在权限的问题,建议赋予根目录文件的可写权限。

# chmod -R 755 /home/wwwroot
# chown -R www /home/wwwroot

之后,导入数据库,仍以 sjk_seoimo 为例:

# cd /home/backup
# ls
# mysql -uroot -p sjk_seoimo < sjk_seoimo-2017-10-01.sql

倘若虚拟主机转虚拟主机,或者虚拟主机转VPS,数据库密码和某些插件文件路径可能不同,这就需要额外去查找更改了。

但如果都是在VPS上通过LNMP搭建WordPress,通常则无需再做额外操作。

注意:数据库的导出用的符号是 ">",导入用的是 "<";注意方向,千万别搞错了。

备份小技能

上文提到过,备份后的文件可以 FTP 下载到本地保存,也可以 SCP 上传到其他VPS上保存。

那么,哪个方法更好呢?

看个人喜好了。不过博主倾向于后者,即 scp 到其他VPS上备份保存。因为一旦你的网站出现问题,重新开VPS和从本地上传的话,一般只有几十到几百KB/s的上传速度,比较慢。而VPS之间的 scp 传速则快得多,通常几十MB/s的速度,简直天壤之别。

那是不是意味着需要额外单独买个VPS作为备份?

条件允许当然更好。但是,也不一定需要。因为Vultr自带免费的 "Snapshots" 功能。

虽然搬瓦工(和Vultr)很不错,但鸡蛋都放在一个篮子里总是不够安全的。博主的做法是:

在Vultr上另开一个机子(比如最便宜的月付$2.5),然后按本文教程搭建好本站一毛一样的站点。然后 "Snapshots",之后把新开的VPS销毁。这样一来,即使不再新开VPS,后台依然保留备份的 "Snapshots" 。

博主需要做的就是定期花几毛钱重开VPS(每月1-2次),恢复(Restoring),然后把备份上传过来,再重新 "Snapshots" 后销毁。

这样,一旦由于某些原因本站甚至搬瓦工出了问题,博客也可以在Vultr上很快恢复访问。

Snapshots-Restoring的具体步骤:

登录Vultr → 左侧Servers → 选中VPS → 上面Snapshot → 右下Restore-Snapshot

恢复VPS快照

#15写在最后

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

其实,把网站安装成功只是万里长征开始的第一步,后面还要涉及WordPress内部的优化和加速、博客的内容建设、运营管理、安全防护等等,这在以后的文章中会继续和大家分享。

博主以为,一个优秀的博客,就像小树苗一样,需要博主长期精心的培育和维护,才能最终长成参天大树。

不过,千万要记得:一定要养成定期备份的好习惯啊!

在安装过程中,如遇到问题或对本文有好的想法或建议,请在下面留言评论。

倘若本文对你有所帮助,欢迎分享传播。举手之劳,也许就能够帮助更多想尝试VPS建站的朋友们少走一些弯路。

223条评论

  1. 秋风送秋雨说道:

    博主你好,我想问下在那个添加域名的时候,添加的数据库是默认已有的mysql,用户名是默认的root,还是会根据这个时候填写的数据库名创建自动一个新的数据库呢?(就是提示数据库名和数据库用户名那里有一点看不懂,是要求新创建还是就用root?)

    • SEOIMO说道:

      可以用root,但不建议这样做。因为根数据库和网站数据库混一起用的话管理起来可能会出问题,尤其当绑定多个域名(网站)建多个数据库的时候。
      所以,在添加域名的时候,相应的为该域名单独建立数据库。为方便管理,默认此时添加的该数据库名和用户名是相同的(其实不同也没关系)。
      比如,你为域名 seoimo.com 建立了对应的数据库 sjk_seoimo,那么相应的数据库用户名也是 sjk_seoimo(当然也可以不一样)。

  2. 鸡毛说道:

    大佬,我之前用lnmp装好了网站,但是现在想再装一个二级域名时,用lnmp vhost add添加了,也把网站放进去了,但是访问的是Apache 2 Test Page,提示需要把网站放到/var/www/html/,请问这里应该如何修改呢,跪谢

    • SEOIMO说道:

      检查下是不是在添加二级域名时没有手动设置好访问目录(文中有说明)。
      正常应该是 /home/wwwroot/域名文件夹/二级域名访问的文件夹/

  3. 氟西汀说道:

    感谢博主的教程,请问博主如果我想清空搬瓦工的服务器硬盘要怎么弄?

  4. wangtaiyang说道:

    博主,你好
    我到最后一步提交的时候显示:
    建立数据库连接时出错
    这意味着您在wp-config.php文件中指定的用户名和密码信息不正确,或我们未能在localhost联系到数据库服务器。这可能意味着您主机的数据库服务器未在运行。
    这是什么原因,盼回复,谢谢

    • SEOIMO说道:

      请检查数据库名和密码是否正确,包括大小写和不要有多余的空格或其他字符。
      在本教程里,数据库名和用户名是一致的,密码是添加域名时设置的密码(非根用户的MySQL数据库密码),数据库主机默认 localhost 即可,表前缀默认 wp_ 即可。

  5. Eason说道:

    你好,我按照你的流程已经基本成功,但是在添加域名的时候,没有吧不带www的网址解析到自己ip,所以输入带www站点能正常到正常网页,但是不带www或者输入ip就会转到lnmp主页上去.这样该怎么搞,最想弄的就是吧不带www的网页解析一下.

    • SEOIMO说道:

      你指的是没解析还是没添加?
      如果是没解析的话,直接DNS那里解析到IP就可以了。
      如果是没添加的话,直接再按文中的介绍添加一遍也就可以了。
      或者,先删除添加的域名,再从头重新把两个绑定一遍。

  6. wuERIC说道:

    你好方便加下秋秋吗,新手一枚很多问题得当面提问。
    谢谢,方便的话,加一下吧

    • SEOIMO说道:

      有问题就在这里留言讨论吧。
      一方面可以帮助后来的朋友,另一方面对我个人而言也比较放松。

      • wuERIC说道:

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

        # mv wordpress/* .

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

        # rm -rf wordpress

        回车,搞定。

        做到这一步的时候不会了。 而且 ftp 我也登录不上。 不知道哪个登录。尝试下了8Uftp 登录时候 总是连接超时

        • SEOIMO说道:

          如果之前的步骤你已走完,为啥到这里就不会了?只是简单的复制粘贴而已。
          安装过程中也没有用到ftp(当然你也可以安装),全部可在 SSH 里执行。

      • wuERIC说道:

        重要提示:★★★★★
        ①为了安全,建议将 phpmyadmin 目录重命名为不容易猜到的目录(比如 hereispma , ..):
        # cd /home/wwwroot/default
        # mv phpmyadmin hereispma

        ②此安装成功页面是IP访问时的默认页面(非域名),建议删除或改名:
        # rm -rf index.html 或者
        # mv index.html random-name.html

        这两部因为找不到在哪里运行。 就没有去操作

        • SEOIMO说道:

          这些操作全部是通过 SSH 登入你的VPS后的执行命令。
          上面的步骤种有介绍如何操作。
          简单来说,你可以直接复制命令粘贴到 SSH 里运行。

  7. hammy说道:

    博主 请问 我装了ftp之后,用xshell登录老是提示Disconnected from remote host 怎么处理

  8. qingmei说道:

    楼主求救,问题出在第八步,安装WordPress程序那块,我用ftp软件把WordPress安装包解压后放在了home/wwwroot/wangzhanming/下面;结果访问网页时,出现403 Forbidden,这是什么情况,怎么解决啊?前面的步骤都操作对了啊!

    • SEOIMO说道:

      多半是权限的问题。建议试试:
      FTP软件登入时,连接类型选择 SFTP over SSH ,然后用 root 用户名登录,再传文件。

  9. haruhi说道:

    你好,我是一个网络小白,在按照你的方法和步骤之后我的域名并没有出现wordpress的界面而是出现主机开通成功,请问该怎么解决

    • SEOIMO说道:

      可能你的域名解析没有成功。用IP访问,如果出现lnmp安装成功的页面,说明lnmp安装没问题。
      接下来建议从添加域名和域名解析两个方面进行排查。

      • FireCuckoo说道:

        在域名控制台,登陆你买域名的网站,添加解析记录。

  10. 说道:

    你好我没有进行设置mysql数据库名的步骤,在登录mysql是登不上去

  11. anymore说道:

    博主,咨询你个问题,我的网站经过一番优化和折腾,还是很难达到你的响应速度,我用浏览器的控制台看了下,在网络这里,对比了下加载时间,发现了些问题:
    我看你的网站只有一个autooptimize的CSS加载,并且只占用3ms。而我的网站不管是在主页还是文章,都会显示两个autooptimize的CSS,每个占用在100多ms,有时还会有个wordfence的占用400ms,这个改怎么解决呢。

    并且我看你的文章里面的图片和游客头像,都是看到后才马上加载的,是怎么做到呢?

    • SEOIMO说道:

      这里主要靠三个插件来实现的:
      ①wp-super-cache:进行全站的静态缓存,绕过php和mysql直接读取;
      ②autoptimize:合并并压缩js、css和html,并把首屏css内嵌到html里,加快渲染;
      ③a3-lazy-load:图片延迟加载,不访问不显示,节省流量和缩短网页打开时间;
      另外,设置静态资源的过期时间以开启浏览器缓存,这样第二次访问时直接本地浏览器读取。你指的3ms那个文件应该就是浏览器缓存后,否则美西的机房不可能这么快。
      至于其他的,比如服务器本身的响应,便宜的VPS差别都不大,优化的方法有限。
      尽可能减少插件,不是必须的,都舍弃。以本站为例,20个插件足够了。
      接下来的另一篇文章(也是本站的第二篇文章。。)会以本页为例,一步一步具体谈谈这几点。

      • anymore说道:

        嗯,谢谢你,了解了,不过我还是没找到我的加载时,在网络统计里会生成两个autoptimize的css文件原因,博主你能提供个排查思路吗?
        autoptimize我是按网上教程来设置的,只勾选了HTML和CSS

        • SEOIMO说道:

          看下css地址 link … media=”xxx” …autoptimize/css/autoptimize… 里面的 media=”xxx” 是否不同。比如 media=”all” 和 media=”print” 以及 media=”screen”等,这些都是不同的css文件,autoptimize没法自动合并。

  12. xx说道:

    mysql密码忘记了有什么办法

  13. 普通人说道:

    请问兄弟,域名在哪里买的,哪里买最便宜啊?

  14. xiao说道:

    冒昧问一下,能知道贵站用的是什么主题吗?

  15. yi说道:

    感谢seoimo。作为新手小白,在网上找了很多的方法介绍,结果在搭建WP平台的时候各种的出问题。
    最后还是你的方法最简单。
    冒昧的问一句。能不能转发你这篇文章呢?

    • SEOIMO说道:

      正因曾经我也像你一样,建站时走了不少弯路,浪费不少精力和时间,甚至搞的烦心透顶疲惫不堪,所以,才写了这篇文章。
      可以自由转载无需征询,只需转载时在文章内标注出处地址即可。具体可遵循CC BY-NC-ND 4.0:https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh

      • yi说道:

        再次感谢@_@

        • yi说道:

          已转,不过是转的连接。另外写了一些东西在上面,不知道是否合适,看后如果不合适的话,我去调整或者删除。
          内容见我的博客地址:www.yipenggang.top

          • SEOIMO说道:

            可以。不过不用这么僵硬,你就正常写自己的文章,里面顺带提一下,做个链接就可以了。
            感觉你文章写的阅读体验不是很友好,建议闲暇时花点功夫研究研究怎么写写博文。当然了,若是只是随便写写,不在乎用户体验什么的,无所谓了。
            此外,若不是特别喜好,博客域名后缀尽量用 .com ,其次是 .net 和 .org ,其他非主流后缀不要用。

  16. shane说道:

    请问博主为什么没有域名解析呢?是其中有些过程代替了还是?小白求解,谢谢了!

  17. thoams webber说道:

    我最开始是用1.4 版本lnmp的,所以出现很多奇怪的错误,后来完全按照博主的文章做就很顺利了,谢谢

    • SEOIMO说道:

      lnmp1.4是今年六月份刚出的,可能不如lnmp1.3稳定。再过一段时间再用或许会更好一些。

  18. shane说道:

    博主你好。按照你的方法帮助了我成功建成了网站😄。我目前输入域名可以访问我的网站,但是输入IP地址访问的是lnmp界面,为什么?应该变成什么界面?输入IP地址可以访问我的网站吗?(ping正常)

    • SEOIMO说道:

      因为lnmp默认禁止IP访问网站,且默认的IP访问路径就是那个安装成功的提示界面,建议把它删了。若是想开启IP访问网站(不推荐),可以参考:ip-landing-page

  19. thoams webber说道:

    我进行到 安装wordpress那步骤时候,完成赋予wwwroot 权限后,打开网址,显示403 forbidden nginx,请问这是什么原因呢,谢谢!

    • SEOIMO说道:

      大概是路径出错或者用户权限的问题。你确定安装的是lAmp而非lNmp?Apache和Nginx的设置可能不一样。

      • wangtaiyang说道:

        大神,我也是装完wordpress,打开网址准备填数据库名的时候,显示403Forbidden了,这是第二次撞了,好像每次遇到的问题都不一样。快疯掉了。

        • SEOIMO说道:

          看样子应该是你后续的操作导致绑定的域名出错了。
          因为之前还可以进到wp安装界面,现在却出现了403错误。

  20. 你好欧说道:

    博主,按照你方法一步走下来,网站什么的都没有问题了,可是ssh连接不上服务器了,一直显示Connection closed by foreign host,只能通过vultr自带的view console进行编辑,怎么解决呢?

    • SEOIMO说道:

      建议你 # cat /etc/hosts.deny 看里面有没有屏蔽你的IP地址。
      有的话就删掉,然后登入到后台的 view console 里 # reboot 一下试试。

  21. ysflyy说道:

    楼主,请问下,我使用LNMP搭建Vultr+Godaddy的博客站,域名解析用的是Godaddy转Dnspod,解析后能ping通,但是不能用域名访问,提示403 Forbidden错误。另外,无论解析前后都可以用IP地址访问博客,请问这是因为什么?

    • SEOIMO说道:

      能用IP访问的是哪个页面?是域名对应的网站还是lnmp安装成功的提示页面?
      另外,再检查下你的网站安装在绑定的域名目录下还是安装在default目录下。

      • ysflyy说道:

        IP访问的就是我的博客,lnmp那个界面已经弄好了,wordpress也做好了,已经写了几篇博文了,ip能直接访问到我的博客,但是域名没法访问。在/home/wwwroot/ysflyy.me(我的域名是ysflyy.me)目录下只有几个隐藏文件,在/home/wwwroot/default下有index.php文件,这是表示我的网站装错目录了么?

        • SEOIMO说道:

          如果你没有额外设置IP访问的默认目录,大概率是你把wp安装到default目录下了。
          再确认下 /home/wwwroot/default 目录下是否是wordpress的各文件,大部分都是以 wp- 开头的 .php 和文件夹。
          如果是的话,就把网站转移到 /home/wwwroot/ysflyy.me 目录下。

          • ysflyy说道:

            按照你的提示做好了已经可以使用域名访问了,是我安装的时候把wp安装到default目录了。多谢了

  22. 高压锅说道:

    大佬,yum update 错误,网上找了好多文章试了都没有用,怎么办?
    Could not retrieve mirrorlist https://mirror.webtatic.com/yum/el7/i386/mirrorlist error was
    14: PYCURL ERROR 22 – “The requested URL returned error: 404 Not Found”
    Error: Cannot retrieve repository metadata (repomd.xml) for repository: webtatic. Please verify its path and try again

    • 高压锅说道:

      搬瓦工系统Operating system: Centos 6 x86

      • SEOIMO说道:

        搬瓦工的CentOS系统装了好多次了,一直都没问题。
        从提示来看,应该是 webtatic 这个镜像地址出了问题,换个镜像试试。

  23. jack说道:

    请教博主按照你的方法搭建的博客如何做到禁止通过ip访问第七步的Nginx界面? 麻烦回复一下吧 谢谢

  24. refrain说道:

    遇到几个比较奇怪的问题,想咨询下您:

    我的网站没法收到访客评论邮件提醒,后台也开启了,我查了也没有被当成垃圾邮件拦截

    而且用WPtouch Mobile Plugin这个插件排后,手机端版会变乱,但是最开始的一段时间没问题的

    是LAMP环境

    插件是下面这些
    Akismet Anti-Spam设
    Autoptimize
    BJ Lazy Load BJ Lazy Load
    Disable Google Fonts Disable Google Fonts
    Dynamic To Top Dynamic To Top
    Table of Contents Plus Table of Contents Plus
    TinyMCE Advanced TinyMCE AdvancedSettings
    Wordfence Security Wordfence Security
    WP Statistics WP StatisticsSettings
    WP Super Cache WP Super Cache
    选择XML 站点地图 & 谷歌新闻订阅源

    • SEOIMO说道:

      ①如果收件箱和垃圾箱都没收到邮件,说明主机上发信功能出了问题。具体可以搜下Sendmail或者Postfix的相关设置方法;
      推荐使用SMTP发件,域名在阿里云的话,免费200封/天,足够用了。
      推荐插件:https://wordpress.org/plugins/wp-mail-smtp/
      ②尽量减少无用的插件,多了有可能冲突;主题自适应就好,不需要安装手机版的插件;
      强烈推荐安装Yoast-SEO,非常实用并自带XML功能:
      https://wordpress.org/plugins/wordpress-seo/
      如果不是特别钟爱,Wordfence Security这个插件就没必要安装了,个人感觉有点鸡肋,耗内存。推荐纯代码方案:
      http://www.wpdaxue.com/protected-wp-login.html

      • refrain说道:

        谢谢建议,我以为只要安装了环境和wordpress就自带邮件提醒了

        另外博主对七牛这类云储存加速网站速度这点怎么看?

        我的域名只用了七牛云储存,并没有感觉加载速度有什么提升,相反的,有时候页面已经打开了,云存储的图片却还在加载中,反而拖慢了一样,感觉违背了我最开始优化访问速度的初衷。

        那么七牛云储存这个功能优势到底是体现在哪呢?如果只是节约流量的话,倒是真的没多大必要用了

        • SEOIMO说道:

          CDN主要作用是加载css、js和img这类体积大的静态资源,同时降低域名下请求查询数量,从而提高网页打开速度。
          但前提是CDN服务商的各地节点够多、带宽够大、响应够快,否则不一定就能起到积极作用。
          七牛CDN整体来说还是可以的,本站测试的时候用过。但自定义域名需要备案,伤不起,赠送的N级域名看着就不爽而且限制访问频率。所以已经不用了。
          按照延迟加载的思路,如果只先加载首屏的内容,其余的css、js和img不需要全部一下子加载出来,那么网站的响应速度会好的多。
          也就是说,即便你网页有10MB大小,而访客先看到的内容可能只有10KB大小。把这10KB先呈现给访客,其余的再随着访客浏览进度慢慢的加载,这样的话客户体验一样很好,也就用不到CDN了。
          但这也有前提条件,就是你的主机一要稳定,二要起码要有大几十KB/s以上的下载速度,三是响应不能太慢。

          • refrain说道:

            CDN那个我也用不了,因为无法备案,现在只能用一个比较鸡肋的镜像储存,好像是把图片交给七牛云那边来加载的意思?

            我是VULTR,即使现在速度不如以前了,感觉这几十K还是完全没问题的
            ,稳定性也没什么问题

            那么响应这块主要靠那些体现呢

          • SEOIMO说道:

            影响响应速度主要是下面五个方面:
            ①机房位置:越远越慢;
            ②线路问题:越堵越慢;
            ③服务器性能:性能越差,等待时间越长;
            ④DNS解析:解析越慢,响应越慢;
            ⑤站内优化:(静态)缓存 + 压缩(图片、css、js、html ..);
            其中,想用便宜VPS的话,前三项基本无解;可以尽量优化后两项,即:
            尽量使用热门DNS服务商和做好站内优化。

          • refrain说道:

            呃,出了点问题,我把七牛云储存的数据都清空了,网站这边设置也改回来(主要是WP Super Cache里面的CDN选项和functions.php里面一段代码)

            现在发现网页的图片都找不到了,打开后所有图片不显示了,内容正常显示

          • SEOIMO说道:

            我记得CDN选项里直接填七牛给的或自定义的地址就行,不需要额外更改functions.php里的代码。
            出现这种问题,有可能你的添加的代码导致了图片的路径发生了变化。
            比如之前是博客上的,后来变成了七牛的,而你又把七牛存储的清空了。
            看下不能现实的图片地址具体是哪里的,然后再改回来。

    • 豆芽说道:

      安装这个插件才可以开启邮件功能 WP-Mail-SMTP 。

  25. 张Yz说道:

    您好,我已经成功了安装了WordPress并运行了一个月。现在我想把http换成https,但按Certbot这个网站的教程上弄过后,打开网址显示的是Apache2的默认页面,而且phpadmin也进不去了,不得不恢复了备份。我应该怎么做才能转换成https?
    万分感谢。

  26. domhan说道:

    您好!非常感谢您的教程,我按照您的操作都成功了。但是输入域名没有出现wordpress安装引导,而是一片空白。这是什么原因呢?

    • SEOIMO说道:

      如果域名解析没问题的话,请检查下域名是否添加有误。

      • turing说道:

        非常感谢,按照您的教程已经自己建了一个小站。
        但是在修改/usr/local/apache/conf/extra/httpd-mpm.conf 配置时,好像是因为拼写错误,保存后无法重启httpd服务。再次输入修改命令vi,就无法找到当时修改的prefork模式了。

        自行google也没找到方法,虽然好像不影响使用,但是还是想修改回来。谢谢了!

        • SEOIMO说道:

          如果没备份的话,就比较麻烦了。可以新建一个VPS重新安装下(如果是Vultr很方便),然后把此文件用 SCP 命令复制过来替换。

  27. null说道:

    站长!之前看到你的教程设置了缓存,现在看到了有缓存插件wp super cache,如何删除原来的?

    • SEOIMO说道:

      其实不用删除opcache和memcached,二者与wp-super-cache并不冲突。本站就三者兼用,感觉效果更好一些。
      如果实在想删除,可依次使用如下命令:

      # cd ~
      # cd lnmp1.3-full
      # ./addons.sh uninstall memcached
      # ./addons.sh uninstall opcache

  28. js说道:

    安装完wordpress后访问域名不能进入wd的安装界面是为什么啊

    • SEOIMO说道:

      这个问题原因比较多了,建议首先看下解析是否正确生效,其次确认你的安装步骤中是否有误。

  29. blickw说道:

    您好,我不知道您有没有遇到这样的问题,就是我发现别人注册时我的服务器发送不了邮件(搬瓦工),我试着用SMTP方法也不行。

  30. 张Yz说道:

    博主,Vultr好像现在支持支付宝了

  31. blickw说道:

    您好。。实在不好意思,我彻彻底底按照您的方法装完后又发现两个问题:

    1:我在装完后发现过一阵后发现我无论是用putty还是用filezilla都无法连接vps了,似乎是被封了ip,但我完全没有做过什么。。。但是我现在什么都连不上,只能用网页进不知道应该怎么解决?

    2:我原本给小伙伴“作者”的权限,他们能进wp-admin编辑自己的文章,然而现在发现进wp-admin后自动跳转到了主页,请问是哪里的权限要设置么?

    • SEOIMO说道:

      ①可能你多次登陆SSH出错限制了。
      先查看自己IP地址,然后查看 /etc/hosts.deny 是否禁止了。如有,删除;
      或者,在 /etc/hosts.allow 里把自己的IP加进去。
      ②这个问题沒遇到过,建议问问谷哥/度娘。

  32. blickw说道:

    我又来打扰了,我试着进phpmyadmin,但是发现总是404进不去,http://www.cnblogs.com/yiluxiuxing/p/4307308.html,我是完全照着这篇博客更改的设置。。。请问这mysql端口是应该保持默认还是填vps给的端口?

  33. blickw说道:

    十分感谢您的教程,我是小白一枚,最近将wordpress网站搬了家,并没有改动域名,只是搬到了另一台虚拟主机,使用的是WP Clone插件。

    然而搬完家重新解析后发现网站打不开了,奇怪的是使用……/wp-admin登录后能正常访问。

    请问是什么原因?以及如何解决?万分感谢.

    • SEOIMO说道:

      可能有些文件的路径变了。如果有缓存插件的话,把插件先停用了再搬家。
      另外,不需要用插件,全站打包,传到新主机上解压,数据库导入。
      如果你的虚拟主机支持 ssh 就更简单了。
      最好,扔了虚拟主机吧,性价比真不高。

      • blickw说道:

        不好意思,大半夜脑子糊涂了。。。

        我是从搬瓦工的vps挪到另一个vps,后面的那个是完全照着您的设置来的。奇怪的是一些朋友用chrome就能打开,但是大部分人打不开,所有人都能访问wp-admin。我现在完全是一头雾水,不知道这会不会和hostdeny有点关系?

        • SEOIMO说道:

          能访问wp-admin,但网站内容页打不开,大概率是搬家的时候wp某些文件/设置出了问题。
          经验有限,没法具体排查原因。你可以尝试着重新在新的VPS上安装wordpress试试。
          至于hostdeny,可以打开 /etc/hosts.deny 看看是否屏蔽了一些不应该的IP。

  34. Ken说道:

    博主你好,我今天发现装了LAMP后,没办法用***.***.***.***:8888访问服务器上的resilio sync了。我看了Iptables里面端口都已经打开了,但还是无法访问到那个网页,一直是refused to connect.

    • SEOIMO说道:

      Resilio-Sync没用过,所以暂时没法提供好的建议。
      如果仅仅只是一个或几个博客的话,不明白为什么要用数据同步。
      完全可以定期 tar 打包整站(一般几百MB),下载后存在电脑或者网盘,又或者 scp 传到备份VPS中。
      数据库可以使用wordpress插件自动备份到邮箱(一般几百KB – 几MB)。
      这样既能节约服务器资源,又不会轻易出错。

  35. Ken说道:

    博主谢谢你每次的回复。文章里简略提到了要把phpmyadmin重命名来提高安全性。

    然而我发现,即使把wwwroot/default目录下的index.html删掉,仍然可以通过***.***.***.***/ocp.php这种方式来查看default目录下的文件。有什么办法完全禁止别人这样查看吗?

  36. Ken说道:

    博主你好,我按照你的教程弄好了wp。

    但现在我想查看我网站的访问日志,安装LAMP的时候我选了关闭日志,怎么再把访问日志打开呀?

    谢谢博主。

    • SEOIMO说道:

      简单的访问记录可以查看 /home/wwwlogs/ 目录下的 access_log 和 error_log 。
      如果非要要开启,可以试试下面的方法,但注意要定期清理:
      http://www.laozuo.org/2190.html

      • Ken说道:

        谢谢博主回复。另外,重命名phpmyadmin是不是就只要在command line里把那个文件夹重命名了就好?我要是已经按照好了wordpress还可以重命名phpmyadmin吗?

        • SEOIMO说道:

          phpmyadmin 这个文件夹名字起个不容易猜到的名字即可。
          可以随时重命名,不影响。

  37. minuo说道:

    感谢博主,博客使用wordpress,之前用的虚拟主机(衡天),老是提示资源占用太大,给换了个vps,开网页挺快,就是老丢包(ping),是不是服务器的问题呢?

    • SEOIMO说道:

      不一定是服务器问题,更可能是线路问题。有的VPS对联通访问不友好,有的是对移动,有的是对电信,质量好的VPS一般各线路兼顾的比较好。
      如果你用的是搬瓦工或者Vultr,可以试着换换机房或者刷刷IP地址。

  38. 郑小西说道:

    能转到我自己的博客么?

  39. 陈仓颉说道:

    通过阅读博主的文章完成了vps+wordpress的搭建,非常感谢!目前遇到了些小问题在自行解决外,其他小细节都在文章里提到了,赞!
    另外说一下,文章中有些部分用了lnmp,有些部分是lamp,根据内容,文章中使用的是lnmp,希望博主能够稍微修改一下,谢谢!

    • SEOIMO说道:

      本文用的是“LNMP一键安装包”中的LAMP配置。

      • 陈仓颉说道:

        明白了,谢谢!

        • SEOIMO说道:

          不客气。举手之劳。
          另外我看了下你的博客,文章地址还是默认的动态的 ?p=XXX 结尾。
          如果不是有特殊喜好,强烈建议把固定链接(Permalink)更改成 post-name 格式。
          这不仅有利于静态化,降低服务器压力,更有利于SEO,提高用户体验。

      • 陈仓颉说道:

        谢谢你,我也同样想更改这个固定链接。但是我修改之后会出现404,谷歌了一阵没有发现解决方案,修改nginx.conf并重启的方法并不适用。想请教一下,是否有解决方法呢?

        • SEOIMO说道:

          固定链接修改之后访问旧的文章地址就可能出现404错误。
          这种情况下,可以在 .htaccess 里(LAMP环境)添加对应的301跳转:old address → new address
          当然你也可以放着不管。
          看了下你的博客,文章页不管带不带 ?p=xxx 都会显示404错误。建议确认:
          ①更改固定链接后,文章地址是否也做了修改?地址含有中文可能会导致404错误;
          ②是否使用了静态缓存插件,比如wp-super-cache?如有,停用后再试试;
          倘若暂时找不到解决方法,可以把固定链接改回去,等以后搞明白了再改过来。

      • 陈仓颉说道:

        我安装的是nginx,据我了解nginx是不太支持.htaccess?我把固定链接修改为自定义文章名,重启了nginx,发布一篇设置了文章名的新文章,在前台仍然404,所以我推测不是这个问题。若最终无法解决,我只能推掉重新安装成LAMP环境了。非常感谢你的耐心指教!

    • 陈仓颉说道:

      我最终解决了固定链接404的问题,确实是nginx重定向的原因。再次感谢!
      对了,这个博客好像只有一篇文章?但是评论区却很活跃。好奇是不是还有别的博客

      • SEOIMO说道:

        文章的质量远大于数量。虽然目前博客仅有一篇文章,但每天也有近百个访客。你写的文章若能让别人感兴趣,自然会有人交流评论。

  40. 流沙说道:

    国内访问搬瓦工是不是要爬墙才行?

  41. haynkomo说道:

    博主你好,今天看你的视频试着添加子域名的时候:比如baidu.com。添加子域名:abc.baidu.com。但是进子域名又弹出安装WordPress,
    不能够一个Wordpress操作多个网站吗??

  42. 小白说道:

    楼主,按你教程装,重启lnmp后,用域名访问网址显示502,这个有遇到么

  43. eric说道:

    网站打开就显示’Apache is functioning normally””
    请问是什么原因楼主?

    • SEOIMO说道:

      这种情况没遇到过。可能是安装过程中出了问题或者缓存的原因。
      试着清空下浏览器缓存,再重启下VPS看看。
      实在不行,重新安装一下。

  44. Hyanko说道:

    博主你好,非常感谢你的文章,让我一个小白从一无所知到顺利完成建站。

    我用的是512M的VPS,QQ企业邮,Wordpress(收费主题),优化后日常420M左右的占用,请问这是正常现象吗?

    • SEOIMO说道:

      如果是物理内存占用的话无所谓,因为Linux和Windows内存占用机制不一样。
      如果是真实内存的话,420MB占用稍微有点高。检查下Wordpress主题和插件或者Top命令查下程序,哪里占用高了。
      也可以不管它,只要真实内存不一直跑满512MB就没事。

      • Hyanko说道:

        嗯,歇息博主。关于“建立快照”这里有点不是很懂,,是指快照可以恢复Linux系统所有的配置、内容吗?
        是不是说Wordpress站点也可以一并恢复?

        • SEOIMO说道:

          是的。快照就是把当前的VPS状态做个备份,相当于建立一个还原点。
          这个还原点之前VPS上所有设置都会保留下来。

  45. 柳阳说道:

    博主你好,感谢你的教程,通过它已经安装完成了,但是在之前设置“数据库ROOT密码”的时候没注意直接用了默认密码,我想修改它应该怎么操作?

  46. 曾志强说道:

    你好,博主,请问一下,我按您的步骤来的,当到了输入这段代码
    # 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
    的时候出现错误-bash:wget: command not found ,这是为什么呢?我该怎么解决?

    • SEOIMO说道:

      没有安装wget软件。精简版的linux才可能会出现这种情况。
      用下面的命令安装:

      # yum -y install wget

  47. xihui fan说道:

    你好。问下。在chmod -R 755 /home/wwwroot的时候出现changing permissions of ‘/home/wwwroot/default/.user.ini’: Operation not permitted出现权限不够的问题。
    我用的是Vultr。尝试了很多方式都不行。

    • SEOIMO说道:

      如果确定之前操作没有任何错误的话,试试这样:

      # chattr -i /home/wwwroot/default/.user.ini
      # lnmp restart
      # chmod -R 755 /home/wwwroot

      倘若仍出现,看看网站运行是否受影响。若是不影响,无视它。

  48. lzw说道:

    最后一步reboot后就连不上了,
    提示:Connection closed by foreign host

  49. WTFKIRO说道:

    按照步骤执行下去,#8执行完毕以后打开网站403 forbidden 了,前面的步骤应该都没有问题,请问这是什么情况?CentOS6,vultr的VPS

    • SEOIMO说道:

      没遇到过此类情况,所以暂时没有好的解决方法。
      建议你还是要多排查排查,必要时可重装系统后再一步一步来。

    • 小牛么么说道:

      你的WordPress的网站文件不在你添加的域名的文件夹下,移过来就好,你可以通过wcp连接看一下,我也是这个情况,403,就是怎么解决的。

      • SEOIMO说道:

        谢谢提醒。我的网站目前访问没问题。不知道你说的“WordPress的网站文件不在你添加的域名的文件夹下”是什么意思?
        网站文件当然要在设置的域名文件夹下,不然网站也没法建。
        如果你指独立IP访问打不开的话,那是为了安全故意设置的。

  50. 威武中国说道:

    你好,博主,我买的搬瓦工512M内存套餐,按照你提供的教程也把wordpress安装成功了,wordpress一个插件都木有安装,用PHP探针测了一下,发现CPU一直85%到90%之间,只剩下70M左右的内存,请问这个正常吗?和OPcache和Memcached这两个扩展有关系吗?

    • SEOIMO说道:

      如果只是三两个流量不大的WP站点,搬瓦工512MB这款足够足够用了,CPU和内存长期占用过高肯定是不正常的。
      我现在用的512MB这款,搭载了两个小站,总共安装了三十多个插件,系统平均负载0.00-0.05之间,物理内存平均占用300MB左右,真实内存平均200MB左右。
      建议逐步排查:
      ①重启一下VPS,看看资源占用是否还这么高;
      ②SSH登陆,top命令找出资源占用高的进程;
      关于扩展,在我这目前没发现有问题。

  51. Log说道:

    博主,你好!
    首先多谢你的教程。
    现在用ip访问,会直接跳转到 “恭喜您,LNMP一键安装包安装成功!” 页面。
    请问这样安全吗?有什么可以防止的?
    ps:已经将 phpmyadmin目录重命名

    • SEOIMO说道:

      保持默认可以。但建议把这个页面删掉或者改名,从而实现禁用IP访问。
      原因有二:
      ①留着没毛用,还容易暴露VPS配置信息;
      ②减少通过IP发起的恶意扫描和DDoS攻击;
      建议同时把探针重命名或者更改下目录,让别人更无法窥探VPS信息。

      • 说道:

        小白一个,想问怎么删掉,和怎么禁用IP访问。谢谢。

        • SEOIMO说道:

          LNMP默认就是禁用IP访问的。输入IP只能看到一个提示安装成功界面而已。
          如果连这个页面也不想看到,就登陆VPS删掉。

        • 说道:

          这个页面在那删掉啊。谢谢指教啊

          • SEOIMO说道:

            登陆VPS,在 /home/wwwroot/default 文件夹下有个 index.html 默认主页。

            删除的直接命令:

            # rm -rf /home/wwwroot/default/index.html

            改名的直接命令:

            # cd /home/wwwroot/default
            # mv index.html random-name.html

      • 说道:

        谢谢。已经弄好了

  52. Log说道:

    博主,你好!
    使用了您的教程,一路非常成功,网站可以运行了,多谢
    有个小问题:在 #7添加域名 / 虚拟主机 时,我只添加了xxxx.com,没有添加www.xxxx.com,我已经完成搭建,现在怎么添加www.xxxx.com。
    PS,现在用www.xxxx.com访问网站就出现 “LNMP一键安装包安装成功” 的提示。

  53. XIAOLAODI说道:

    大佬,我爱你!我的搭建的差不多了。

  54. 猪柳蛋说道:

    谢谢你,每一个步骤都很清晰,帮了我的大忙!你是好人!

    • SEOIMO说道:

      都是过来人,懂得两眼一抹黑的痛苦。把经验分享出来,节约新手精力和时间,这也是我写这个博客的根本原因。

  55. 说道:

    站长您好。我的vps是搬瓦工512M内存的套餐。按照您的步骤做下来,我安装之后没多久cpu就被锁了。过了好久都没解锁。今天又重装的系统,而且改成了ssh key登录,再次建站后没多久又被锁了。。。这是什么情况。。
    还有听说搬瓦工vps被锁两次就禁用一年了,这是真的吗。。。

    • SEOIMO说道:

      这种情况没遇到过。除非滥用资源,否则一般不会无故限制的。搬瓦工的信誉还是挺好的。
      如果是新开的KVM-512MB的,因为是BETA测试版,可能存在不稳定的情况。
      建议你问下客服具体是什么原因导致的,或者试试年付19.99刀的套餐。

      • 说道:

        好的谢谢(我的就是20刀的套餐。。)

        • SEOIMO说道:

          博主对促销的套餐一般都不感兴趣。配置看似提高一倍,但价格还是那么多,肯定是要在其他方面缩水了。

        • 说道:

          刚才用LoadImpact测试了一下,发现跟您的那款差距不是一点半点,打算换套餐了。。

  56. jochen说道:

    所有流程都做完之后,域名访问也能访问到wordpress所设置的个人主页,但是用ip登陆的时候还是“恭喜您,LNMP一键安装包安装成功!”该怎么解决。我怎么才能使 无论ip还是域名访问 都是同一个网站页面

    • SEOIMO说道:

      使用LNMP一键安装包IP访问与域名访问不一致的原因在于:
      IP访问的默认目录是 /home/wwwroot/default,而不是绑定的域名目录 /home/wwwroot/xxx.com
      解决方法有二:
      ①安装时把网站直接安装在 /home/wwwroot/default 目录之下;
      ②修改IP访问的默认目录 default 为域名绑定的目录 xxx.com:(推荐)
      # vi /usr/local/apache/conf/extra/httpd-vhosts.conf
      DocumentRoot “/home/wwwroot/default”Directory “/home/wwwroot/default” 两处中的 “/home/wwwroot/default” 修改为需要IP访问的域名,如 “/home/wwwroot/seoimo.com”。然后,重启lnmp:
      # lnmp restart
      方法②简单不易出错,后期更改也更方面。
      此外,一般博客不推荐开启独立IP访问。不开启没什么影响,开启了反而可能带来不好的结果,比如被恶意扫描和攻击等。

      • Ken说道:

        博主你好,我按照上面的操作进行了之后,直接输入ip访问变成了403 forbidden 无法访问到个人主页。

        • Ken说道:

          哦我把directory少输了一个.com
          看博主说开启独立Ip访问不安全,那我再关掉好啦。

  57. vacuum说道:

    博主你好。我纯小白。一步一步顺利走到这里:“

    回车。然后重启一下LNMP:

    # lnmp restart

    回车。

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


    然后完全卡住了,没有一点头绪的僵住了。怎么“打开博客网址”进入那个页面啊?
    我打开Safari浏览器,在地址栏输入之前设置的“seoimo.com”或者“www.seoimo.com”(当然我用自己选的名字替换了相应的“seoimo”)但是进去后这个域名是空的啊?
    此处“好了,打开博客网址进行最后的安装吧!”我完全不知道该怎么做。。。

  58. Bzk说道:

    博主你好,我是纯小白,按你的教程一步步部署下去,最后开启scandir函数那里,我输入
    # vi /usr/local/php/etc/php.ini
    putty里跳出一大段类似介绍的文字,不知道该按什么键来输入?scandir ?
    之前也有一两个地方有类似情况,会跳出一大段类似介绍的文字,然后我就不知道怎么输入了。。。
    然后开启scandir的后面就是打开网址,但是我输入网址,显示不能由主机名确定IP地址,DNS服务器返回了 No DNS records 的提示。是我部署出了问题,还是因为万网那边还没完成实名认证的原因?我看万网上提示说未完成实名认证会导致解析出错。
    如果是我部署出错,我该怎样检查修改呢?或者说怎样重头开始?
    小白第一次尝试,一头雾水,在此先谢过博主,教程很好,真的十分感谢。

    • SEOIMO说道:

      输入命令后一般会显示 “About PHP.ini” 类似的介绍。不用管它,直接英文状态下按 Shift 和 ? 后,左下角会出现 “?” 的字符,接着输入 “scandir” 就可以了。
      至于DNS有没有解析成功,可以在Whois查询中查看。万网的话,通常会有 “dnsX.hichina.com” 这样的记录。
      设置好DNS解析后,建议再检查下域名A记录,是否成功指向主机IP地址。
      如果域名打算放在万网,还是先实名认证吧!

  59. xiao说道:

    请教博主,我按你的方法把博客迁移到了vultr的vps上,优化方法也都一样。为什么在wp默认主题不开任何插件的情况下,服务器响应时间都做不到0.2s以下(用Google PageSpeed Insights测的),换了主题开了必要插件后,首页服务器响应时间总是需要1.4s。
    另外,我看网上一些对memcached的介绍,装了php扩展以后,还需要安装对应的wordpress插件(在wp-content目录下生成object-cache.php文件)才能生效,但是你没有提到,不知道是否需要安装插件。

    • SEOIMO说道:

      据我观察,无论是Vultr还是搬瓦工VPS,美西机房响应时间最短。通常都不会超过0.2秒。
      至于插件,肯定是要的。WordPress只是个半成品的平台,需要自己二次开发,安装插件是最简单也是最必需的操作之一。
      本文主要介绍如何使用VPS搭建WordPress,更具体的网页加速及SEO优化设置接下来会另起一篇单独介绍。

  60. 东门吹雨说道:

    求问大佬有没有给网站加过ssl,今天自己尝试加ssl一直不成功啊

  61. vigroid说道:

    多谢分享!

  62. 路人甲说道:

    请教下博主同样的套路建立英文站选什么样的cdn加速比较好一些?

    • SEOIMO说道:

      如果主要访客和VPS所在地位置不远的话,比如美国的VPS美国的访客,经过优化之后打开会非常快,基本无需CDN来加速。
      倘若一定要用CDN加速,个人推荐七牛和KeyCDN。
      ①七牛有海外节点:七牛全球下载加速的海外一览表,流量¥0.39/GB计费;
      KeyCDN在国外CDN里面算非常便宜的了(如果不是最便宜的话),流量$0.04/GB计费,不过有最低消费要求(目前$49/年)。

      • 路人甲说道:

        多谢博主,主要是想隐藏真实IP,防止被黑,我去七牛看看。

    • 幻影说道:

      cloudflare,国外知名免费cdn

  63. jack说道:

    博主,mac本 咋办? 这些命令安装不适用了啊。

    • SEOIMO说道:

      MAC没玩过,因此无法回答。可以尝试Google一下。
      比如:Mac下安装LNMP环境

    • xiao说道:

      我用mac的终端可以用命令啊,现在正在装LAMP,一会儿看看是否成功。我google查mac下的PuTTY,结果人家都说用终端就行,我就用了,目前没发现问题,正在安装。

    • yuer说道:

      我用的就是Mac,已成功搭建,按照这篇文章的顺序执行下去就行。SSH可以直接用终端敲命令

  64. 大石榴说道:

    你好,我最近刚建站,在搞一些速度的优化,中间对比我的网站和你的网站的测速结果,发现下载时间这一项我的总是慢很多,这是为什么呢?
    我的是东京的服务器,现在用的wp suprer cache +百度云加速+七牛,是不是优化过度了呢?

    • SEOIMO说道:

      慢的原因主要有两个方面:
      ①主机:若你的VPS属于主流配置,且按照本文的方法优化之后,速度应该有所提升;
      ②网站:WordPress搭建的话,需要使用必要的插件来进一步提高访问速度,比如WP-Super-CacheAutoptimizeBJ-Lazy-Load等。
      WordPress网站内的优化接下来会有单独介绍。

  65. nlat说道:

    站长你好,我想就现在vultr已经有优惠的情况下,建一个个人使用的wordpress,选择vultr还是搬瓦工呢?小白不太懂,真心求助啦。多谢多谢

    • SEOIMO说道:

      Vultr目前没啥优惠码了,月付2.5美元(年付30美元)。搬瓦工年付19.99美元,不满意30日内可全额退款。
      如果仅仅建一个个人博客的话,在可预见的未来,搬瓦工256MB这款就足够你用了。

  66. 码农说道:

    博主,wordpress已经配置好了,我怎么能继续用这个虚拟主机连接FTP上传自己的写的页面啊

  67. 乡下码农说道:

    博主,第七步(回车,输入root用户的数据库密码(不会显示),这个密码是什么啊

  68. ZP说道:

    我看博主你用了OPcache和Memcached,不过你实在添加虚拟主机之前安装的扩展,那么这里面的扩展,是不是必须都在添加虚拟主机之前安装,还是可以随时安装随时对所有虚拟主机生效呢?

  69. ZZ说道:

    博主你的目录使用插件生成的,还是通过修改php文件生成了,虽然我用插件生成了,但是还是想知道不用插件可以怎么生成。

  70. ki说道:

    试了2次 每次 域名和IP都是出现 恭喜您,LNMP一键安装包安装成功!
    不能进入Wordpress页面呀
    替换文件方法我也试了 就是进不去呀

  71. AL说道:

    博主你的代码在文本块里显示,是用的那个插件,我用再带的编辑器增强插件,好像实现不了你的效果

    • SEOIMO说道:

      这个不是插件,只是简单的css样式控制,在主题style.css里自行定义就好了。
      例如,本博客现用的code样式:

      code {
      font-family: 'courier new';
      border: 1px dashed #e5e5e5;
      background: #f5f5f5;
      padding: 1.7em;
      font-size: .8em;
      display: block;
      }

      其实,Wordpress博客插件多了不好,不是必须的插件能省就省了。
      如何一定要用,可以试试代码高亮插件,比如:Crayon Syntax Highlighter

      • ZX7说道:

        非常感谢,我找到这行代码了,那么怎么实现多种颜色代码文本块呢,我看博主你里面有好几种颜色文本块,怎么实现单独文本块的颜色呢

  72. LA说道:

    博主你好,我在#7添加域名 / 虚拟主机这一步,站长邮箱输错了

    回头改的时候发现在/usr/local/apache/conf/vhost/下面配置文件里并没有我输错的邮箱,那么这个是在哪里改呢

    还有就是email@域名这个站长邮箱,他的作用是什么呢,是作为一个可用邮箱地址,还是网站的相关信息会被发送到这个邮箱里?

    • SEOIMO说道:

      只有后续程序报错时才有可能会发送信息到该邮箱。
      我觉得此处对使用没什么影响。因为我用了这么久一直也没收到过关于程序出错的邮件。
      如果实在担心,就重装系统再安装一次吧。

  73. 每日心选说道:

    非常感谢,通过教程我成功安装了

  74. 说道:

    关于LNMP和LAMP,我百度了解了下,LNMP似乎资源占用更好,而且性能也好

    博主为什么要选择A呢

    PS:我刚开始折腾这个,小白一只~

    • SEOIMO说道:

      与LAMP相比,LNMP的确占用资源更少些。
      博主之所以坚持使用LAMP是因为:Wordpress程序对Apache更友好,且Wp-Super-Cache插件(博主大爱)在Apache环境下配置起来更方便。
      现在VPS越来越白菜价了,资源也相对的充足,并且博客也没那么大流量,所以也就没必要在这方面抠了。
      当然了,如果想在Nginx条件下愉快地使用WP-Super-Cache,可以参考这里:
      https://codex.wordpress.org/Nginx#WP_Super_Cache_Rules

  75. Z说道:

    博主你好,我也是Vultr的VPS,按教程然后出现了些问题
    就是再添加域名那一步后面,会提示让输入mysql密码,我发现怎么都不行,哪怕直接默认的,重新弄了三次还是这样

    我的系统是debian8 64,是系统问题吗,但是我有些原因不能换成其他的系统…

  76. Bob Lee说道:

    博主- -为什么同样是vultr买的日本主机。。。你的网站速度这么快。。。我的却时不时连不上。。。

    我自己的服务器一连不上就打开你的主页试试看是不是vultr机房的问题。。。结果每次你的网站都是秒开。。。

    我好蓝瘦啊。。。

    • SEOIMO说道:

      这个原因比较多,但总体来说,服务器出问题的概率不大。因为Vultr主机确实够稳定。
      博客目前用的日本机房,监控显示最近几个月没有宕过机,只是偶尔出现一两次500错误(时间几秒钟)。
      建议从网站优化方面找原因:
      1、Wordpress的话开启静态缓存,推荐插件WP-Super-Cache
      2、压缩合并css和js,推荐插件Autoptimize
      3、使用七牛CDN,wp-super-cache内设置(可选);
      SEOIMO上目前使用18个插件,服务器生成时间页面耗时0.08-0.15秒之间。
      页面打开慢更多的原因是网速。
      服务器生成页面耗时通常都不会超过0.5秒,而带宽是个瓶颈。
      建议测试下服务器的I/O读写速率和日本机房的下载速度。
      最后,如果实在觉得日本机房不满意,推荐美西硅谷和洛杉矶的机房。
      优点就是:带宽足!
      因为距离多出的那一二百毫秒,一般根本就感觉不到。

  77. 河石子说道:

    这个一键安装脚本不如Linux运维笔记的oneinstack好,两个我都用过。另外,你学会了vim时一件极好的事情。

    • seoimo说道:

      研究了几个面板,最后发现还是无面板的lnmp一键安装包好用。
      OneinStack也经常听说,打算稍后开个VPS再折腾一番。

发表评论

电子邮件地址不会被公开。 必填项已用*标注