VPS常识、硬件选择及环境搭建教程

VPS常识、硬件选择及环境搭建教程

一、VPS 常识及硬件选择

很久很久以前,一台服务器就是一台服务器,要获得一个独立的服务器环境就要买一台服务器,而服务器是很贵的,硬件贵,托管也贵,所以一般人玩不起。后来,有人发明了虚拟化技术,使一台配置很强大的服务器能被分割成若干个配置低一些的虚拟小机器,这些虚拟小机器依托独立服务器强大的硬件支持还是比较厉害的,但是由于成本平摊,所以租用价格就亲民多了,这就是我们今天的主角:VPS,即「虚拟个人服务器」。

服务器领域使用最广泛的操作系统无疑是 GNU/Linux,它稳定、可靠、强劲、省资源。VPS 的配置对于广大跑着 Windows 的桌面电脑来说似乎显得较为低下,但是 VPS 上的 GNU/Linux 一般不装 GUI,所以其实是很省资源的,64MB 内存的 VPS 即可跑起很大型的博客软件了。当然,VPS 配置越高,网站环境越优。目前市面上销售的 VPS 型号一般以内存来定,比如 512MB 型、1024MB 型、2048MB 型等。本文主要介绍最适合一般新手使用的 512MB 型。

另外,关于 VPS 的虚拟技术,也有不同的选择,主流的有 Xen 方式、KVM 方式和 OpenVZ 方式。Xen 方式和 KVM 方式能虚拟出真正的高性能 VPS,每台 VPS 具有独立的内核,是良好的虚拟化实现,但是 KVM 目前不如 Xen 成熟。而 OpenVZ 则是一种很不彻底的虚拟,用户数据与宿主服务器的数据共存,一旦文件系统损坏会造成大量数据丢失,但是该虚拟化方式最大的特点就是便宜,因此也被一些要求低的 VPS 商家所采用。如果您在选购 VPS 的时候发现有价格特别低的,那就要小心了,很有可能是 OpenVZ 并且超售(在一台宿主服务器上销售超过服务器性能限制数量的 VPS),为了性能和稳定,请不要购买。

 

二、VPS 操作系统及网站环境选择

操作系统

VPS 本质上也是台电脑,所以也需要安装操作系统和运行网站所需要的软件。操作系统一般是在 VPS 的控制面板上选择安装的,视 VPS 提供商不同,可选的操作系统也不少。可能有的读者听说过 CentOS 的名头,但是我这里却强烈反对使用它,因为它实在是太老了,官方源里的软件包版本都停留在几年前,且不少软件根本在源里没有,需要自己花大量时间、精力,小心翼翼地去编译。

那么使用什么呢?这里要隆重推荐的是 Ubuntu ServerUbuntu 家族是从 Debian 发展而来的,在近几年中快速成长,以雄厚的后台(Canonical 公司的商业支持)和强大的社区成为了 GNU/Linux 界极受欢迎的操作系统。无论是日常使用、桌面开发还是服务器应用,都有 Ubuntu 的影子。大公司如 Google 和 Facebook 都以 Ubuntu 作为他们教程中推荐的 GNU/Linux 操作系统。感兴趣的可以点击以下链接查看来自大型互联网公司对 Ubuntu 的推荐:Chromium 开发者编译说明Android 开发者编译说明Facebook HHVM 专门的包

网站环境

LAMP。啥是 LAMP?它是 Linux + Apache + MySQL + PHP/Perl 的缩写,是一种简洁、强劲、受到广泛支持的网站环境。国内似乎有不少人推荐把 A(Apache) 换成 N(nginx),但是我不推荐这样,因为 nginx 相对 Apache 来说,对 PHP 的支持更差一些,而且缺少 .htaccess 之类目录级配置文件的支持, rewrite 功能也不是很好用。最主要的,LAMP 还是 Ubuntu Server 官方推荐的网站环境,所以,我选择 LAMP!

