WordPress建站:便宜VPS+LNMP环境一键安装教程【Hostwinds/搬瓦工VPS亲测】

本文是我对WordPress建站8年经验的一个较为系统的回顾,主要记录、整理了从虚拟主机的选择、域名购买、解析、WordPress的安装、优化到VPS的设置、优化。文章内容较多,看完需要花些时间,对于新接触WordPress和VPS的小白来说,最好能全部看完,一定会大有收获;对于以前用到过VPS或WordPress建站的读者,可以选择性阅读节省时间。

想起几年前,我刚开始学习如何利用虚拟主机建立个人网站,那时我还是只知道如何使用简单软件的大学生,特别羡慕能玩转VPS并搭建WordPress或其他网站的“高手”,在呆板的电脑屏幕的命令行窗口敲几行代码就能建起一个网站确实有点酷酷的黑客风。

后来发现,有些事情当自己真正实际操作后并没有看起来那么难,很多事情都是我们自己多想了。

和我最开始的想法不同,当我在VPS成功建立第一个WordPress站点后,发现如果只是进行网站的搭建和基本的维护,上手VPS其实无需懂得如何写代码和编程,只要知道Linux常见的命令就OK啦,因为现在网络资源这么丰富,技术方面有问题直接百度或者Google,基本上都能找到自己想要的。

当然,如果你懂得一些编程、操作系统方面的知识,那样会更加方便。

这篇文章主要对博主是如何从虚拟主机转向VPS,并在Linux系统利用LNMP环境搭建WordPress网站进行了较详细的记录。下面是本文的目录,不想听本人唠叨可以根据自己需要选择查看。

WordPress是使用PHP语言和MySQL数据库开发的个人博客系统,不仅稳定可靠、易于使用、对SEO友好,而且是免费开源的,支持一大波优秀的插件和模板,比如SEO优化、静态缓存和数据备份等。利用WordPress可以建设各种类型的网站,不仅仅是个人博客,比如新闻站、企业网站、图片站等等。

具体可参看百度文库WordPress相关介绍

WordPress建站的一般步骤

下面简要介绍下WordPress建站的基本流程,使大家有个整体认识:

  • 注册域名(首选.com)
  • 选择一款服务器(比如VPS主机)
  • 在VPS上一键搭建LNMP(或LAMP)环境
  • 一键安装WordPress建站程序
  • VPS和WordPress的优化加速、数据备份、安全防护等操作。

选择VPS还是虚拟主机?

从根本上说,选择要从需求出发,比较优缺点和性价比。

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

翻译成人话就是,一台真实的主机好比一个整套的出租屋,一个出租屋里分了多个床位(单元),租客们共用出租屋的电器、卫生间、水等生活资源(主机硬件配置),共同出入一个大门(共享IP)。

  • 优点:便宜、便捷
  • 缺点:由于同一台主机的共享用户多,导致性能差

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

通俗的讲,比如买了小区里的一套房,房子的空间及生活设施都自己独享,想怎么使用就怎么用。

  • 优点:独享资源,性能好,有更大的自主权
  • 缺点:需要懂点技术,小白有一定的学习成本

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

如果你对服务器配置和维护并不太懂,且个人博客的访问量不大(比如日均1000PV以下),对于服务器的稳定性要求不高,也可以考虑使用虚拟主机(最好带独立IP),价格通常一年二到三百RMB;

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

事实上一些性能不错的国外VPS也很便宜,一般月付5美元甚至更少就能买到。算下来其实比虚拟主机贵不了多少。

比如,博主选用的是Hostwinds最便宜的一款VPS,美国西海岸西雅图机房,速度大家可以感受下。至于VPS具体如何购买及WordPress安装过程详见下文。

域名注册

兼顾性价比(免费Whois隐私保护)和方便支付(支持支付宝),比较众多的国内外域名商,推荐使用以下两个域名注册商:

  • NameSilo(性价比高)
  • 阿里云(万网)(要备案的网站首选)

对于网站没有备案需求的朋友,选择NameSilo的性价比最高,价格也一直比较稳定,续费价格也较低。

如何选购高性价比的VPS

虽然看过包括知乎和VPS测评文章的一些推荐和测评介绍,但挑选到一款价格便宜且综合性能过关的VPS服务器确实不容易。

因为目前网上的很多VPS测评文章脱离了实际的使用体验,很多仅仅是进行测速,哪款VPS有多快,但真正利用VPS建立网站服务于国内的访客却又是另外一回事了,人云亦云、为了推荐而推荐,这就和使用者实际的使用目标相违背,导致对网站对于国内访客的体验和整体稳定性缺乏深入测试,而这正好是网站有良好用户体验的关键因素。

