首先来谈谈为何要换用 Linux 服务器吧。

显而易见的,在中国的互联网上,还有大量的站点在使用 Windows Server 系统,倒不是说 Windows 不好吧,但从我日常的使用来看,Windows 其作还是桌面系统来说,还是非常合适的。然而作为服务器系统的话,我倒是觉得 Linux 更合适。先来列举一下原因吧。

1.版权问题,众所周知的原因,目前还有很多的计算机上运行的是盗版的 Windows 系统,当然个人计算机上运行的话相对来说还没有那么危险,然而在服务器上运行的话,盗版系统用起来就很危险了,一个是可能会存在后门,造成信息安全上的隐患,第二个就是如果服务器对于版权限制比较严格的话(多见于国外的服务器),一旦被查到使用盗版的 Windows 副本,轻则要求补交版权费,重则永久被封机子血本无归,当然你如果愿意花钱买正版 Windows 授权的话当我没说,反之 Linux 是个很不错的选择。

2.安全问题,上面说了一点,可能会因为盗版副本被开后门,造成安全隐患,还有一个就是在平时个人的实践和观察中, Windows 服务器设置比 Linux 服务器所需要的设置远需要更多的时间和精力来设置,特别是安全部分,所需要的设置非常多,所以在我服务器所处的网络中,整天扫描和破解密码的机器大多数都是安装 Windows 系统的。而且还有一点特别要注意的是,Windows 用户权限上的限制不如 Linux ,我们无法写出没有漏洞和 bug 的代码,但是我们可以在漏洞被攻破的时候把影响减少到最小。

3.操作问题,这里就不得不谈到 Windows 和 Linux 的图形界面,WIndows 的图形界面无论是在什么版本都是作为核心组件存在并且作为主要存在的操作方式的,而 Linux 的图形界面只是一个软件包,很多发行版也默认没有安装图形界面。这样相比起来的话,我个人觉得 Linux 更适合作为服务器,不用浪费精力在那些繁杂的图形界面上找来找去,点来点去,还有那种每一句命令都被切实执行的快感,是图形界面所无法给予的。

4.软件支持,可能大家的印象中都会觉得 WIndows 的软件 远比 Linux 的丰富,不可否认,在桌面端确实如此,但是近几年在服务器上,Linux 的软件数量越来越多,质量也是远超 Windows 服务器上的软件。

目前就先比较到这吧。那么在决定更换之前,我们还要确认一些东西。

其实其他方面的倒还好说,因为毕竟这篇东西的目标受众是 WIndows 服务器 更换为 Linux 服务器的同学。然而,可能比较难转换的就是网站程序了,如果你原先用的是 PHP 的话那很好说,转换过来基本没有任何的问题(除了因为程序过老,对新版本 PHP 不兼容),只需要把数据和网站源文件备份好即可。而 ASP 的话,说实话我也没搞过,所以也不太好说,大家有兴趣看看 ASP.NET @ Linux 的可以看看这个链接。http://docs.asp.net/en/latest/getting-started/installing-on-linux.html

好了,接下来,就该是技术选型了。

1.是云服务器,还是自建机房。

首先要面对的就是这个了,现在蛮有意思的,VPS(Virtual Private Server,虚拟个人服务器) 都不叫 VPS 了,改口叫云服务器了,说实话我还没发现这两者之间有什么不同,这个的话属于在实体服务器上利用虚拟化技术(KVM,VMWARE,XEN,OPENVZ 等)模拟出的一台台虚拟机,表现上和标称的参数相同的实体机性能基本相同,而且母机所在地一般是专业机房,各类条件也比自己搭建好得多。关键是成本分摊下来个人也可以轻松承担。而自己攒服务器的话,对于环境的要求比较高,而且成本很高,维护也比较麻烦,所以这里我还是选择云服务器,至于云服务器服务商国内有很多,这里请大家自己鉴别,我这里就采用腾讯云的机器来进行演示了,前几天正好得了张体验卷。不过,物尽其用,你们备份完数据之后,就可以来安装新系统了,这里我不做过多的介绍,需要进行相关了解的可以上网搜索。

2.然后就是发行版的选择。

这里的话,很遗憾的,国内的发行版,几乎没有能拿来当服务器版的(当然你自己愿意折腾精简一下的话另当别论),所以,我这里强烈推荐 CentOS,因为他非常稳定,之所以不推荐 Ubuntu 就是因为它的软件包升级太过暴力,有时候升级完有些服务开都开不了报错了,所以我对它一直有阴影,而且 CentOS 的文档非常丰富,不用担心找不到支持。系统版本上的话,我这里使用稳定的 CentOS 6.