但是,如果你真的对 nginx 有一些偏爱的话,还是可以加一份 nginx 上去的,这时候可以把 nginx 作为反向代理使用,能一定程度上增强网站的抗压能力,特别是一些静态文件如图片等。

三、连接你的 Ubuntu VPS

Ubuntu Server 采用的是每六个月出一个新版本的政策,但是每两年会有一个「长期支持版」,简称「LTS」,LTS 版的 Ubuntu Server 支持期长达五年,足够用到服务器淘汰、报废……本教程采用的是 Ubuntu Server 12.04 LTS 版,能用到 2017 年 4 月份……你也可以采用非 LTS 的版本如 12.10。

在 VPS 控制面板安装好操作系统之后,即可连接操作了。GNU/Linux 服务器的大部分操作都是通过命令来完成的,而 OpenSSH 是一种远程登录 GNU/Linux 的优秀协议。Windows 用户需要下载 Tunnelier 等软件填入主机、用户名、密码进行连接,OS X 和 GNU/Linux 用户可直接在终端中使用 ssh 命令进行连接。比如 VPS 服务商提供给你的 IP 是 10.0.0.1,用户名是 root,那么连接命令即是:

然后按提示输入密码即可。GNU/Linux 的密码输入一般是不回显的,即你看不到你输入了什么,但是你的确输入进去了,输入完成后回车即可开始登录,第一次登录的时候会提示保存公钥,确认即可。

至此你就连上了你的 VPS,以后的命令都将在这个窗口中敲字完成了。如前面所说,GNU/Linux 服务器的维护基本上都是通过命令来完成的,所以本教程中不可避免地涉及到一些命令。先来个简单的吧,更新 Ubuntu 的软件包:

该操作会执行一会儿,最后问你是否继续,回答 y 或者直接按回车即可,屏幕上再次跑过大量字符,等它停下来的时候,就说明升级完成了,期间如果包管理器问你问题的话,一般保持默认选择即可。注意:这个命令是不升级内核的,如果你想升级内核的话,请把 upgrade 改成 dist-upgrade,可能需要修改对应的 GRUB 设置以在下次启动时启动到新内核。

刚才的命令中,apt-get 是 Debian / Ubuntu 等发行版的升级管理器,它的使用方法非常简明易懂,比如,我们要安装 Vim 这个非常好用的编辑器的话,执行以下命令即可:

回答 y 或者直接回车,即可安装 Vim 编辑器。Vim 默认的颜色主题如果觉得不好看的话,可以使用 echo 'colorscheme evening' > .vimrc 命令将其改成 evening 方案,这在黑色背景下看得比较清楚。

如果要删除某个软件包,也是比较容易的,用 remove 或者 purge 即可,后者会连配置文件一起清除,比如要清除掉 cryptsetup 这个软件包,就是 apt-get purge cryptsetup

Debian / Ubuntu 的包管理器是 dpkg,有一些 dpkg 开头的命令。比如要更改时区,就是 dpkg-reconfigure tzdata,会有很亲民的选择界面出现,选择 Asia/Shanghai 即可改成 UTC+8 时区。

Ubuntu VPS 的基本操作讲解完毕,下面开始装网站环境。

四、安装 LAMP + nginx

安装 LAMP

我说啥来着的?Ubuntu Server 是个非常好用的发行版,用在服务器上是很方便很爽的。在某些落后还自称「行业标准」的发行版上,安装 LAMP 要许多条复杂的命令,不少部件还因为太老要自己花费大量 CPU 和硬盘去编译,但是在 Ubuntu 下,只要简单的一条命令:

接下来就是全自动化的操作了,期间会提示你设定一个 MySQL 的 root 密码,其他都不需要人工干预,整个过程两分钟内即可完成。该命令中tasksel 是 Ubuntu 的一个套件安装工具,可以很方便地安装一些预定义的套件。如果有的 VPS 提示没有 tasksel 命令的话,apt-get install tasksel 装一个即可。如果还想装一个 phpMyAdmin 怎么办? apt-get install phpmyadmin 即可!期间会让你选择你的网站环境,按空格选中 apache2 然后 Ok 就行了,还会让你输入两个密码,一个是 MySQL 的 root 密码,这就是刚才你在安装 LAMP 的时候设定的,希望你没有忘记哈。另一个是设置 phpMyAdmin 在 MySQL 里的程序密码,这个可以直接回车,让它随机生成一个复杂的密码,反正这个也不要人类记忆的……

