在正式使用服务器以前,我们必须挑选购买一款合适的服务器!

首先需要问自己一个问题,我们接不接受备案这个步骤?如果接受备案制度,我们可以自由购买国内的服务器;如果不接受,那么我们只能购买境外服务商的服务器进行使用。

我们首先来谈谈购买境外服务商产品的事。一般来说,购买免备案的服务器,地理位置的优先度大致为:非大陆地区(香港、澳门、台湾等)>东亚和东南亚地区(日本、韩国、新加坡等)>北美洲地区(加拿大、美国等)>欧洲地区>其他地区。有一点需要特别注意,香港地区的服务器等云服务,有可能在未来被工信部纳入国家的备案管理体系之中;其中有一个很重要的原因,在于有非常多的人喜欢使用香港地区的服务器,去进行一些违反国家意志的事情。

使用境外的服务器,有一个很重要的先决条件,我们必须选择国际带宽充足的商家的产品,最好是和境内的电信运营商有直接合作(有CN2光纤直连线路)的商家。另外很重要的一点,我们要尽量选择知名商家的产品,虽然可能出现用户逐渐变多致使线路质量变差一些的情况,但是其产品的基本质量还是有一定保证的,基本上不会出现今天热销明天跑路的恶性事件。永远要记住一件事,一分价钱一分货,不要贪便宜购买不知名商家(全公司上下只有一个人)的产品,不过如果我们钱多还是可以试一试的。

本章节主要以境内服务商——阿里云,为主要的讲述对象,故不重点描写境外服务商。但是它们的基本流程和操作步骤,大致情况都差不多,故可以举一反三、灵活变通。

拓展知识:
世界海底光缆分布图,如图11-1所示,官网地址为http://www.cablemap.info/。
2-2-1-1-1920×950.png
图11-1 世界海底光缆分布图

境内云服务商
阿里云中文官网 https://www.aliyun.com/
腾讯云中文官网 https://cloud.tencent.com/
小鸟云中文官网 https://www.niaoyun.com/

境外云服务商
DigitalOcean国际官网 https://www.digitalocean.com/
Vultr国际官网 https://www.vultr.com/
ConoHa中文官网 https://www.conoha.jp/zh/

更多云服务商的相关信息,请参考https://www.hostucan.cn/cloud-hosting,本人不对网站所列的云服务商排名数据的真实性作担保,请自行辨别。

11.1 开始准备

11.1.1

购买阿里云云服务器ECS
1.登陆阿里云中文官网https://www.aliyun.com/,进入用户管理后台,如图11-2所示。
2-2-2-1-1920×950.png
图11-2 进入用户管理后台

2.点击左上角的“云服务器ECS”,进入云服务器管理控制台,如图11-3所示。这个控制台上会大致展示我们所拥有的实例的综合情况,如实例数量、运行实例数量、安全情况、实例资源地域分布等(此界面概况可能会随着官方界面改版发生变化)。
2-2-3-1-1920×950.png
图11-3 进入云服务器管理控制台

得益于阿里巴巴的强大实力,阿里云的机房遍布全球,让我们选择起来十分有压力。不过我们的目标用户主要在国内,所以选择一台国内的服务器比较适合。不过即使是这样,选择起来依然很有压力,阿里云在国内的机房依然有华北、华东、华南这三大区域,而像华北区域这种发展比较早的,还分成华北1、华北2、华北3这三大块,这究竟该怎么选呢?

且听作者我细细道来——阿里云的华北机房,一部分是原万网的机房,另外一部分则是阿里云自己的机房。华北1区域的机房在青岛,华北2区域的机房在北京,华北3区域的机房在张家口。华北1和华北2是两个建设得比较早的机房,换句话说就是机房负载比较高、客户数量比较多,所以我们不太建议大家选择这两个区域,而是选择年份比较短的张家口机房;华东1区域的机房在杭州,华东2区域的机房在上海。大家一听到杭州这两个字,可能就明白了,这肯定是阿里云自己的机房,也是年份比较长的机房;最后说的华南1区域,则是在深圳,相对来说比较新,上线没多长时间。

介绍了上面这些信息,我们选择时头脑就清晰很多了,优先购买华北3、华东2、华南1这三个区域的机房中的任意一个。如果实在拿不准,可以点击用户管理后台的“工单”,向客服人员进行咨询,询问各个机房的大致情况,以加大购买到优质机房的服务器的概率。前面所说的这三个优先购买区域的机房情况,可能会随之时间的变化而变化,不要过于死板,根据我们的需要灵活选择不同的机房。

