萌开源联盟社区博客

萌开源联盟社区 | 一个以新媒体和 WordPress 为核心的兴趣交流开源社群!

三万计划网

《从零开始!设计师如何打造高性价比个人网站》初级系列教程之服务架设篇

how-to-build-a-personal-website-services-configuration

上一篇文章我们介绍了国内外各大主流的大中小IDC服务商,这一篇文章我们开始来讲解如何架设个人网站的基础服务。

这几天任天堂的 Pokémon GO 很火爆,我个人也比较想玩,不过它锁定了 IP 和 GPS ,并且需要谷歌账号登陆什么的。由于我 Vultr 账户里的余额比较充足,我于是选购了一台澳大利亚悉尼机房的最低配服务器,价格为6美刀每月(5美刀每月的服务器和1美刀每月的自动备份服务)。如下图所示。

vultr-vps-sydney

好了,我们言归正传,在这里我们个人网站的基础服务采用的不是可视化控制面板的方案,而是相对复杂一些的但自由度也更高一些的一键基础服务配置方案——OneinStack(一键PHP/JAVA安装工具)。

OneinStack是著名独立技术博客LinuxEye的博主yeho开发的一键基础服务配置工具。

它可以配置以下基础服务环境组合:LNMP(Linux + Nginx+ MySQL+ PHP);LAMP(Linux + Apache+ MySQL+ PHP);LNMPA(Linux + Nginx+ MySQL+ PHP+ Apache):Nginx处理静态,Apache(mod_php)处理动态PHP;LNMT(Linux + Nginx+ MySQL+ Tomcat):Nginx处理静态,Tomcat(JDK)处理Java;LNMH(Linux + Nginx+ MySQL+ HHVM)等。

OneinStack支持的系统版本有(包含32和64位系统):CentOS 5~7(包括redhat)、Debian 6~8、Ubuntu 12~16、Aliyun Linux 5.7、15.1等。OneinStack-Changelog

OneinStack有以下特性(不看也无所谓):持续不断更新(真的是少见的勤快);源码编译安装,大多数源码是最新stable版,并从官方网址下载;提供多个数据库版本(MySQL-5.7, MySQL-5.6, MySQL-5.5, MariaDB-10.1, MariaDB-10.0, MariaDB-5.5, Percona-5.7, Percona-5.6, Percona-5.5);提供多个PHP版本(php-5.3, php-5.4, php-5.5,php-5.6,php-7);提供Nginx、Tengine;提供多个Apache版本(Apache-2.4,Apache-2.2);提供多个Tomcat版本(Tomcat-8,Tomcat-7,Tomcat-6);提供多个JDK版本(JDK-1.8,JDK-1.7,JDK-1.6);根据自己需求安装PHP缓存加速器,提供ZendOPcache、xcache、apcu、eAccelerator,及PHP加解密工具ionCube、ZendGuardLoader;根据自己需求安装Pureftpd、phpMyAdmin;根据自己需求安装Memcached、Redis;根据自己需求可使用tcmalloc或者jemalloc优化MySQL、Nginx;提供添加虚拟主机脚本;提供Nginx/Tengine、PHP、Redis、phpMyAdmin升级脚本;提供本地备份和远程备份(服务器之间rsync)脚本;提供CentOS 6、7下HHVM安装等。OneinStack用到了很多开源软件,我在这里就不再列举出来了,大家可以去官网看具体软件列表。

广大的设计师朋友们,你们看到这里,心里是否有一点打退堂鼓的想法,心想这么麻烦,我还是老老实实刷新浪微博算了。我在这里要告诉大家的是,你们完全不用担心,只管去用,照着我给出的例子简单修改一下即可,有时候连修改都不用,直接复制粘贴。

现在正式开始配置个人网站基础服务(服务器为CentOS 6 64位系统)。

OneinStack-Install

我用箭头指向的区域,是配置基础服务的初始步骤,其中有些可以省略跳过去。Xshell5-configuration

打开电脑上我们早已安装好的Xshell 5,名称空栏键入一个好记的名字;协议用默认的SSH协议;主机空栏键入服务器的IP地址(类似 192.168.1.1 这样的地址);端口号暂时默认即可;说明可填可不填,主要是为了帮助记忆;重新连接和TCP选项可以不管,但我建议勾选这两个选项。

全部填好以后点击确定,选中会话对话框中的服务器,点击连接,开始连接服务器。等待几秒后,连接成功,会弹出一个SSH安全警告对话框,点击一次性接受选项。然后弹出一个SSH用户名对话框,填入服务商给的用户名(一般为root),勾选记住用户名选项。接着弹出一个SSH用户身份验证对话框,在第一项的Password空栏键入服务商给的密码,不勾选记住密码选项,然后确定,至此我们就真正连接进服务器了。

services-inside

第一行命令 (以下两行命令根据具体情况任选一行复制粘贴,此行命令一般情况下可跳过)

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

阿里云用户下载 (阿里云内网线路(10M/s以上),包含源码。经典网络可用,专用网络不可用。)

wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz

包含源码,国内外均可下载(国外线路(Linode Fremont,10M/s),包含源码。)

wget http://mirrors.linuxeye.com/oneinstack.tar.gz

不包含源码,建议仅国外主机下载(国外线路(Linode Fremont,10M/s),不包含源码。)

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这样执行 (正式开始安装操作)

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

install_oneinstack

特别提醒一下,第一项选项——更改端口号那里不建议选择默认端口,请在10000至65535端口间任意选择一个,给喜欢扫描爆破别人服务器SSH端口的无聊人士制造些麻烦。

我们后期采用的程序是在PHP环境下,所以官方建议采用LNMP模式(此模式是针对服务器内存较小的用户),但我个人建议采用LNAMP模式(方便后期程序、主题和插件的使用,大多数在Apache下使用效果较好,但为了提高服务器运行负载,我们还使用Nginx。)

Nginx Server 中的第一项选项Nginx是官方原版Nginx,第二项选项Tengine是淘宝网开发的淘宝网定制版Nginx,第三项选项OpenResty是阿里巴巴前员工,现Cloudflare员工章亦春开发的一个基于 Nginx 与 Lua 的可以处理一万以上并发请求的极端高性能 Web 平台,这个平台出现时间较短,不过发展很快,可以一试。我个人比较喜欢用第一项和第三项选项。

Apache Server 中的两个选项我个人比较喜欢用较为稳定、版本号较低的第二项选项,版本号较高的第一项选项尝试一下也未必不可。

Tomcat Server 我一般不选择,因为我不用Java语言编写的程序。使用Java程序的用户可根据程序需要、稳定性、版本特性自行考虑选择。

现在到了选择安装数据库的时候了。第一至第九项中的都属于 MySQL 数据库,只不过 MariaDB 和 Percona 是其他开发者开发出来的 MySQL 分支,有着各自不同的特性。如果不确定程序是否能够使用这两个 MySQL 分支,请根据需要选择官方原版 MySQL 版本,个人建议使用较新版本。但我一般也使用 MariaDB 和 Percona 中的较新版本。然后设置一个较为复杂的数据库密码,建议包含英文大写和小写、阿拉伯数字、特殊符号,并且在12位以上。

接下来到了安装 PHP 的步骤了。个人不建议安装最新版本的性能最好的 PHP 7 ,而是安装第二新的 PHP-5.6 版本。安装最新版本的 PHP 可能会安装失败,并且更重要的是很多 PHP 程序不支持在 PHP 7 版本下运行使用。当然具体情况,针对分析,再针对选择 PHP 版本,PHP 7 也不是一定不能使用。

然后到了安装 PHP 代码缓存组件的步骤了。两个组件各有特点,在我看来,安装步骤两个组件最大的不同在于,前者不需要设置密码,而后者为了安全起见,需要设置一个密码。

现在到了安装 PHP 加解密组件的步骤。我一般会安装这个组件,因为现在有不少 PHP 程序、主题、插件等的代码进行了加密,不安装无法正常运行使用。

接着安装 PHP 图片处理模块。两个模块随意选择安装一个,差别不是很大。

接下来的PureFtpd、phpMyAdmin、Redis、Memcached按照官方指导选择安装即可。

接着到了安装内存管理的步骤了。两个选项之间差异不是很大,可以自由选择。当然也可以自己先查询相关资料文献以后,再决定安装两个中的一个。

最后一个选项是HHVM,它是由Facebook 开发的,它的作用类似于 PHP ,在安装 PHP 以后可以不选择安装 HHVM 。我一般是不安装 HHVM 的,因为它支持的 PHP 程序比较少。

所有选项都选择完毕后,接下来代码会自动安装,并根据服务器具体配置自动进行参数优化。具体安装时间在半个小时到两个小时之间,安装时间的差异跟服务器具体情况有关。

这段时间是一行行代码翻飞的时间,大家自行感受。

install-details

正常安装完成以后,会给出一些常用服务的配置信息。大家记得把它记录下来。还有上面的端口号,数据库用户名和密码,Xcache 组件的密码等记录下来,我个人建议用一个专用安全U盘(这种情况下电脑不要浏览一些非法网站,并且要定期杀毒打补丁做好安全工作。),极端一点就用纸笔记录并保存在个人私密位置。

在最后,系统会询问是否重启系统,输入 y 确认后,电脑会和服务器断开连接。此时我们关闭 Xshell 5,在IDC服务商后台重启一下系统。到现在,个人网站的基础服务配置就基本完成,只有一些零星收尾工作没做了。

剩下来的一些配置工作,我将会在稍后推出的文章中进行介绍,请大家耐心等待。

接下来的文章会介绍大家比较关心的域名备案问题,虽然我服务器在国外,不用考虑备案问题,但考虑到国内特殊情况,我还是会查阅各省备案管理部门的具体细则,为大家写一篇通俗易懂的域名备案指南。

 

请老王喝个茶--->IMG_3777-230x300

6 + 2 =

回到顶部