你应该也有过好的点子,你想做个高大上的网站来分享和传播自己,你甚至为之失眠。但你可能觉得没准备好,如果是这样,你不妨先动动手,做个简单的博客试试,注意是自己做一个,而不是安装一个wordpress。觉得简单是一回事,做出来是另一回事,不信动手试试。
1、选择你熟悉的框架
选择你最熟悉的PHP框架和前端框架,快速开发,不要拖延,拖延只会最后什么都没做。
2、想清楚要做什么(思路很重要)
要做什么主题,大概有哪些模块、哪些功能,是一开始要想清楚的。就以博客为例,网站基本信息、文章、文章分类、文章标签、评论这些都算是基本的功能,技术为导向算是一个主题。
3、数据库设计
做好数据库设计,考虑数据库查询的方便。比如在这里我将文章分成两张表存储,一张存储文章基本信息,另一张存储文章内容,这样我在获取文章列表时,就可以忽略内容表,而文章检索时,我可以只读文章内容表。
4、开始开发
开发的过程中,后台要封装常用类和方法,前端要做页面构建,其目标都是为了尽可能的重用,减少开发的工作量。
5、数据优化
开发完成后,你可能发现首页有太多数据重复查询的问题,为了减少数据库查询次数,可以考虑用缓存。我用memcache来缓存网站的基本信息,比如导航、分类、标签等。
6、安全问题
安全问题常常体现在js注入和sql注入方面,如果你的网站有评论等功能,需要了解下基本的js注入。如果有搜索,也会成为sql注入的入口,在这方面我还有待深入涉猎。
之所以意识到要注重这方面的问题,这里有个故事。我之前的同事兼领导就用js注入过我的评论,也用php referer刷过我的评论,然后我被动的折腾了3个多小时,印象深刻!
7、购买服务器和域名(备案很重要)
如果你想搭建一个网站练练手,新浪云、百度云或是github都可以;如果你想自己玩服务器,那么选择国外的vps应该靠谱点,毕竟国内服务器都要备案,很麻烦。不过这里我用了阿里云的服务器,域名则是在美橙互联买的,按最低的配置算,一年下来几百块钱,对于做程序员的你应该是件很轻松的事。在这里,cxycs域名没啥特殊含义,只是表示我是“程序员出身”罢了,然后有朋友开玩笑说“程序员猝死”……他们竟然因为这个说法记住了这个域名,你是不是也记住了…
8、网站上线
服务器有了,域名有了,那么搭建下lamp环境吧,阿里云有一键安装包,我用的是Apache,很多人现在选择Nngix。将网站项目放入www目录下,配下vhost,在DNSPOD有免费的域名解析。如果你的域名需要备案,那么还需要申请下工信部的备案。网站成功上线后,你还需要安装下统计代码,常见的用谷歌统计、站长统计、百度统计等,这样 你便可以实时的查看自己的网站访问数据。
9、深入了解SEO
SEO分站外SEO和站内SEO。站外SEO可以理解为传播你的网站的方式,比如原创优秀的文章提供别人转载、友情链接、在其他博客或论坛曝光自己的链接等方式。站内SEO首先是页面head部分的内容,如title、keywords、description等,其次调整页面结构,方便爬虫搜索等。
以上是我对自己开发一个网站的理解,希望大家留言补充。