开篇
大部分开发同学在学习完技术之后,都会抽时间捣鼓一些小应用,比如搭建一个个人博客网站之类的。但是这个过程中我们也会遇到一些困惑的点,比如开发网站需要用到哪些技术?开发完以后如何部署到服务器?又如何通过域名访问我们的网站……
文章以自己的一个个人兴趣分享网站为示例,从开发技术选型、租赁云主机、采购域名(及域名备案)、网站部署实施,整个网站开发到部署的全流程做一个分享,希望可以帮助到有相关需求的同学。
网站示例
七七号是我18年刚毕业的那会抽周末时间开发的一个个人兴趣分享网站,做的也比较简单,目的是为了记录一些对自己比较重要的事情和兴趣分享,因为我相信等有一天我来了,剩下最多的应该只有回忆,所以七七号是一个记录我回忆的地方。
image.png访问方式
部分功能效果图展示
网站首页 image.png 趣问答.png 技术博客.png 全站导航.png 旅行精选.png 图片记忆.png 民谣分享.png 随心记.png 七七精选.png 精选商品.png 数据监控大盘.png 管理后台.png我的个人分享小站开发全流程分为以下几个阶段(下面会逐步展开分享):
- 网站技术选型
- 网站设计与编码开发
- 域名及云主机采购
- 网站部署、域名解析配置、网站备案
- 网站运维
网站技术选型
前端开发技术要求
虽然自己是从事Java后端研发的,但是在大学那会刚接触软件开发的时候我是从前端入手的,所以关于前端我能介绍的其实并不是很多,但是我认为对于前端最基本的HTML、CSS和JS/Jquery只要你能掌握,那前端开发不成问题的。如果你对这几个掌握的不熟练,那可以尝试接触几个相对简单的前端框架:BootStrap、LayUI.js、Vue.js等,他们可以帮你省去很多麻烦的样式的编写。如果你实在是不想写前端的东西,那就只好到网上找一些现成的模板,这种很多的,而且基本也都可以免费下载到。
那我的这个网址其实前端方面我自己是用的最原生的HTML + CSS + Jquery写的,我不喜欢用框架,并不是我不看好前框那些框架,而是真的懒得花时间去学习一个前端的框架,毕竟自己不是专业的前端开发;另外一个原因是框架必然有很多限制,所以我宁愿自己去一点点调样式也不想用他们。当然如果你要有一些看起来牛逼点的效果,是可以整合几个框架进去的。这里推荐一个框架Layer.js ,Layui.js。这两个框架我也是前一段时间偶然间发现的,看一两个小时就可以上手了,RelaxHeart网就多出用到了它。
另外一个Ajax一定要熟悉,用法不多说。因为前段后的交互几乎都得依赖它来实现。其他也没什么了。
后端服务技术要求
系统架构:个人网站单机系统应该可以满足你的要求吧。
后端:常用的技术从大的方向来说,现在主流的应该就这几个吧:Java、PHP、.NET吧,肯定需要掌握其中一种吧。已Java为例子一个简单个人网站开发应该掌握J2EE的基本知识、Spring、Spring MVC、一个ORM框架可以减少你数据库操作的复杂度,这里建议MyBatis。
存储:MYSQL应该是最基本的了,动态网站肯定少不了一个关系型库的。
缓存:Redis 分布式缓存、EHCache本地缓存,热点数据使用缓存可以大大的提高应用性能。
网站上线需要准备工作
服务器资源采购
- 域名
比如:www.wangqi94.com , 直接百度域名购买有很多服务商,一般域名一年几十块钱甚至更便宜(特殊除外) - 云主机
网站开发打包好后要部署到远程云主机上(如果你不想租服务器,想用本机的话那公网访问一般都需要做内网穿透,会比较麻烦),推荐阿里云(https://www.aliyun.com/minisite/goods?userCode=ew2sqlcf)、百度云或腾讯云,一般分windows和linux操作系统,这个看你个人选择了,建议linux系统。 - 其他
这里需要根据个人需求,比如HTTPS认证、CDN、安全防御等等需求,一般服务商都会有,但是个人网站其实没必要搞这些,原因是有点贵。
这里以七七号预算来看的话,一年加起来差不多需要投入1000块的样子。当然如果想少花点钱可以想办法搞几个学生服务购买,一般会很便宜,可能一年100多预算就足够了。
环境搭建
还是以Java Web为例子:JDK、JRE、Tomcat、MySQL、Redis等安全及环境部署,具体的配置方式网站很多,而且人家都记录的很详细,可以去搜几篇看看。
网站部署
网站打包 》 扔到tomcat下 》启动服务 》配置域名解析 》备案 》公网访问
上线后个人常用的SEO方法
这方面我也只了解了一点点,一般对于个人来说,如果你的应用只是做自己使用,那SEO跟你就没关系了,只要有域名可以访问就行。但是如果你希望更多的人可以访问他们,可能还需要了解一些SEO知识。
记录的比较乱,对于一个想拥有一个自己的网站的程序员来说可能会遇到这些疑惑,这些也都是我曾经的疑惑。可能会开发,但是不懂得如何部署?也可能懂部署但是又不懂SEO。所以我只是把这个过程记录一下,希望可以对有疑惑的同学有一点点帮助。
网友评论