文档章节

【腾讯云的1001种玩法】从0到1搭建自己的互联网领地

偶素浅小浅
 偶素浅小浅
发布于 2017/03/01 21:15
字数 1977
阅读 10
收藏 0

版权声明:本文由宋秉金  原创文章,转载请注明出处: 
文章原文链接:https://www.qcloud.com/community/article/317889001488165500

来源:腾云阁 https://www.qcloud.com/community

 

项目简介

 

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

项目架构

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

战前准备

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

战斗开始

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

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

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

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

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 文件夹。

战斗胜利

此时已经完成了从无到有并且安全配置了自己的自留地,剩下的就留给大家自己折腾了,比如书写个人心得、学习笔记等等,大家还可以在 GitHub 上获取 Kratos 主题为自己的博客增色。

写在最后

如果您在尝试过程中对文章中有任何不懂的问题可以在文章的底部留言,我会一一回复大家,Just for fun!

本文转载自:

偶素浅小浅
粉丝 8
博文 202
码字总数 0
作品 0
信阳
私信 提问
【腾讯云的1001种玩法】微信个人订阅号后台server搭建入门教程

搭建公众号后台server 以腾讯云自带的ubuntu14.04为例: 1.安装nginx+php7+mysql5,以及需要的扩展; 由于ubuntu14.04默认软件库为php5,需要加入第三方库,来apt-get方式安装PHP7; 当然,也...

2017/12/18
0
0
征文 | 你与 Apple Watch, iPad Mini 只差一篇技术文章的距离

腾讯云技术社区「腾云阁」上线以来得到了广大程序员们的支持,为了吸引更多的开发者入驻,现再次举办「腾讯云的1001种玩法」征文活动。只要是与「腾讯云」相关的干货原创内容,都可以参加这次...

腾讯云开发者社区
2017/03/16
11
0
【第1期】腾讯云的1001种玩法征集,Ipad mini和Kindle 等你拿!(文章评审中)

版权声明:本文由阁主的小跟班 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/695994001482226944 来源:腾云阁 https://www.qcloud.com/community 作...

偶素浅小浅
2016/12/22
1
0
腾讯IVWEB团队:那些年我们踩过的坑

腾讯云技术社区-简书主页持续为大家呈现云计算技术文章,欢迎大家关注! 作者:梁伟盛 那些年我们踩过的坑 事件背景 有一天leader给程序员cover分配了一个需求,cover一看,需求很简单嘛,就...

2017/12/18
0
0
滴滴再融资20亿美元 腾讯云助力商业成功

20亿,滴滴快的宣布已经完成20亿美元的融资,这一轮从6月22日开始,计划融资15亿美元的方案,仅用时两周,就融资20亿美金。 3年,2012年才成立的滴滴,现在已覆盖360个城市1.5亿用户。这一轮...

现在的曾经
2015/07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
5
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
8
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0
一、Django基础

一、web框架分类和wsgiref模块使用介绍 web框架的本质 socket服务端 与 浏览器的通信 socket服务端功能划分: 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn... 根据用户访问...

ZeroBit
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部