配置 Apache

如果需要把 nginx 作为 Apache 的反向代理的话,Apache 是需要配置一下的,如果你只想直接用 Apache 的话,请跳过此段及下段。

需要说明的是,Debian / Ubuntu 的 Apache 是经过高度修改过的,与上游有较大区别,特别是在配置文件结构上,增加了许多方便的命令、脚本。这些便民的东西在别的发行版上是没有的。

由于要把 nginx 作为 Apache 的反向代理,所以要让 nginx 监听 80 端口而让 Apache 监听一个别的,比如 8080 端口。需要对 /etc/apache2/ports.conf 做一下修改。用 Vim 打开这个文件,定位到 Listen 80 这一行,改成 Listen 127.0.0.1:8080,另外上面的 NameVirtualHost 的端口也要改成 8080

啥,Vim 怎么用?在 Vim 里有两种基本模式,一种是「普通」,一种是「编辑」,要进入「编辑」的话需要按 i,要回到「普通」的话按 Esc 即可,Vim 新手的话可以先用方向键定位到相应的位置,然后再按 i 进入「编辑」,进行相应的修改后按 Esc 回到「普通」,再用 :wq 回车命令保存退出。

改完后重启 Apache 服务: service apache2 restart。Ubuntu 里重启某服务基本都是这样的格式。

扩展阅读:安装和配置 nginx

怎么在 Ubuntu Server 里装 nginx?如果你认真地看了上面的内容,已经能猜到了吧:

一条命令,搞定。配置起来的话,在 /etc/nginx/sites-enabled/ 里建立与 Apache 的 /etc/apache2/sites-enabled/ 中对应的配置文件然后重启 nginx 即可。配置文件示例:

如果需要真实 IP 模块的话,可以安装 libapache2-mod-rpaf 软件包并将 /etc/apache2/mods-enabled/rpaf.conf 改成如下内容:

五、搭建你的第一个网站:WordPress

之前做的那些,都是准备工作,现在,网站环境搭建好了,就可以正式搭网站了,本文中以 WordPress 为例,教你搭建自己的博客。

建立站点配置文件

前文有说过,Debian / Ubuntu 的 Apache 有着自己一套配置文件目录结构和管理方式,大概是这样的:

其中 apache2.conf 是主配置文件,是最先被读取的,这个配置文件会递归引导 Apache 读取 ports.confconf.dmods-enabledsites-enabled 中的配置。其中 ports.conf 自然是定义端口相关的设置,conf.d 中定义一些附加的设置,比如 phpMyAdmin 的设置就是通过这个目录被符号链接过来,然后被读取的,如果想禁用 phpMyAdmin,直接删除 conf.d 中相应的符号链接然后重启 Apache 即可。

Apache 是一个模块化的 HTTP 服务器软件,可用的模块配置放在 mods-available 目录中,把需要用的模块做个符号链接到 mods-enabled 中即可;可用的站点配置(俗称「虚拟主机」)放在 sites-available 目录中,把需要启用的做个符号链接到 sites-enabled 中即可。这种把配置文件拆分的方式可以方便地启用、禁用模块和站点,并且通过符号链接来操作的话也不用麻烦地移来移去了,一目了然。有两对 Debian / Ubuntu 的 Apache 专有的辅助小脚本可以完成符号链接的操作:

  • 启用/禁用一个叫 ssl 的模块: a2enmod ssl 和 a2dismod ssl
  • 启用/禁用一个叫 default 的站点配置文件: a2ensite default 和 a2dissite default

其实 a2enmod 就是 Apache 2 ENable Mod 的缩写,所以剩下四个的意义也就明白了吧?