有些朋友问我,256MB或更小的内存的VPS能不能搭建WordPress网站?可以,但不推荐,因为目前要保证WordPress网站的稳定性,最好是分配到WordPress网站的内存就要256MB,选VPS做网站的目的是要保证网站长期稳定的运行,内存太小的话会对网站的速度和稳定性造成影响。

本文在比较价格、国内访问速度和在线率这三个方面的前提下,选出综合性价比最高且适合国内用户搭建WordPress网站的VPS:

搬瓦工VPS、Vultr和DigitalOcean怎么样?

说实话,这三款VPS在国内也算比较火的,我曾经也使用过这三家的服务器建站和搭梯子,性价比还不错,但时光荏苒,美好总是短暂的,正是因为名气大,很多人扎堆建梯子,导致现在这三家都不适合建站了。

  • 目前搬瓦工目前最便宜的一款年付$49.99,而且鸡场太多,ip太容易被墙(更换IP另付$8.79),甚至官网都被封了,镜像网站也封了好几个;
  • Vultr和DO能用的基本也要月付$5起步,最大的问题也是鸡场太多,IP被屏蔽的更严重,严重到博主曾开了大半天也没开出一个能用的IP。

我们建站的目的是尽量省时省力,保证网站的稳定运行,不是给自己找麻烦,总之,鸡场多的VPS商家都不适合用来建站。

Hostwinds在国内名气不大,还没有像搬瓦工、Vultr那三款那样国人扎堆,我自己建站实测速度比搬瓦工和VULTR都好不少。月付$4.99,1Gb内存,1Tb流量,自带 SNAPSHOT 快照备份,可以免费更换IP(方法见下文)。

因此,使用Hostwinds VPS建站,我建议选择西雅图机房,国内访问速度还不错。目前官网正做活动,新用户优惠10%!

如何购买Hostwinds-VPS

Hostwinds官网的VPS服务器主要分两种:Managed托管型Unmanaged非托管型,其中每种都分为Linux系统和Windows系统,我们直接选择Linux的VPS(性能强大价格低),Windows性价比低。

Managed托管型

Hostwinds官方技术人员为服务器提供全套运维服务,省事省力,但是价格较贵,有点不划算。

Unmanaged非托管型

非托管型就是买个裸机VPS,随意DIY,包括系统在内的所有程序自己搭建(按流程很简单),在学会一些Linux的知识的同时还能省点钱,性价比较高。

我以Unmanaged非托管型VPS为例,首先打开Hostwinds官网,选择Unmanaged, 1GB – $4.99 这款VPS。

点击“Order”注册账户。如果用PayPal进行付款,邮箱最好和PayPal账户邮箱一致:

然后需要填写一些注册信息。请尽量填写真实信息,特别是IP地址要和本机所在地相同。比如你在上海,IP显示地在上海,就不能填地址在深圳。所以,为避免不必要的麻烦,在购买前,请确保关闭梯子,尽量使用本地网络,否则订单的审核可能会出现问题:

然后,选择并核对信息。确认是Unmanaged非托管型,付款周期(年付/季付/月付),机房(西雅图/SEATTLE),系统为Debian 9(占用内存小,最适合建站),确认主机为CPU:1 Core,内存1GB,存储30GB。其他信息默认不需改动:

这里有可选功能:云备份和VPS监测提醒,可以根据自己的需求选购:

支付方式有信用卡(Visa、Master Card)、Paypal和支付宝,建议优先选择Paypal,其次选择信用卡或支付宝

最后,勾选同意服务条款、隐私政策,并确认订单支付:

完成订单付款后,等待几分钟,邮箱会收到VPS成功开通的邮件,邮件有VPS相关信息,比如VPS服务器的IP地址、root密码和SSH端口等。建议复制保存下来备用,免得以后要登录VPS时找得麻烦。

接下来可以到NameSilo或者阿里云提前添加A记录进行域名解析,为后面安装WordPress做好准备。

温馨提示
温馨提示关于IP被墙或者PING不通
Read More
众所周知,国外VPS的IP存在被Q的可能,原因你懂的。虽然Hostwinds暂时还未被国人扎堆,但依然有被Q的几率,只是几率比较小而已。 假如你运气不好,买到了IP被Q的VPS,那么你就需要更换IP,保证VPS能正常连通。 好消息是,目前Hostwinds的换IP服务是免费的。(希望以后一直能免费)

