一个网站的开发步骤
经常有朋友说"我想做个网站"、“网站上放个什么什么”、"对你来说应该很容易,帮个忙吧"等等。怎么说呢,大部分非互联网行业的人是不了解网站的开发流程的,他们可能以为就是个简单的页面,顺手拈来,分分钟搞定的,其实不然。
今天就来简单聊一聊一个网站的开发步骤,尽量做到简单易懂,希望能让非相关行业的人也能弄懂。
准备服务器
服务器是运行网站程序的电脑。
公网IP
每台电脑都有一个ip地址。
例如运行网站程序后,用户可以在浏览器里输入:http://192.168.1.1
,去 打开网页。
其中192.168.1.1
就是ip,它属于局域网ip,只有连接同一个路由器的设备(手机或电脑)才可以访问这个地址,4G网络是不通的。
如果想通过4G流量访问,那么这个服务器就需要一个公网ip。
目前运营商是不给家庭网络分配公网ip的。
长期、稳定运行
服务器需要长期稳定运行,它会受供电、网络、温度、卫生等因素影响。家庭环境、个人电脑无法保证服务器所需的稳定环境,非常容易出现服务不可用的情况,因此不适合使用个人电脑放到家中充当程序的服务器。
云服务商
基于上述的两个问题,我们一般选择从云服务商那里租用服务器。云服务商提供的服务器都被托管到专业的机房(网络、供电稳定,恒温、干净)中,且会直接分配公网ip,非常省心省事。国内的云服务商可选择“阿里云”、"腾讯云"等等。
服务器配置
云服务商一般可按月、年付费。价格依据服务器配置(地区、cpu、内存、硬盘、带宽)而定。收费各不相同,由月一百多至几千不等。配置越高,性能越好, 带宽也高,网速越快。需要根据总用户量、访问并发(同时访问的人数)等因素确定配置,而且程序也要根据用户量、并发等数据去设计方案。
确定好配置并付款后,服务器一般在十分钟内即可开通。
开发程序
程序开发开发一般有以下几个步骤:
确定需求
产品经理与客户充分沟通,了解客户的需求、业务场景,出原型图与客户确认,确认需求后不可轻易更改。
原型图就是简单的网站模型,把客户的业务需求直观的都展示出来。
效果图
UI设计依据最终的原型图,进行美化设计,出效果图并与客户确认。
效果图就是程序最终展示给用户的效果。
开发
开发依据原型图和效果图,进行程序设计、开发。有问题随时与产品经理沟通。开发自测之后,出程序包给测试人员。后续修复反馈的bug。
测试
测试人员依据原型图上的业务逻辑和效果图,进行功能测试,记录并反馈bug。待所有功能验证通过后,出测试报告。
上线
程序通过测试后,将程序部署至服务器上,完成上线。
上线之后,即可在浏览器输入 http://{公网ip},访问程序。
准备域名
以上已经完成了网站的开发、上线工作。但是让用户去记忆公网ip是不切实际的。因此衍生出了域名。
域名就是用来代替ip,方便记忆的。如www.baidu.com
、www.taobao.com
。
域名一般也在云服务商那里购买,但需进行实名认证。域名价格也是按易记程度不同,价格差别很大,每年几十到成百上千。
购买后,在域名管理后台配置域名和ip的对应关系,以后就不用记忆公网ip了。
准备备案
根据工信部规定,使用大陆境内服务器的组织或个人,若要使用独立域名开办网站 ,就需要履行备案手续。就像开公司要去工商局申请执照一样,在国内,没有备案,域名就不能访问。
备案需提交域名和持有者的相关资料以及所开网站的相关信息,工信部审核通过后,会发放备案/许可证编号。
之后需将该编号挂载在网站首页下方。
如百度的备案编号如下:
备案的目的是防止网站用于欺诈用户、传播不法信息等情况,用于事后追责。
以阿里云备案流程为例:
填写备案信息—> 阿里云初审(2个工作日内)–> 邮寄阿里云幕布、拍照、上传资料(5天左右) --> 提交工信部审核 (15~20个工作日)–> 备案通过。
(如出现信息不准确等情况、需回退修改等时间更久)。
微信的公众号、小程序等对接服务器强制使用备案的域名。
升级为Https(可选)
到此为止,程序已经可直接通过域名访问了。
但注意我们前面访问的网址是以http
开头的,即http
协议。
我们知道数据在网络上传输是很容易被黑客监听的,http传输的数据都是明文的,数据一旦被监听,就会直接导致用户隐私数据(账号、密码等)泄漏。
解决方案就是使用更安全的 https 协议。 https 协议在传输数据之前进行加密,只有客户端和服务器能解密,即使第三方监听到数据,也无法破译其中的密码信息,所以https
是安全的。
网站升级为 https 协议需要有一个网站证书, 证书需要向CA(证书颁发机构)申请, 其价格也各不相同(目前有针对个人用户的免费版证书,一般用于个人博客),企业版的还需企业相关资料进行审核,通过后才会发放证书。
证书发放后,下载并部署至服务器上即可。
微信的公众号、小程序等对接服务器强制使用https协议
当然如不对接公众号、且网站暂无太过敏感的数据时,不开启https也可以。
至此,全部工作结束。 至于网站日常维护、后期需求变更暂且不提。