现在先可以把默认的 default 站台给禁用掉: a2dissite default,这样做其实是删除了 sites-enabled 中的一个符号链接。

然后建立一个自己的,基本可以照抄 default 的,咱们先复制一份再改:

配置文件看着很长,但是关键也就以下几项:

VPS常识、硬件选择及环境搭建教程

大概照着改一下,然后保存,用 a2ensite 命令启用它。接下来咱们去下载 WordPress:

现在可以观察一下,现在的 /var/www/lamp.host.com 目录权限设置是很正确的,所有权是 www-data:www-data (33:33),目录的权限是 755,文件的权限是 644,因为 tar.gz 包是可以保留文件权限的。WordPress 给咱们树立了一个网站权限的好例子,正规的网站目录里也应该是这样的权限,与 HTTP 服务器运行的用户是一致的,这样既保证了 HTTP 服务器能读写该读写的文件和目录,又保证了万一服务器的 httpd 被黑,攻击者也不能损伤到其他文件。

如果你之前选择了加上 nginx 的话,现在也去建立一个对应的反向代理配置文件吧,然后重启 nginx 和 Apache,再访问下域名试试?

VPS 教程系列:Ubuntu + LAMP + nginx + WordPress 配置使用

出现了!WordPress 的初装界面!能出现这一步,说明一切已经工作正常了。接下来就点击按钮继续吧。

配置 MySQL 数据库及安装 WordPress

VPS 教程系列:Ubuntu + LAMP + nginx + WordPress 配置使用

接下来 WordPress 会提示说需要一个数据库,那么,新建一个吧。如果你是新手,或者你不会 SQL 命令,那么就用 phpMyAdmin 这个方便的工具来完成吧。如果你之前安装了 phpMyAdmin 的话,默认只要在域名后面加上 /phpmyadmin 就可以打开 phpMyAdmin 的登录界面了,输入用户名 root 和之前设置的 MySQL 数据库的 root 密码,登录之。

VPS 教程系列:Ubuntu + LAMP + nginx + WordPress 配置使用

这里可以顺便把 test 数据库给删除掉。选中它,DROP 掉即可。切换到用户管理页面,可以把图中打勾的用户全部删除掉:

VPS 教程系列:Ubuntu + LAMP + nginx + WordPress 配置使用

删除之后只剩下三个 localhost 的用户,这足够了。

现在来为 WordPress 新建一个数据库,在之前的 Create new database 那里,输入数据库名,比如 wordpress,然后 Collection 选择 utf8_general_ci,选择 Create 即可。

然后去用户页面创建一个用户,比如叫 wordpress。密码的话点击 Generate 让它随机生成一个吧,反正这是给机器记忆的,而不是给人类记忆的。不过 Generate 之后要先复制到剪贴版哦,过会儿要粘贴一下,然后就没事了……

VPS 教程系列:Ubuntu + LAMP + nginx + WordPress 配置使用

再回到用户管理,把用户赋权。编辑这个用户的权限,为它赋上相应数据库的所有权限:

VPS 教程系列:Ubuntu + LAMP + nginx + WordPress 配置使用

VPS 教程系列:Ubuntu + LAMP + nginx + WordPress 配置使用

然后回到 WordPress 那里,照着刚才的做法填好:

VPS 教程系列:Ubuntu + LAMP + nginx + WordPress 配置使用

然后就可以填写博客的基本信息了:

VPS 教程系列:Ubuntu + LAMP + nginx + WordPress 配置使用

咦?装好了?嗯,就是装好了。这就是 WordPress 著名的「五分钟安装」。接下来干啥?登录,写文章吧!

原创文章,作者:蓝洛水深,如若转载,请注明出处:https://blog.lanluo.cn/1561

Like (0)
蓝洛水深的头像蓝洛水深管理员
Previous 2013年4月27日 下午12:22
Next 2013年5月5日 上午7:18

相关推荐

发表回复

Please Login to Comment
联系QQ
联系QQ
SHARE
TOP