| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 肝了一晚帮她搭建完个人网站——利用Docker在单节点上实现内外网隔离网站部署(Nginx、Wordpress、MySQL) -> 正文阅读 |
|
[系统运维]肝了一晚帮她搭建完个人网站——利用Docker在单节点上实现内外网隔离网站部署(Nginx、Wordpress、MySQL) |
目录1、前言??同事小姐姐琦琦毕业后就应聘来到我们公司做项目助理,跟我分在一个项目组。琦琦自身先天条件就很好,长得耐看,身高1.65,偏瘦,整体算中等偏上的水平吧。她平时喜欢拍一些写真,小视频之类的,属于一个摄影控吧,经常背一部佳能“无敌兔”(应该是Make IIII了)上班,看得出家里条件还是不错的。有时候她也叫我或其她同事帮她拍照,午餐、下午茶、晚餐、清吧等等各种时间地点,几乎到处都拍,有时候她还嘲笑我拍照水平妥妥的前男友那种(意思就是拍的毫无生气并且很丑),当然我经常故作生气扬言再也不帮她拍了,每次她也就是看着我咯咯的笑。其实我知道,我本来就是干IT的,拍照真的不是专业,这00后小妮子又搞个这种专业单反难为我,真拍的好了我不是成了天才了? ??其实她本身性格属于比较保守那种,不太爱说话也不太爱热闹,她还总是跟我讲要一个人去哪哪旅游。我接触过的00后中她是比较文静内敛的,这也让我很意外。因为我俩在一个项目组的缘故,接触多,就经常聊天,彼此之间也就有了一些信任,慢慢的变的无话不说。我也才渐渐发现其实她还是挺健谈的,典型的慢热型。 ??直到最近有一天,她突然拿着相机跑过来找我说:“老细(广东话老板的意思,当然我不是老板,她总是喜欢这么开玩笑叫我),有没有可能照片或视频半公开,但又不上传在那些什么网站或平台上,我也不想让信息暴露太多,然后过段时间我就删了再换一批?而且只给我中意的几个闺蜜看看。” ??我当时一愣,这是什么要求?于是我跟她说:“网上那些平台不是蛮好的?比如古老的QQ空间,你可以设置只给谁看,还有现在最火的那个某音还有b站甚至朋友圈,不都挺好的?再不济搞个群,发群里啊?!” ??她面带微笑的又跟我说:“老细,你真的是大叔奥特曼(out的意思)哇,那些信息根本不安全,被盗了麻烦大了,你怎么知道群就不会被监控?还有你怎么知道删除就是真的删除啦?还有可能会有些和你一样奇奇怪怪的大叔给我留言,那多不好?。。。。。(布拉布拉一大堆,反正就是不想太公开,想完全自己控制,可以看出小小年纪,控制欲还蛮强的!)”琦琦说着还冲我眨眨眼邪魅的对着我坏笑了一下。 ??这个表情让我也有点毛了,心说,你这眼神几个意思?哥不是那样的人,我成天都忙到飞起,没时间也没心思去撩那些小姐姐好吧,帮你拍照片也纯粹就是忙里偷闲娱乐休息一下,话说真正资深IT宅喜欢的是二次元好吧?!(其实我真正喜欢的是三次元,嘿嘿) ??但细细想来,琦琦说的也不无道理,她之所以问我也是知道我是资深IT宅,人比较老实可靠,她尤其相信我的技术,因为在项目组里她就认为我就是神一样的存在,跟我在一个项目组,很多事情在我的带领下几乎都是势如破竹,摧枯拉朽,根本不会说遇到大的技术难题。当然这只是她这样傻傻的认为的,其实什么项目会木有难题?当然私下里我都是靠CSDN里的大佬们的文章撑起面子的,大家都懂的,在这里也一并感谢CSDN网站以及各位辛勤付出的博客大佬们! ??思考一下之后,我故作神秘的对琦琦说:“你这个奇怪的要求,看来只有一个方法啦!” ??“啥方法?” ??接着我左嘴角上扬45度接着说:“那看你愿不愿意付出点啥咯?”顺势我双手交叉举起右手托起我的下巴,并故意转换成不怀好意的眼神上下打量着她。 ??琦琦一下瞪大眼睛,双手迅速抱住胸口往后退了一步:“你。。。你。。。要干嘛?” ??“哈哈哈。。。。。” ??看她被吓到的样子,终于报了刚才她那鄙夷我得眼神的一箭之仇,于是我也就不再故意逗她玩了,我说:“付出点money咯!你想啥呢,哥不是那样人!”(真是口乃心之门户啊,刚才就这样想的,现在跟她说出来了,瞬间舒服多了)。 ??“什么money?要做什么?人家很穷的啦!”我真心怀疑琦琦是金牛座的,一说钱就这么敏感,唉!(金牛座的宝宝们请见谅哈。) ??“当然是上云租个自己的服务器架个私人网站啦!” ??“对哦!但那会不会很贵?再说那个好像很复杂得啦,我搞不懂得啦!” ??“不用担心,一般各种云上经常做活动的啦,会很便宜啦,用Docker可以很快搭个你自己的网站,然后发帖发照片,写你自己的心情,只分享给你自己的意中人,看完删除,不想搞了就把整个服务器硬盘都格式化了,即隐秘又安全!如果再加上些C站(CSDN)各种大佬的神技,照片基本上都会很安全,当然我可以免费帮你架好网站咯!” ??“什么意中人?你再乱说打死你!” ??唉,这就是小姐姐,你长篇大论慷慨激昂的讲了一番,她其实最先关注的一定是她最敏感的内容。 ??“好!好!好!闺蜜!闺蜜!行了吧?!” ??“你刚刚说的云,是不是腾讯云?” ??看到了吧?这就是小姐姐,各种脑回路切换和情绪切换都自由安排。 ??“当然也不是说只有腾讯云啦,看你非专业人士还能知道腾讯云,很优秀啦,其实其它还有好多的,什么阿里云、华为云,国外的有微软的Azure、还有亚马逊的AWS等等都很不错的。”当然,既然她感兴趣这个话题了,我必然要卖弄下知识咯! ??“哦,我只知道这个啦,你说说具体要怎么弄啦?”然后琦琦就一脸小迷妹的表情,期待的看着我。我心中暗喜,其实这就是我最喜欢她看我的表情,让我这个IT宅很有成就感。 ??“嗯,嗯,总的说来,大体是这样。。。。。。” 2、注册??既然小姐姐目前只知道腾讯云,我也知道她的微信号,那就上腾讯云帮她办事咯。 ??购买任何云的产品都需要先注册账号并实名认证,毕竟这是公共资源,实名肯定是必须的,可以去这里注册或关联:腾讯云(partner.cloud.tencent.com) ??或者直接扫描二维码: ??注册成功后,需要等腾讯云后台审核,审核通过后就可以挑选需要的虚拟机服务器了。 ??在腾讯云上有很多很多产品,几乎囊括了所有类型的服务器,但对于琦琦这样的不是很懂技术的个人玩家来说,选中合适的产品和服务还是蛮有挑战的,所以我就只好亲自操刀为琦琦挑选了。 ??接着打开:腾讯云产品总览 (tencent.com) ??再按图中指示找到云服务器: 云服务器CVM_云主机_云计算服务器_弹性云服务器- 腾讯云 (tencent.com)
??为了后续维护的方便,果断选择了ubuntu操作系统。付费完成后,就可以在控制台中看到这台服务器了: 3、重置服务器实例密码??有了服务器实例之后,一般最好重置下密码,按下图指示操作皆可: ??接着就是用微信扫描认证一下: ??然后按指示操作重置密码即可: 4、配置安全规则??根据琦琦的需要,对于自己租用的服务器就需要设置严格的安全策略。在这里推进使用云服务控制台上的安全组策略来控制,而不是靠服务器上操作系统自带的防火墙。这主要是因为云服务提供商的安全组一般是独立于实例的,并且安全性更高,同时又易操作,不占用服务器实例的资源。最终要提醒大家的是,互联网上安全无小事,互联网上的攻击密度频率绝对超乎你的想象,所以不能麻痹大意。尤其是对于琦琦来说,照片视频被盗的后果可不堪设想,至少我估计她会砍死我的。。。。。 ??安全组的操作如下图:
??记住下面这个安全组的名称,后面我们再具体修改里面详细的配置:
??然后我们看到,默认的端口以及ICMP都放行了,接着就把默认的ALL规则全部删除掉(删除操作一定要做,不然其它的操作都白做了): ??点击检测后,就可以确认这些端口是开放的。需要注意的是,因为这里使用的是Linux系统,所以3389端口也是可以删掉的,大家可以自行编辑删除。还有20和21端口也是可以删掉的,当需要上传文件时可以使用scp命令,这个命令在Windows和Linux中都有而且用法一样,基本可以替代传统的Ftp方式了。 5、登录服务器??ok,终于可以登录我们的服务器看一下具体什么情况了,这里可以云控制台登录做下试验: 6、更新系统??对于任何服务器资源来说,我们登录干的第一件事都是Update!当然专业管理员是上去就看日志先!但我们这里是新服务器,就先更新系统吧。
7、安装Docker??接着就是在我们的服务器上安装Docker。这里大家可能很奇怪,就一台服务器,装啥Docker呢?其实这主要是为了管理和使用方便,还有安全性。因为整体上我们最终要使用Wordpress来建站,而它呢需要数据库的支持,如果我们直接在服务器上安装了WordPress还有数据库的话,首先数据库端口使用的就是服务器Host的端口,这样外面是看得见的,至少局域网是看的见的,所以这是安全隐患。虽然公网上我们已经用云控制台的安全组做了安全防护,但是我们没法防止局域网上的攻击,正所谓家贼难防,所以不暴露端口是最好的选择。其次,我们还考虑安装一个Nginx代理做个隔离,所以使用Docker及Docker虚拟网络是最好的选择。 ??那么首先就让我们来安装Docker: a、卸载之前的安装
b、安装依赖包
d、验证您现在是否拥有带有指纹的密钥:
h、启动
8、创建Docker子网络??接着就是使用Docker来搭建整个网站了。按照刚才说的,我们需要首先创建一个Docker的network虚拟子网:
9、创建子网内的MySQL实例??接着我们在Docker虚拟子网内创建一个MySQL容器实例,注意没有使用-p命令行参数,这样端口就没有暴露,就被隐藏在了Docker虚拟子网中。
使用下面的命令,打开MySQL客户端:
??更新一下root账号的密码和安全规则,允许用root远程登录,这是MySQL新版容器镜像中默认安全规则关闭掉的,所以我们要自行登录打开:
??接着创建WordPress的数据库:
10、创建子网内的WordPress实例??接下来我们就开始搭建WordPress容器实例,使用下面的命令,注意我们将WordPress容器实例也放在了Docker虚拟子网wpnt中,同样不要-p参数来映射端口:
11、创建Nginx反向代理实例最后我们需要搭建一个Nginx反向代理服务器实例,先在Host的/var目录下创建一个叫wnp的子文件夹:
接着将下面的内容全部粘贴进去,并保存退出:
然后创建一个nginx.conf文件:
将下面的所有内容都复制进文件中,这就是我们nginx容器实例的配置文件:
??接着用下面的命令创建nginx反向代理服务器,注意一样放在Docker虚拟子网wpnt中,同时用-p命令将80端口映射到Host的80端口上,这样整个WordPress网站应用,就只有这个80端口是从外网看的到的,其它的端口都在Docker虚拟子网中,这大大的提高了安全性。同时我们将刚才创建的目录通过-v参数挂进nginx容器实例中。
12、查看状态??一切就绪后,我们查看下所有容器的运行状态:
??注意上图中端口映射只有nginx的80端口是映射到Host上了,其它的端口实际隐藏在Docker虚拟子网wpnt中。 13、配置WordPress??接下来就是通过服务器IP来访问我们刚搭建好的WordPress网站了。第一次登录会出现设置的过程,请按照下面的图片进行操作即可,详细的就不多说了,大家可以继续在CSDN上搜索,有很多大神都详细讲解了WordPress的配置和使用方法,我就不再班门弄斧了。 14、发布站点??接着就是使用WordPress搭起琦琦的小窝了,示例操作如下(其它的详细的操作和使用大家继续搜索CSDN): 15、访问站点??OK,至此大功告成!剩下的就是细细的安装模板插件把网站设置的漂亮一些了,为了防止琦琦揍我,所以最终配置成了什么样我就不放图片了,请大家见谅! 16、Docker命令行日常更新??这里为了方便日常维护,我把基于docker的容器实例更新的语句放在这里,方便各位使用,也是为自己做个备忘。当然还有查看日志,我就不放了,因为我不太爱看日志,都是定期直接重建容器实例。
18、总结??本文完整的介绍了如何从腾讯云上以“粉碎性骨折”的价格购置一台服务器,并利用Docker容器,在单点服务器上架设个人网站的全部过程和方法。最终琦琦用的很开心,为此特意请我吃了一顿火锅,并且我们愉快的拍了好多照片作为第一批照片上传到了她的网站上。当然至此不是结束,接下来我还要为琦琦购买域名,做备案并申请证书,做HTTPS访问,当然这些还需要在腾讯云平台上完成。只是过程太漫长,我就不多介绍了。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 23:33:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |