购买虚拟服务器
虚拟服务器(Virtual Private Server)就是通常说的 VPS,是网站驻留的位置。所谓虚拟服务器,指的是对于用户来说,它和一台实体的服务器一样,有 CPU 有硬盘有内存有操作系统等等,但实际上它是使用虚拟化技术实现的,在真正的一台实体服务器上,可能有成百上千台这样的虚拟服务器并存。而如此众多的虚拟服务器之间,使用 IP 地址进行区分。
主流的 VPS 提供商有 Linode、Vultr、Bandwagon 等等,我选择的是 Vultr,可使用我的推广链接注册,你我都有优惠。
注册完成后,在 Servers 页面点击右上角的 + 号部署新的服务器。在 Vultr Cloud Compute 页面中,我的选择依次如下:
- Server Location: Tokyo, Japan
- Server Type: 64 bit OS - Ubuntu 16.04 x64
- Server Size: 15GB SSD $5/mo
- Additional Features: Enable Private Network
- Startup script: 留空
- SSH Keys: 留空
- Server Hostname & Label: 两个都填入 tokyo-ubuntu-x64
这个配置每个月花费 5 美金,共有 15GB SSD 存储空间,768MB 内存空间,每个月 1TB 带宽,对于个人网站来说已经足够。另外注意一下,每个月的费用支付或充值在左侧的 Billing 页面进行,需要使用支持美金支付的信用卡或 PayPal 完成支付,也可使用比特币。
都选好后,点击页面右下角的 Deploy Now,过一会服务器就安装完成了。在 Server 页面点击刚安装好的 tokyo-ubuntu-x64
进入 Server Information 页面,在最左边的 IP Address 就是这台服务器的 IP 地址,Username 和 Password 就是用于 ssh 登录使用的用户名和密码,后面会用到。请妥善保管,注意密码不要泄漏。本站的服务器信息如下图所示:
购买域名
购买了虚拟服务器之后,有了 IP 地址。但假如通过 IP 地址(如本站的 45.63.127.253)访问网站,不便于记忆,容易输入错误,且不具有特定的含义,因此还需要购买域名,如本站的域名为 http://lancitou.net。
域名的购买也是有不同的域名服务商可供选择,如 GoDaddy(俗称「狗爹」)、Name.com、Namecheap 等,各个服务商的首次注册价格、续费价格、迁移价格不尽相同,可自由选择,最终的效果是一样的。我选择的是 Name.com,同样,可以通过我的推广链接注册,你我都有优惠。
关于域名的选择,有几点注意事项及个人建议:
- 域名中的 .com 或 .net 等,通常表明了网站的组织性质,而 .cn 或 .us 等则表明了组织的所在地,可按实际情况申请对应的域名。但也有标新立异的,如 .me 其实是黑山的国家域名,近年来被许多个人网站化用为「我」的含义而流行起来。
- 尽量选择与你的网站名称相同又方便记忆的域名,如本站名称「烂磁头」,对应的域名为 http://lancitou.net
- 所谓购买域名,购买的是诸如 lancitou.net 这样的顶级域名,而 www.lancitou.net 或 blog.lancitou.net 这样的子域名是可以自由添加的,见下文说明。
在选定的域名服务商网站上注册了用户名密码后,搜索到你想注册且未被占用、价格合理的域名后,就赶紧下手注册吧,同样也需要使用支持美金支付的信用卡等。比如本站的 http://lancitou.net 域名,三年的费用为 $27.97。
域名注册完成后,需要将你刚刚购买的域名和虚拟服务器的 IP 地址关联起来,这样在浏览器中输入你的域名后访问的才是对应的虚拟服务器。Name.com 的设置路径为 https://www.name.com/account ,点击页面上「My Domains」下刚刚注册的域名 lancitou.net 进入域名配置页面,再点击左侧的「DNS Records」,可将原有的记录都删除,再添加你需要的子域名的记录。几个字段的值设置如下:
- Type: 选择 A,表示这是一条 A 记录。
- Host: 子域名,留空表示 http://lancitou.net,输入 blog 表示 http://blog.lancitou.net,等等。也可输入星号「*」表示匹配所有的子域名。
- Answer: 就是浏览器中输入对应子域名后,要「应答」什么 IP 地址,填上虚拟服务器的 IP 地址。
- TTL: 不需要修改,保持 300 即可。
例如,本站的域名就添加了如下的三条记录,这样不管是访问 lancitou.net 还是 www.lancitou.net 或者 blog.lancitou.net,访问的都是同一台虚拟服务器了。
填写完成后,点击 Open 按钮,首次连接会弹出一个 PuTTY Security alert,大意是要连接的服务器的公钥未保存在本地,若信任此服务器则点击「是」将此服务器的公钥加入本地缓存中,我们自己的服务器当然点击「是」。
这样,我们就成功登录到服务器上了。后继的命令执行及配置文件修改等操作,都是在这个界面上完成的。
ftp 服务器
WordPress 后台安装主题和插件时,需要使用到 ftp 功能,因此需要安装 ftp 服务器。使用如下命令安装:
# apt-get install ftpd
apt-get
命令是 Ubuntu 上用于管理软件包的命令,它有多个子命令,其中 install
子命令就是用于安装软件包的,remove
子命令用于卸载软件包,详细的子命令列表及使用说明,可使用 apt-get help
命令查看。
每次运行 apt-get install
命令时,都会将要安装的软件包依赖的其它软件包也一并列出,同时显示所需要的磁盘空间,最后询问是否安装,输入 y 或 Y 或直接敲回车都可以继续安装。
刚刚安装好的 ftp 服务器,默认是不允许 root 用户使用 ftp 连接服务器的,因此需要使用 vim
命令修改相应的配置文件。
# vim /etc/ftpusers
/etc/ftpusers
这个文件记录了不允许通过 ftp 访问的用户列表,一行一个用户名。只需先敲一个「i」进入 insert(插入)模式,再将光标移到 root 一行并在前面加上 # 号,再按「Esc」键退出 insert 模式,最后输入 :wq
保存退出即可。关于 Vim 的用法,可登录 OpenVim 网站以交互方式学习。
Apache
当你在浏览器的地址栏输入自己网站的域名并敲回车,想要打开网站的主页时,服务器上接收这个「打开网站主页」请求的,称为 Web 服务器。Linux 上主流的 Web 服务器有 Apache、Nginx 等,我们选用的是 Apache 服务器。安装命令如下(注意是 apache2 不是 apache):
# apt-get install apache2
安装完成后,试着在浏览器的地址栏输入自己的网站域名,此时应该可以看到如下的页面:
再次输入相同的密码确认,等待 MySQL 服务器安装完成后,可使用 mysql
命令验证是否安装成功,其中的 localhost
是一个特殊的主机名称,表示服务器本身;输入安装 MySQL 时为 root 用户设置的密码后,进入 mysql>
的命令行,这里可以输入 SQL 语句直接操作数据库。我们先不做操作,输入 quit
退出。
# mysql -h localhost -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 52685
Server version: 5.7.13-0ubuntu0.16.04.2
Copyright 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql> quit
Bye
此时的数据库除了一些系统级别的表之外,还没有其它内容,下面安装其它服务时将逐步创建相应的数据库。
PHP
WordPress 的源代码就是使用 PHP 语言编写的,因此 PHP 语言的解析器也是必不可少的。你一定猜到了,安装 PHP 的命令就是这样:
# apt-get install php
但这只安装了 PHP 解析器,为了在网站上能够解析 PHP 页面,还需要安装 Apache 的 PHP 模块:
# apt-get install libapache2-mod-php
另外,为了使 PHP 能连接 MySQL 服务器,还需要安装 PHP 的 MySQL 模块:
# apt-get install php-mysql
上述三个命令可以组合在一起,用一个 apt-get install
命令安装多个软件包:
# apt-get install php libapache2-mod-php php-mysql
安装成功后,需要重启一下 Apache 服务器,使刚安装的模块生效:
# systemctl restart apache2.service
为了验证 PHP 是否安装成功且与 Apache、MySQL 配合是否正常,可使用 cd /var/www/
命令切换到 Apache 安装后默认的网站根目录,再创建 phpinfo.php 文件,内容如下:
< php
phpinfo;
>
保存退出后,在浏览器输入如 http://lancitou.net/phpinfo.php(将 lancitou.net 替换为你自己的域名)即可查看 PHP 相关的配置,包括版本信息、环境变量、各个库的安装情况等等。
以上都正常后,就可以开始安装使用 PHP 编写的各种 Web 应用了,包括 phpMyAdmin 和 WordPress 等等。
phpMyAdmin
phpMyAdmin 是 MySQL 服务器的可视化管理工具,以 Web 页面的形式呈现,操作简单方便。对于 WordPress 博客系统本身的正常运行来说,缺少 phpMyAdmin 并没有什么影响,因此 phpMyAdmin 为可选安装项。但有了 phpMyAdmin 就不需要使用 mysql
命令行及自己编写 SQL 语句了,极大地提高了效率,因此建议新手安装。
phpMyAdmin 已进入 Ubuntu 官方的软件库,所以同样使用 apt-get install
命令安装:
# apt-get install phpmyadmin
安装过程中会弹出如下的配置窗口,用于选择所使用的 Web 服务器。把光标移到 apache2 那一行,按空格选中(此时 apache2 左边的方括号中多了一个星号),再按回车继续安装。
接下来,会让输入 phpMyAdmin 的密码,假如不输入将生成一个随机密码,直接回车即可。
登录后,点击上方的 Databases,再在 Create database 下面的 Database name 中输入 wordpress(注意是全小写),Collation 不需要修改,再点击 Create 即可创建名为「wordpress」的数据库,是不是很方便?这个数据库暂时没有内容,是一个空数据库,下面安装 WordPress 时将自动在这个数据库内创建表。
WordPress
好了,终于讲到 WordPress 本身了。WordPress 作为开源的博客系统,以其优秀的主题及插件的设计而得到了广泛的应用。和 phpMyAdmin 一样,WordPress 也已进入 Ubuntu 官方软件库,可使用 apt-get install wordpress
安装。但这里选择直接从官网下载最新版本的方法安装。
# cd /var/www
# wget https://wordpress.org/latest.tar.gz
# tar xzvf latest.tar.gz
# cd /var/www/wordpress
WordPress 提供了一个配置文件的示例,就是 wordpress 目录下的 wp-config-sample.php,我们把它复制一份再做修改:
# cp wp-config-sample.php wp-config.php
# vim wp-config.php
需要修改的是其中的 DB_NAME
、DB_USER
、DB_PASSWORD
三个变量的值,分别对应数据库名称(全小写的 wordpress)、数据库的用户名(root)、数据库的密码(在安装 MySQL 时为 root 用户设置的密码)。
define;
define;
define;
保存退出后,使用浏览器打开诸如 http://lancitou.net/wordpress/wp-admin/install.php 的页面(将 lancitou.net 替换为你自己的域名),即可进入 WordPress 著名的五分钟安装流程,根据提示输入即可。其中的 Site Title 就是你的网站标题,Username 和 Password 分别是登录博客后台时使用的用户名和密码,Your Email 填写自己的常用邮箱,Search Engine Visibility 表示博客对于搜索引擎的可见性,假如不想让搜索引擎搜索到,则可以勾选此选项,这里选择不勾选,即对搜索引擎可见。例如:
- Site Title: 烂磁头
- Username: yestyle
- Password: **********
- Your Email: ********@http://gmail.com
- Search Engine Visibility: 不勾选
输入完成并点击「Install WordPress」后,稍等片刻,待提示成功后,就可以使用刚刚填入的用户名和密码登录 WordPress 后台开始写文章啦~ Happy WordPressing~