3.服务器环境的选择

这里的选择的话,我就选择 LNMP 了,即 Linux + Nginx + Mysql + PHP,很值得一提的就是 Nginx,是个极其高性能的 Web 服务器。

好了,选择完了,就可以开始安装了,我们在 Windows 下用 Putty 连接到主机(官方网站:http://www.putty.org/ )千万不要下载那些汉化版,可能存在后门!然后下载之后,打开,填入服务器外网 IP ,再点击 OK,即可连接。

70B7.tm

然后就可以用 你设定的服务器初始密码和用户名 root 登陆了,这个是最高权限的账户。

70B7.tm

请注意设定一个好记并且不容易忘记的密码,不过更好的方案,是公钥登陆,这里暂不做介绍。有兴趣的可以自己上网搜索设置。

然后这里搭建的话我们使用 LNMP 这个安装包(官方网站:http://lnmp.org/ ),这个安装包非常方便,只需要几步操作即可搭建起 LNMP 环境,要自己一步步去搭建的话那真是太麻烦了,而且这样搭建出来的环境属于比较安全的了,可以投入生产环境。

我们来安装一下。

这里直接引用官方的命令。

            wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz && tar zxf lnmp1.2-full.tar.gz && cd lnmp1.2-full && ./install.sh lnmp

键入之后会先进行下载

微信截图_20151210183825

然后就是运行,先提示输入 Mysql root 密码,建议设置得复杂且好记。

7B33.tm

然后回车,就会询问你是否要启用 Innodb 引擎,一定要启用,性能更好。

微信截图_20151210184224

然后回车继续,会要求选择 Mysql 版本 ,选择 Mysql 5.6

微信截图_20151210184316

回车继续,就是选择 PHP 版本,这里选择 5.X 的最新版本 5.6 即可,PHP 7 对于国内的某些程序来说还不兼容。

7EFA.tm

然后回车,就会问你是否要安装内存调节器,这里我们不安装。

微信截图_20151210184529

然后设置采集部分就结束了,看到这个就是提示回车开始安装了。

微信截图_20151210184548

回车,就看见开始滚屏,开始安装了,休息一下等待安装完成吧。

微信截图_20151210184558

等待的时候,我们就可以把 域名 解析到这个 IP 上面了,到域名的解析管理面板里设置一个 A 记录,记录值我这里举例为 test ,域名为 nobugs.cn 即我待会网站的地址就是 http://test.nobugs.cn/

微信截图_20151210185329

看到这里就是安装完成了。

微信截图_20151210194354

我们还可以把 FTP 安装上,方便上传程序文件。

执行这个命令。

            ./pureftpd.sh

然后就会要求输入之前设定的 Mysql root 密码。

微信截图_20151210194540

然后就是设定 manager 的密码。

微信截图_20151210194609

然后就是默认 FTP 账号的密码。

微信截图_20151210194627

回车开始安装。

安装完毕,我们就可以使用了。

微信截图_20151210194944

然后 就开始创建站点,使用

            lnmp vhost add

先是输入域名,

微信截图_20151210195040

然后是问是否要添加其他的域名,不添加先。

微信截图_20151210195125

然后就是站点的文件目录,默认即可。

微信截图_20151210195132

然后是是否要添加伪静态规则,我这里不添加先。

微信截图_20151210195138

然后是是否要开启日志,不开启,增强性能。

微信截图_20151210195319

然后是添加数据库,首先要验证 Mysql root 密码。然后就可以输入数据库名称和密码了。

微信截图_20151210195349

然后是添加 FTP 账户,输入想要设定的用户名和密码即可。

微信截图_20151210195544

回车,开始创建。

微信截图_20151210195544

然后就创建成功了,可以用 FTP 上传程序然后在浏览器打开进行安装了。

LNMP 安装包的更多用法,请各位自行参考官方网站的教程,篇幅有限此处不做详述。

PHP 下的 CMS 程序太多了,这里我推荐 WordPress ,表面上是博客程序,然而其作为 CMS 也是很不错的。

至于数据的话,请各位自己研究恢复之术,是人肉导入还是如何我这里也不做讨论了。

好了,到现在为止你就拥有了 一台 Linux 的服务器了,尽情去体验 Linux 所带来的高效和其他东西吧~