My-Blog搭建过程:如何让一个网站从零到可以上线访问
文章简述
5月13号的时候,上线了自己的个人博客网站:http://blog.hanshuai.xin
,随后在平台上发布了一篇关于My-Blog的介绍博客《Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦》,有几位朋友在浏览网站之后也有私信问过我,个人网站该怎么搭建和上线,当时就有想过会写一篇文章来介绍自己的网站是如何上线的,解答一下几位朋友的疑惑。
但是由于操作过程中可能选择的平台或者方案的差异不可能符合每个人的要求,这个问题就看每个人的个人选择了,我就不在文章中啰嗦了,文章中只是我选择的方案,如果对你有帮助的话那是最好不过了,如果和你所设想的有差异的话,你就再看看其他的教程吧,本文完全是根据My-Blog上线过程来写的。
上线步骤
My-Blog的开发过程就不算在内了,关于上线主要有以下几个步骤:
- 购买云服务器主机
- 购买域名
- ICP备案
- 系统安装及环境配置
- My-Blog安装
- 域名解析及端口映射
购买云服务器主机
目前,云计算近年以每年32%的增长率飞速发展,市场上也是百家争鸣(其实还是那几个大佬),阿里云、腾讯云、网易云....基本都可以提供一整套完善的解决方案,网易进入云计算市场的时间很晚,用户量及规模也远不如阿里云和腾讯云,针对熟悉度而言,本人所接触到的云产品都是阿里云的,因此这次的服务器主机选择的也是阿里云的ECS。
在阿里云购买其云产品之前,首先你要有一个阿里云的账号,阿里云官方网站:https://www.aliyun.com/
,可以到这里先注册一个账号,然后进入管理控制台,大致是这么一个样子:
左边的导航栏中有云服务器ECS选项,进入这个界面:
这里就是ECS的管理界面,如果还没有购买的话,点击页面中的购物车图案即可进入ECS的购买页面:
只截了部分页面,在此购买界面,可以选择服务器的区域、CPU、带宽等配置,根据个人需求进行选择即可,感觉这种个人网站访问量应该也不会很大,因此我是选择购买了一个较低配置的云服务器,确认好配置、设置完服务器的登陆密码之后,点击右下方的立即购买
按钮付款就行了,付款完成后就可以在你的ECS控制台看到你的服务器了。
购买域名
如果你没有自己的域名的话,也可以通过阿里云来购买,同样是在控制台的左侧导航栏中:
点击进入域名管理界面:
点击域名注册,进入域名的查询和购买界面:
确认好你想用的域名没有被注册之后,点击进入购买页面付款即可,有些域名其实还是很便宜的,一顿饭钱不到的样子,购买完域名之后建议去实名认证。
ICP备案
需要提醒大家的是,如果你买了阿里云的服务器,并且想要通过域名访问,那域名是必须要备案的,总结一句:必须先将域名备案,才能通过域名访问阿里云的服务器。
一提到备案,可能你会觉得备案这个事情很麻烦,各种流程啊,手续啊。其实没这么麻烦,步骤其实并不多,只是做一下实名认证以及一些资料的填写,还有一个事情就是办理拍照,阿里云也会免费给你邮寄一块背景幕布,你只需要在家以那块幕布为背景拍一张半身照上传就好,所以不管是个人网站的备案,还是企业网站的备案,都只是时间上的问题,一般备案审核需要二十天左右,我记得当时我在做ICP备案的时候,阿里云那边的客服是一直跟着进度的,有问题也会及时打电话过来确认,所以过程中并没有碰到特别大的阻力,等待一段时间后很顺利的通过了。
在右上方有一个备案栏:
点击即可进入阿里云的备案管理界面:
步骤在图里也做了标注,通过阿里云进行备案的话,先申请一个阿里云的备案服务号,通过后进入备案专区:
先看一下备案详细流程:https://help.aliyun.com/knowledge_detail/36895.html
然后是本页面下方的注意事项:
大致了解了流程后点击开始备案即可,接着就是按照要求填写资料然后耐心等待。
下面是备案完成后的页面,当时备案的时候没有截图,备案过程的图片就没了,可参考阿里云的教程。
系统安装及环境配置
ECS中安装的是centos系统,当然也有其他服务器操作系统,完全按照个人习惯去选择就好了。
接着是一些常用的工具需要安装:
- JRE(1.8)/JDK(1.8)
- MySql
- Nginx
- Maven
- git
- Docker
- docker-compose
- ftp服务
对于以上安装软件,并不是每个都必须要装,我是使用docker-compose启动My-Blog,因此只安装了jre、docker、docker-compose,但是如果是使用非docker方式启动的话,则需要安装MySQL Server;如果你还想要在服务器更新代码并且打包的话,git和maven两个软件也是必须要装的了;如果你想从本地打包并且将jar包或其他文件传到服务器上,那么ftp服务是一定要打开的。上面这些工具是针对My-Blog的,如果是其他web项目的话,可能tomcat或者jetty也是需要安装的。
**各个工具的安装教程我就不写了O(∩_∩)O。**
My-Blog安装
查看My-Blog的wiki文档,里面详细介绍了安装过程,地址:https://github.com/ZHENFENG13/My-Blog/wiki
域名解析及端口映射
域名解析
还是进入域名管理界面:
在你想要解析的域名那栏点击解析,然后进入域名解析界面:
点击添加解析 ,然后添加一条A类型的配置即可,比如My-Blog的网站地址是blog.hanshuai.xin,主机记录填写blog即可,然后是记录值,填写你服务器的IP地址。
端口映射
想要访问到你部署的web资源,还需要做一步操作,比如My-Blog暴露的端口是28080,那么你访问http://blog.hanshuai.xin
是访问不到的,因为http服务的端口是80,所以,要么你把暴露的端口改为80,但是这种改法不灵活,如果你要部署多个网站就完蛋啦,因此最好是安装一个反向代理软件监听80端口,再将请求转发到28080端口,如nginx,或者haproxy。
总结
以上步骤做完之后就完成了网站搭建及上线流程,可以在公网上访问网站了,其实最主要的还是前三步: 购买云服务器主机、购买域名、ICP备案,这三个步骤做完之后,你的网站就有了“合法身份”,后面的部署工作即使在日常开发中也是经常做的事情,因此也没有花太大篇幅去讲,如果文中有错误请提出,我会尽快纠正。
本文是根据自己的个人网站My-Blog来写的,文中所提到的也都是一个月以来的My-Blog上线经历,做一个简单的记录,同时也为了解答当时私信我的几位朋友的问题,希望你们看完之后能有一个简单的答案了。
My-Blog搭建过程:如何让一个网站从零到可以上线访问的更多相关文章
- SSM整合搭建过程中的一个怪异问题
好久没有搭建框架了,昨天开始试图搭建一个SSM框架,各种配置文件搭建成功,服务器也启动正确,但是在运行过程中,发现总是不能获取JDBC,不能够创建连接池工厂,报错如下:网页报500错误码 SEVERE ...
- 从零开始用 Flask 搭建一个网站(二)
从零开始用 Flask 搭建一个网站(一) 介绍了如何搭建 Python 环境,以及 Flask 应用基本项目结构.我们要搭建的网站是管理第三方集成的控制台,类似于 Slack. 本篇主要讲解数据如何 ...
- 输入一个网站地址到网站展现的过程以及APR协议(鬼知道中间经历了什么)
以前只知道输入一个网站,然后看着返回琳琅满目的内容,其实中间经历的过程和步骤太多了.为了满足好奇心以及学习需要,特查阅了资料将其记录下来以备后续自己复习. 从我在地址栏输入www.zhihu.com ...
- 3分钟搭建一个网站?腾讯云Serverless开发体验
作为一个开发者,应该都能理解一个网站从开发到上线,要经过很多繁琐的步骤. 编写代码,部署应用,部署数据库,申请域名,申请SSL证书,域名备案,到最终上线起码要几天时间. 作为一个不精通代码的业务玩家, ...
- Access应用笔记<四>-一个完整的自动化报表搭建过程
距离之前的三篇日志已经很久啦,今天终于完成了一个比较完整的自动化报表搭建过程 基于公司数据保密原则,样板就不放到网上来了,简单说一下背景: 这次access实现的功能包括: 1)为部门整体搭建了一个员 ...
- [译]简单得不得了的教程-一步一步用 NODE.JS, EXPRESS, JADE, MONGODB 搭建一个网站
原文: http://cwbuecheler.com/web/tutorials/2013/node-express-mongo/ 原文的源代码在此 太多的教程教你些一个Hello, World!了, ...
- 从零开始用 Flask 搭建一个网站(一)
前言 笔者之前未接触过 Python,只是略懂一点前端,所以说从零开始也相差无几吧.Flask 是一个轻量级的基于 Python 的框架,但是扩展性非常良好(Github 上 22000 多个 sta ...
- 从零开始用 Flask 搭建一个网站(三)
从零开始用 Flask 搭建一个网站(二) 介绍了有关于数据库的运用,接下来我们在完善一下数据在前端以及前端到后端之间的交互.本节涉及到前端,因此也会讲解一下 jinja2 模板.jQuery.aja ...
- 从零开始用 Flask 搭建一个网站(四)
前言 从零开始用 Flask 搭建一个网站(三) 介绍了网页前端与后端.前端与前端之间数据的交流.本节主要介绍一下如何应用 Flask-OAuthlib, 使用 Flask-OAuthlib 就可以轻 ...
随机推荐
- 老李推荐:第6章6节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-命令队列
老李推荐:第6章6节<MonkeyRunner源码剖析>Monkey原理分析-事件源-事件源概览-命令队列 事件源在获得字串命令并把它翻译成对应的MonkeyEvent事件后,会把这些 ...
- 老李分享:《Linux Shell脚本攻略》 要点(七)
老李分享:<Linux Shell脚本攻略> 要点(七) 1.显示给定文件夹下的文件的磁盘适用情况 [root@localhost program_test]# du -a -h ./ ...
- 1147: 零起点学算法54——Fibonacc
1147: 零起点学算法54--Fibonacc Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 20 ...
- javascript实现99乘法表
for(var i=1; i<=9; i++) { for(var j=1; j<=i;j++) { document.write(i+"x"+i+"=&qu ...
- AM335X开发板学习系列——环境搭建(vbox虚拟机ubuntu14.04下minicom的安装和配置)
这个系列是我学习AM335X的总结. 1. ubuntu虚拟机的USB设备,选择启用usbserial 2. ubuntu虚拟机的网络,采用桥接模式,以保证开发板和ubuntu虚拟机能互相ping通 ...
- Java 判断回文字符串有多少和其中的最大字符串
一.简介代码功能 该代码的功能可以实现对任意的一段字符串进行判断是否有回文,回文有哪些,和其中的最大回文. 二.代码部分 1.全局变量 static String hws = "" ...
- CSS样式表初学,比C#和JS简单
今天咱们一起来看下CSS样式表的基本基础 经常看博客或者喜欢钻研代码这一类的人对CSS可能有所耳闻,但具体的可能不是很清楚 那什么是CSS呢?与HTML又有什么区别呢?今天咱们就来说道下这个CSS C ...
- 统计学习方法:罗杰斯特回归及Tensorflow入门
作者:桂. 时间:2017-04-21 21:11:23 链接:http://www.cnblogs.com/xingshansi/p/6743780.html 前言 看到最近大家都在用Tensor ...
- java spring mvc 全注解
本人苦逼学生一枚,马上就要毕业,面临找工作,实在是不想离开学校.在老师的教导下学习了spring mvc ,配置文件实在繁琐,因此网上百度学习了spring mvc 全注解方式完成spring的装配工 ...
- IDEA第四章----配置模板
idea提供很多模板从而提高编写代码的效率,比如说一些经常用的代码及生成文件时的模板. 第一节:实时代码模板 顾名思义,实时代码模板是指在编写程序中输入一段固定的字母可以快速生成自己想要的代码,例如: ...