如果你只是拿VPS做做网站,并不是用来搭建梯子,就不用担心以后ip被Q,仅仅做做网站,服务器IP是不会被Q的!

IP更换的方法:进入VPS管理后台,点击Manage IP’s ,然后点击Fix ISP Block按钮,在弹出的窗口点击确认Confirm

SSH连接VPS服务器

SSH(Secure Shell)即安全外壳协议,是目前较可靠、专为远程登录会话和其他网络服务提供安全性的协议。我们需要SSH工具连接、管理和维护VPS服务器,我个人推荐PuTTY.exe,最好是去官网下载英文原版,因为网上随便下载的存在安全性问题,可能会造成服务器信息的泄漏。另外根据自己的电脑系统版本注意区分32-bit64-bit

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

回到你开通VPS时收到的登陆名root和密码,复制密码。在PuTTY界面输入用户名root后回车,单击右键即可输入密码。

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

登陆进去后,为了安全首先修改root密码,初始密码太复杂不好记,安全性也不太好。

# passwd

按回车键后输入新密码,再回车重新输入。输入两次密码一致则修改密码成功。

防止SSH自动断开

我以前经常会遇到这样的问题,使用本地网络连接国外的VPS服务器,只要超过一段时间没有任何输入,SSH就会自动断开,输入命令需要重新登录,很麻烦。那么我们可以通过本机主动与服务器保持通信,SSH就不会断开了,方法如下:

# vi /etc/ssh/sshd_config

将ClientAliveInterval 和ClientAliveCountMax两行代码前面的 # 去掉,然后做相应修改:(如果没有请在末尾自行添加这两行代码)

#PermitUserEnvironment no
#Compression delayed
ClientAliveInterval 60
ClientAliveCountMax 5
#ShowPatchLevel no

保存之后,重启SSH就生效了:

# service sshd restart

然后再升级系统,以保证得到最新的内核和软件版本。

# apt-get update
# apt-get upgrade

开启BBR加速

BBR是Google提出的一个开源的TCP拥塞控制算法,应用于Linux4.9+内核上,对提升网速效果显著。

因此,对于KVM架构的VPS,我建议在正式部署生产环境之前先开启BBR加速。

VPS服务器务必是KVM架构,OpenVZ不适用,可以通过安装 virt-what 查询:

# apt-get install virt-what
# virt-what

首先,切换到 root 目录:

# cd ~

然后,先安装wget命令,再下载脚本并安装BBR:

# apt-get install wget
# wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

按要求输入 y 后,自动重启VPS。

再次登录VPS后,查看是否安装成功:

# sysctl net.ipv4.tcp_available_congestion_control

返回值应该为:
net.ipv4.tcp_available_congestion_control = bbr cubic reno
则说明BBR安装成功。

搭建LNMP环境

LNMP指的是Linux(操作系统)、Nginx(HTTP服务器),MySQL(数据库软件) 和PHP,主要用来建立web应用平台。

首先,为确保能在VPS的后台自动安装LNMP,需要创建screen会话:

登陆后运行:

screen -S lnmp

如果提示screen: command not found 命令不存在,可以执行:apt-get install screen 进行安装。

如果安装过程中与VPS的连接意外中断,重新登入VPS后,输入 screen -r lnmp 恢复安装界面。

推荐安装最新稳定版本的LNMP,功能和应用更加全面:

wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./install.sh lnmp

如需安装LAMP,将./install.sh 后面的参数lnmp替换为lamp即可。

安装过程一般默认选项就行,详细安装过程请参考:

https://lnmp.org/install.html

这里说下数据库和PHP版本的选择:

如果内存在1GB或以下,建议选择MySQL 5.5.62(默认),PHP 7.2.18。InnoDB Storage Engine可开或不开启。

如果内存在2GB或以上,建议安装MySQL 8的版本,PHP 7.4.8(最新版本的PHP)。

通常1-2个小时左右安装完成。到这一步,LNMP环境已经在VPS上部署完成。在浏览器输入VPSIP,会看到下图所示的页面:

安全提示

(1)为了服务器安全,需要把phpmyadmin目录名称进行重命名为不容易猜到的名字(例如 myvpsxx ),在putty中输入:
# cd /home/wwwroot/default
# mv phpmyadmin myvpsxx
(2)上面的安装成功页面是通过IP直接访问的,也不是很安全,建议改名或者删除:
# mv index.html change-name.html (改名)
# rm -rf index.html (删除)

拓展安装

在安装WordPress和绑定域名之前,建议安装PHP缓存加速类和图像优化类拓展,能有效地提高WordPress网站访问的速度和较少对VPS的消耗。