在这个步骤中,暂时假设我们根据自身需求选择了华南1区域的机房。

3.点击华南1区域的购物车图标,开始根据需求挑选我们的服务器。

我们首先会看到一个付费方式的二选一选项,包年包月和按量付费,如图11-4所示。包年包月就是先付费后使用,不要求必须有余额,我们选择好心仪规格的产品,支付完成后,可以在接下来以月或者年为单位的时间里不用操心付费的事。通常来说如果使用时间较长的话就比较划算,购买一年的服务只按照十个月的费用收费。这种计费方式购买的服务器拿去做网站能正常备案;按量付费就是先使用后付费。按量付费的服务器,如果只是用来进行性能测试等偶发性需求,价格还是相当便宜的,如果时间够短,用完销毁后基本上不需要支付钱。不过使用按量付费有一定限制,比如今年(2017年)就要求必须预存至少一百元人民币。另外选择这种计费方式的服务器,不能进行备案。按量付费购买的服务器,可以拿来做性能测试,对购买包年包月的服务器具有一定的参考意义。不过,性能测试完毕后,我们一定要把服务器销毁,以免被恶意攻击而产生大量的流量费用,如果不这样做则可能发生一觉醒来后其流量费用差不多相当于一座房子的事情。当然这样的事情比较少见,一般情况下不必担心。
2-2-4-1-660×120.png
图11-4 付费方式的二选一选项

接下来我们根据需求选择了华南1区域的机房(假设我们的目标用户多来自深圳、广州等南方地区的城市),如图11-5所示,在华南1区域的选项里还有一个可用区的选择项。如果该区域的机房资源充足,一般来说是随机分配的,反之则会默认选择某个可用区。
2-2-5-1-1200×270.png
图11-5 根据自身需求选择机房

接下来,我们进行到了选择服务器网络的步骤,如图11-6所示。一般来说,经典网络与专有网络的具体线路,并不会有本质上的差别。主要的差别在于,经典网络自由程度适中,适合不爱折腾的懒人。在购买时只需要选择合适的安全组就可,当然事后选择也可以;而专有网络,则需要进行细致的配置,否则可能会出现服务器访问失败的情况。在购买时,需要选择具体的专有网络和交换机。我们还可以选择是否配置公网IP地址,如果我们需要更加灵活的静态公网IP方案,建议选择“不分配”公网IP地址,而是选择配置并绑定弹性公网IP地址——也就是EIP。EIP有什么作用呢?——假设我们的服务器的网络出现了某种暂时不能解决的麻烦,我们可以迅速把这台服务器做成镜像移动到新买的服务器上,并把EIP绑定到新服务器上,而不用修改DNS解析慢慢等待解析生效,从而快速恢复我们网站的服务。最后一步则与经典网络的选项相同,都是选择安全组。当然,这里的某些选项我们也可以暂时不管,以后再去设置。
2-2-6-1-1000×400.png
图11-6 根据自身需求选择网络

然后,我们该选择实例类型了。阿里云默认选择了I/O优化实例,当然我们也可以不选择,不过基于性能以及价格等其他方面的考虑,还是建议选择默认选项,如图11-7所示。如果我们只是拿来做个人网站,阿里云默认选择的1核1GB的实例基本上就够用了,需求更高的我们建议选择其他合适的实例规格,如图11-8所示。
2-2-7-1-600×200.png
图11-7 阿里云默认选择的I/O优化实例

2-2-8-1-1145×645.png
图11-8 阿里云其他的实例规格选项

然后,我们来选择合适的公网带宽,如图11-9所示。由于我国特殊的国情,致使5M以下的公网带宽都比较便宜,而5M以上的则相对来说较为昂贵了。个人博客选择系统默认的按固定带宽下的1Mbps 即可,即125KB/S。另外一种则是按使用流量来计算费用,这种模式的费用分成两部分,一部分是服务器的配置费用,另外一部分则是服务器的公网流量费用。
2-2-9-1-810×270.png
图11-9 根据自身需求选择公网带宽

