从0到1搭建本身的互联网领地

项目简介

经过使用腾讯云多种产品(CVM、CDN、CDB、COS、SSL证书)并配合使用知名 CMS 系统 WordPress,从无到有打造一个本身在互联网空间中的自留地。php

项目架构

拓扑结构
CDN(内容分发网络)、COS(对象存储)、CDB(云数据库)、SSL证书为非必选功能,下文演示环境中将分别讲解完整拓扑模式的配置以及最基础模式的配置(仅云服务器)。html

战前准备

  1. 拥有一个已经在腾讯云备案成功的域名。
  2. 开通一台 CVM 机器,而且将IP、帐号、密码记录在一个文档中。

战斗开始

教程所使用的机器为腾讯云公共镜像中的 CentOS 7.2 64位 版本镜像,而且购买了云硬盘来单独存储业务网站程序,搭建生产环境则使用了 OneinStack 的一键 LNMP(Linux + Nginx+ MySQL+ PHP) 工具。python

1.首先登陆咱们的云服务器,更新并添加依赖以及开发者工具linux

yum -y update && yum -y groupinstall "Development Tools"

2.挂载并使用云硬盘做为数据盘使用nginx

wget https://soft.vtrois.com/scripts/auto_fdisk.sh
chmod +x auto_fdisk.sh
./auto_fdisk.sh

注意:Step 3 中须要填入须要自动挂载的云硬盘,Step 5 中须要填入须要挂载的位置,由于 OneinStack 默认的数据位置为 /data 因此这里填入 /data 等待脚本执行完毕便可。数据库

3.下载并使用 OneinStack 的一键 LNMP 工具搭建生产服务器浏览器

yum -y install wget screen curl python
wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz
tar xzf oneinstack-full.tar.gz
cd oneinstack
screen -S oneinstack
./install.sh


说明:为了安全起见第一步中我把SSH默认的 22 端口修改成 53185 ,第二步中我选择只安装 Nginx 服务(这里选择的是 OpenResty 的编译版本),第三步中选择安装数据库版本(我这里选择的 MySQL5.6 的稳定版本,若是使用云数据库则不用选择安装数据库服务),第四步中选择安装 PHP 的版本(这里我选择的是最新的7.1版本),你们能够选择 WinSCP 工具来代替 FTP 工具,配置结束以后会有一个重启服务器的选项。缓存

4.新建并配置虚拟机安全


说明:使用 ./vhost.sh 命令运行新建虚拟机脚本,第一步选择是否启用 SSL 协议(若是不须要则输入 n),第二步填入已经备案好的域名,第三步选择是否强制跳转 https (若是第一步输入了 n 则此时不会出现这一步),第四步开启 wordpress 伪静态功能,等待配置完成便可。服务器

5.新建数据库(若是使用云数据库将不用进行此步)

使用搭建 LNMP 环境时选择安装 phpMyAdmin 工具的 root 帐号登陆,登陆地址为外网IP/phpMyAdmin(例子:123.206.66.153/phpMyAdmin),新建一个名为 blog 的数据库,而后再新建一个普通用户 vtrois 而且把 blog 库的权限赋给他,这里也可使用 SQL 命令操做(这一部也是为了让你的数据能更安全,固然最安全的方案仍是使用站库分离的方法以及读写分离的方法,站库分离将使用到云数据库)。

GRANT ALL PRIVILEGES ON `blog`.* TO 'vtrois'@'%' WITH GRANT OPTION;

6.配置并导入使用SSL证书(非必须)


在控制台的云产品分类中找到 SSL证书管理 ,点击申请证书便可申请一张免费一年的 TrustAsia DV SSL CA - G5 证书,身份验证选择自助DNS验证,根据给出的提示绑定 CNAME 记录并等待后台自动验证,申请成功会获得一套证书文件,这里咱们选择 nginx 环境使用的证书,而且把获得的证书更名为 域名.crt 和 域名.key 的格式,例如:(qcloud.vtrois.com.crt 和 qcloud.vtrois.com.key),而后再将更名后的证书上传到服务器 /usr/local/openresty/nginx/conf/ssl 中并替换原有文件,最后在终端执行重启 Nginx 服务命令便可。

service nginx restart

7.配置使用云数据库(非必须)

云数据库会免费为你们提供一个从库,从而达到主从同步的不间断服务,而且支持 3 天内任意时间段的回档以及 5 天内的冷备数据下载,高配版还能够开通只读实例从而实现读写分离,简直是亲民的良心产品,省去了很多维护时间。一样在购买数据库实例以后初始化建立默认 root 帐号的密码,进入控制台建议你们跟自建数据库同样新建一个普通帐号来管理单独的数据库文件(这个过程在云数据库控制台均可以按照产品说明文档完成)。


注意:云服务器要和云数据库选到同一个地域同一可用区下,不然数据是不能互通的哦,可是目前广州一区与广州二区是能够互通的。

8.下载并安装 WordPress 程序

cd /data/wwwroot/qcloud.vtrois.com
wget http://wordpress.org/latest.tar.gz
tar xzvf latest*
cd wordpress*
sudo rsync -avz . /data/wwwroot/qcloud.vtrois.com
cd ..
rm -rf latest.tar.gz
rm -rf wordpress
sudo chown -R www /data/wwwroot
sudo chgrp -R www /data/wwwroot

在浏览器中打开站点 qcloud.vtrois.com 便可进入 WordPress 安装界面,第一步配置数据库信息,其中 Database Host(数据库主机) 为数据库地址,若是使用本地自建数据库则使用默认 localhost 便可,若是使用云数据库则填写数据库的内网ip点击提交便可。

在下一步中将配置站点信息,密码建议使用自动生成的密码,而后点击安装便可。

说明:第一个 cd 命令进入新建的域名目录(这里我用的是 qcloud.vtrois.com), chown 和 chgrp 命令为修改文件或目录所属的用户和组。

9.开启 CDN 内容分发功能(非必须)

因为咱们的站点搭建在一台服务器上,他的物理位置是固定的,好比我选购的是北京机房的机器,然而用户在南方深圳访问,那么在这个访问过程当中就会有必定的延迟,这时咱们就能够选择使用 CDN 服务来优化这个过程,同时也可使用 CDN 服务来抵抗源站被 DDoS 从而形成的网络瘫痪和服务不可用的问题。

说明:缓存配置可参考上图的配置设置,关于强力抵抗 DDoS 能够参考下图的配置设置(阀值的设置能够根据正常访问量调整),若是开启了 SSL 则须要在证书管理中添加证书并绑定到域名。

10.正确合理配置安全组,不给黑客留机会

说明:根据咱们以前配置的 SSH 端口 53185,以及 Nginx 的 80 和 443 端口来配置安全组,同时咱们在搭建 LNMP 环境时,系统默认新建了测试页面(在 /data/wwwroot/default 中的 index.html、ocp.php、phpinfo.php、tz.php)咱们须要删除掉,若是须要使用 phpMyAdmin 切记不要删除 default 中的 phpMyAdmin 文件夹。

 

战斗胜利

相关文章
相关标签/搜索