主要推荐安装三款:

  • Redis或者Memcached
  • Opcache
  • imagemagick

Redis可以使数据持久化,读写数据的效率极高,减少对于数据库的查询,使网站访问的速度更快,和Memcached作用类似,只需安装一个就够了,一般我安装Redis就OK了。Opcache是PHP优化加速组件,把PHP代码加载到内存,提高代码的执行效率。imagemagick是功能强大、稳定的图像处理软件,WordPress官方推荐安装。

安装方法:

# cd /root/lnmp1.7
# ./addons.sh install redis
# ./addons.sh install opcache
# ./addons.sh install imagemagick

安装过程基本都是按回车键自动安装就行了。

添加域名

在VPS中添加域名之前,提前做好域名DNS解析(建议至少提前半个小时),例如:

添加域名,以wpdas.com为例:

# lnmp vhost add

回车,提示输入主域名:

# wpdas.com

回车,添加多个域名。博主习惯绑定带 www 的域名:

# www.wpdas.com

回车,显示网站默认目录: /home/wwwroot/wpdas.com

回车后,command窗口提示是否对本网站开启访问记录/日志记录。

一般本机上所有访问日志都会记录在 /home/wwwlogs/access_log 文件里。所以,看个人习惯,我在这里选择不开起:

Allow access log? (y/n)

# n

回车后,提示数据库名和数据库用户名是否保持一致:

Create database and MySQL user with same name (y/n)

# y

输入 root 用户的数据库密码(输入密码不会显示输入的字符,复制之前保存的root 用户的数据库密码,直接按鼠标右键就行了)。

再次回车,输入数据库名。例如:

# wh_wpdas

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

# Djg#b5Jk8x

接下来,是否需要开启SSL/HTTPS访问,建议开启:

Add SSL Certificate (y/n)

# y

1: Use your own SSL Certificate and Key
2: Use Let's Encrypt to create SSL Certificate and Key
Enter 1 or 2: 2

这里使用免费的 Let’s Encrypt 证书,所以选择 2,自动安装,如果之前域名DNS解析做好了,这一步应该几秒钟就完成了 。

好了!现在域名添加完成,此时在浏览器打开域名地址,会出现 403 Forbidden 错误。这是因为网址目录下是空的,继续安装WordPress程序即可。

LNMP1.7默认是不安装FTP功能的,在需要上下传或下载文件时,建议使用SFTP客户端WinSCP进行上传和下载。

安装完成后,打开WinSCP,点击“新建站点”,文件协议选SFTP,输入主机名和端口号(默认22)、用户名root,点击保存,如下图。VPS登进去的时候需要输入密码,安全起见,不建议在这里保存密码。

若对于有些朋友,安装FTP是刚需,可以进行如下操作:

# apt-get install ftp
# cd /root/lnmp1.7
# ./pureftpd.sh

安装成功后,添加FTP用户:

# lnmp ftp add

设置FTP的用户名、密码以及访问目录的绝对路径(以 “/” 开头)。

lnmp ftp {add|edit|del} 可以对FTP用户进行增添、编辑或删除。

安装WordPress

有读者可能有使用Cpanel或DirectAdmin面板安装WordPress的经验,在VPS里面一般是使用命令行安装,不过也是比较简单的几行命令,输入命令的时候细心点,基本上也不会出问题。

第一步,进入刚刚的域名目录。

# cd /home/wwwroot/seoimo.com

然后输入下载命令,在WordPress官网下载最新的WordPress安装包:

# wget https://wordpress.org/latest.zip

下载完成之后,进行解压:

# unzip https://wordpress.org/latest.zip

然后,将刚刚解压的WordPress文件夹里面的所有文件移动到域名的主目录下,这一步可以使用上面提到的Winscp进行移动,也可以输入命令行操作:

# mv wordpress/* .

然后删除空的WordPress文件夹及下载的安装包:

# rm -rf wordpress latest.zip

好了,现在WordPress已经安装好了,下面赋予文件的权限,防止权限问题致使安装失败,比如WordPress插件无法更新、需要输入FTP用户密码、wp-config.php无法创建等问题:

# chown -R www *

以后添加新的域名,都需要进行上面的权限设置的操作,如果提示:

"chmod: changing permissions of ‘/home/wwwroot/default/.user.ini’: Operation not permitted"

一般可忽略,因为.user.ini是系统生成的文件,默认状态下无法修改,其他文件权限修改成功就可以了。

或者赋予一下.user.ini 的权限也可以:

# chattr -i /home/wwwroot/default/.user.ini && lnmp restart

未完待续…

留下评论