选择完公网带宽后,我们接着选择服务器使用的系统镜像——也就是操作系统,镜像的来源有四种:公共镜像、自定义镜像、共享镜像和镜像市场,如图11-10所示。一般来说,我们从公共镜像里选择适合自己的操作系统,在这里,我们选择CentOS的较新的版本,比如CentOS 7.3 64位版本。下面有一个默认选择的安全加固选项,这个选项的服务在用户管理后台叫做“安骑士”,是一个安全方面的服务组件。如果我们对自己的技术实力有信心,这里可以不选择,稍后进行自主设置,反之则不建议这么做。
2-2-10-1-945×215.png
图11-10 根据自身需求选择合适的镜像

选择完带宽大小后,我们该自主选择存储也就是服务器硬盘的大小了,阿里云的默认最低选项为40GB的高效云盘,如图11-11所示。我们也可以自主添加数据盘,阿里云最大支持16块数据盘。不过对于个人博客来说,默认配置的40GB的高效云盘已经绰绰有余,如果对性能要求高可以选择SSD云盘,根据个人需求量力而行即可。
2-2-11-1-840×160.png
图11-11 根据自身需求选择合适的存储

接下来,我们选择一年的服务时长,并设置服务器的root用户的登录密码,如图11-12所示。官方的建议是自行设置一个包含大写字母、小写字母、数字、特殊符号(特殊符号指()`~!@#$%^&*-+=|{}[]:;’<>,.?/这些符号)这四项中的至少三项的8-30个字符长度的密码。如果想不出来或者懒得想可靠的登录密码,我们可以使用在线密码工具如Vultr Secure Password Generator(网址链接为https://www.vultr.com/tools/secure-password-generator/)或者本地密码工具如KeePass(官网地址为http://keepass.info/)生成符合条件的密码。关于密码方面的管理,我们会在后面专门讲述。密码下还有一个实例名称的命名框,我们可以先暂时不管它。安全设置中还有“设置密码”和“创建后设置”这两个选项,这个我们后面再说。
2-2-12-1-1200×525.png
图11-12 根据自身需求选择服务时长并设置服务器的登录密码

最后一步相当简单——就是付钱,如图11-13所示。这里我们就不浪费篇章了。
2-2-13-1-1200×250.png
图11-13 为我们所选择的云服务器付款

11.1.2 远程控制Linux系统的服务器


我们购买完服务器以后,阿里云会将服务器的相关信息发到我们的手机号上。然后我们登录用户管理后台,在云服务器管理后台找到我们所购买的服务器,点击实例ID,查看服务器的详细情况,如图11-14所示。
2-2-14-1-1880×290.png
图11-14 查看服务器的详细情况

接下来我们要介绍两种远程控制服务器的方式。

1.使用阿里云自带的远程连接管理终端

点击如图11-14中的“远程连接”,输入服务器默认给出的远程连接密码(这个密码在初次访问管理终端时可以自行修改,请妥善保存),如图11-15所示,登录服务器终端。如果登录后持续出现黑屏的情况,按任意键将系统激活。
2-2-15-1-1845×475.png
图11-15 输入默认的远程连接密码

登录成功后的管理终端如图11-16所示。在第三行后输入当前的初始的超级管理员帐号名“root”,然后输入先前设置的密码。在这里输入密码是没有即时提示的,只有在按下回车键确认后才会有相应提示,错误的话直接提示密码错误,正确的就会直接登录。登录后,我们输入pwd命令,反馈回“/root”,表明我们是在根目录下的root目录里面;然后我们输入ls命令,系统会列出当前目录里的东西。
2-2-16-1-1555×335.png
图11-16 输入默认的远程连接密码

2. Windows下使用Xshell远程控制服务器

首先,我们先去Xshell的官网把安装文件下载到本地电脑(其产品网址链接为http://www.netsarang.com/products/xsh_overview.html),安装到合适的盘符,比如D盘下的Program Files,新建一个文件夹并命名为Xshell或Netsarang,如图11-17所示。Xshell对教育和家庭用户免费,如果我们通过国内的其他非官方渠道下载软件,可能会遇到必须强制购买授权的盗版(同类型的工具还有Putty等其他软件)。
2-2-17-1-1865×655.png
图11-17 将软件安装到合适的盘符并正确命名

安装好之后,桌面上会生成软件的快捷方式,双击启动软件,进入软件的主界面,如图11-18所示。
image.png
图11-18 双击启动软件

点击Xshell左上角的“文件”,然后点击“新建”或按下Alt+N,打开新建会话属性界面,如图11-19所示。在“名称”后的输入框里输入一个我们喜欢或者记得住的有意义的名字,如“Aliyun-Huanan-A-1”;“协议”默认选项为SSH协议,暂时不用管(图11-19中展示的选项为SFTP协议,这是因为作者我最近一次使用的协议是 SFTP协议;如果是第一次使用此工具软件,则默认选项为SSH协议);从阿里云的云服务器管理后台,找到我们购买的服务器的公网IP地址,复制下来,然后粘贴到“主机”后的输入框中;服务器一开始默认的端口号为22,暂时不用改动;“说明”可填可不填,若为了以后管理方便,可填如适当提示信息;最后勾选“重新连接”和“TCP选项”这两个选项。
2-2-19-1-1920×980.png
图11-19 打开新建会话属性界面

全部填好以后点击确定,选中会话对话框中的服务器,点击“连接”,开始连接服务器。等待几秒后,连接成功,会弹出一个SSH安全警告对话框,点击“一次性接受”选项。然后弹出一个SSH用户名对话框,填入超级管理员的账号名root,勾选“记住用户名”选项。接着会弹出一个SSH用户身份验证对话框,在第一项的Password空栏输入服务商给的密码,不勾选“记住密码”选项,然后确定,然后我们就真正远程连接进入服务器了。登录服务器后,我们输入pwd命令,反馈回“/root”,表明我们是在根目录下的root目录里面;然后我们输入ls命令,系统会列出当前目录里的东西。

11.2 快速创建网站运行环境


常用的网站运行环境大致分为三种:LAMP、LEMP、LAEMP这三种,其中第三种是前两种的混合使用体。当然还有其他流行的网站运行环境,不过与WordPress不太相关,所以我们不多做介绍。

接下来,我们一个一个字地解释其含义。“L”代表Linux操作系统;“A”代表Apache,它是互联网上使用量最多的Web服务器软件;“E”代表Nginx(engine x),是一个高性能的 HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。不过国内常用“N”代指;“M”代表MySQL,是一款常用的关系型开源数据库管理系统,现已被甲骨文公司收购。由 MySQL衍生出的MariaDB和Percona Server,这两款数据库也可以代表“M”,其中 MariaDB是由MySQL原生团队开发的,支持的平台较多;“P”代表PHP/Perl/Python,大多数情况下指的是PHP。PHP原始名为Personal Home Page的缩写,已经正式更名为”PHP: Hypertext Preprocessor”,中文名称为“超文本预处理器”,是一种常用的开源脚本语言。

接下来,我们使用OneinStack,一款开源的一键安装工具,来快速创建我们所需要的网站运行环境。上面列出的三种环境,都可以运行WordPress。不过LAMP是WordPress官方推荐的环境;LEMP更轻量高效,但是对新手来说相对较为复杂,要想顺畅使用还得稍作调整;LAEMP综合了前面两种的优点,最大的缺点就是对服务器有性能要求。我们前面所购买的服务器的配置,可以保证LAEMP环境顺畅运行。在这里,我们只演示LAEMP环境创建的流程,如果想安装其他两种环境,可以在安装时选择不进行安装的选项。

我们登陆OneinStack这款开源工具的官网,点击查看安装指导,网址链接为https://oneinstack.com/install/。 然后我们会看到一些安装命令,读不懂没关系,接下来作者我将对它进行解读。具体的细节可能会根据软件版本的不同而有所变动,请以官方文档给出的资料为准,其网址链接为https://oneinstack.com/docs/。

第一行命令 :
以下两行命令根据具体情况任选一行复制粘贴,此行命令一般情况下可跳过。
yum -y install wget screen python #for CentOS/Redhat
(这一步可省略,#号后的内容可以不用复制,此处代表CentOS/Redhat系统下的命令)
apt-get -y install wget screen python #for Debian/Ubuntu
(这一步可省略,#号后的内容可以不用复制,此处代表Debian/Ubuntu系统下的命令)

第二行命令 :
以下四行命令根据具体情况任选一行复制粘贴,更多线路请自行前往官网下载页面查看。
wget http://aliyun-oss.linuxeye.com/oneinstack-full.tar.gz
#阿里云用户下载(阿里云内网线路,包含源码。经典网络可用,专用网络不可用。)
wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz
#包含源码,国内外均可下载(国外线路,包含源码。)
wget http://mirrors.linuxeye.com/oneinstack.tar.gz
#不包含源码,建议仅国外主机下载(国外线路,不包含源码。)
wget http://downloads.sourceforge.net/project/oneinstack/oneinstack-full.tar.gz
#包含源码,国内外均可下载(sourceforge线路,包含源码。)

第三行命令:
tar xzf oneinstack-full.tar.gz
#解压源码压缩包
一般情况下不用修改。如是不包含源码的压缩包,请根据源码压缩包名自行修改。

第四行命令:
cd oneinstack
#如果需要修改目录(安装、数据存储、Nginx日志),请修改options.conf文件

第五行命令:
screen -s oneinstack
#如果网路出现中断,可以执行命令screen -r oneinstack重新连接安装窗口
此行命令一般情况下可以省略。

第六行命令:
./install.sh
#注:请勿sh install.sh或者bash install.sh这样执行
正式开始安装操作。

注意:以上每行命令输入后请按回车键。

上面六个命令按步骤完成后,正式进入安装程序。

首先系统会询问是否修改默认端口,如图11-20所示。Linux系统里1-1024端口是保留端口,不可随意使用,1024以后的部分端口如3306端口是MySQL的默认端口,为了保险起见,我们使用10000以后的端口。这里我们假设使用10101端口作为新的SSH服务端口。接下来会询问是否开启iptables,这里可以选择开启,也可以以后再单独开启(个人建议,若是第一次使用服务器,则以后单独开启)。
2-2-20-1-510×140.png
图11-20 询问是否修改默认端口

接着是询问是否安装Web服务,如图11-21所示。我们选择安装,会出现三种可选安装项:Nginx、Tengine 和OpenResty。第一种是Nginx原版,第二种和第三种是Nginx 分支。三种各有不同,具体差异可自行百度。假设我们选择安装第三项。接下来是选择安装Apache的版本,一个较新较旧。具体差异也不多说,不过我们用新不用旧,为了以后能使用HTTP/2协议,选择第一个选项。然后会询问我们是否安装Tomcat服务,这里我们不需要,所以选择第四项不进行安装。
2-2-21-1-420×250.png
图11-21 询问是否安装Web服务

接下来询问我们是否安装数据库,如图11-22所示,这里我们选择安装,出现了大致四种数据库十来个可选项。不过我们无需担心,随意选择一个即可。因为他们本质上都是MySQL,只不过略有差异。这里我们同样选择第一个选项,如果喜欢其他类型的数据库,也可以安装另外三种数据库中的一种。接下来输入数据库的超级管理员的密码并妥善保存。输入完以后会询问我们数据库的安装方式:二进制安装或者源代码安装。一般来说,如果对数据库不是很熟悉且没有具体的配置要求,我们还是使用默认的二进制安装为妥,使用这种安装方式系统会根据服务器配置自动调整。
2-2-22-1-480×335.png
图11-22 询问是否安装数据库

完成上面的选择后,会询问我们是否安装PHP,如图11-23所示,这里我们选择安装,然后会看到两大版本六个选项。为了稳妥起见,我们选择默认选项即第四个选项,而不是一味求新,各种缘由请自行百度。PHP版本选择完成以后,会询问我们是否安装PHP代码缓存组件,这里我们选择默认选项——第一个选项。然后会询问我们是否安装PHP加解密组件,这里我们选择安装。然后会询问我们是否安装PHP图像处理工具,这里我们选择默认的第一个选项。
2-2-23-1-475×385.png
图11-23 询问是否安装PHP以及相关组件

接下来的四个选项,我们都选择进行安装,只有最后一个不安装,如图11-24所示。因为最后一个组件——HHVM,其作用与PHP相似,安装它是多余的,而且这个组件出现的时间比较短,为了保险起见,我们应该选择不安装。不过要是我们喜欢,还是可以稍微尝试一下的,只不过要做好解决随后出现的一些小问题的心理准备。
2-2-24-1-380×140.png
图11-24 询问是否安装其他常用组件

所有选项选择完成以后,将启动正式的安装程序。这期间的代码翻飞如浪,会花费一段不短的时间,我们不必过于着急,拿瓶维C柠檬茶一边喝一边等待即可。具体时间大约在半个小时到两个小时不等,具体速度看服务器的性能,不过大部分情况下只需半个小时就完成了。

如图11-25所示,当我们看到这些信息时,说明我们的网站运行环境已经配置完成了,我们应将这些信息妥善保存。接下来会询问我们是否需要重启系统,这里选择是或者否都可以,如果我们选择否,接下来应去服务器管理界面中进行重启操作,使当前配置生效。
2-2-25-1-500×425.png
图11-25 询问是否需要重启系统