负责公司两个语种的网站开发。主要参与功能如下:
1.两个网站均使用了相同的架构模式,使用Nginx作为前端服务器,利用Nginx来做一个反向代理,用来接收客户端发送过来的所有的请求,并且进行判断,如果前端服务器上存在对应的缓存文件,就直接返回缓存页面到客户端,如果不存在缓存页面就将请求下发到后端服务器上进行处理。后端服务器使用windows iis 来进行架构,后端接收到请求后,判断是否存在映射,如果存在就映射到对应的后端目录或者PHP程序,如果不存在就返回404页面。
2.同时Nginx还有一个工作就是,如果客户进行POST请求到后端地址时,会将POST的内容进行写到日志当中,避免如果后端出现宕机或者500错误时,导致订单的丢失。记录下来的日志会用splunk 来进行日志分析。
3.网站所有页面的缓存页面主要由后端的CMS 内容管理系统提供,当我们编辑好一个页面后,需要生成缓存页面的时候。系统会将所有的信息提交到我们的缓存生成系统,这个系统由PHP开发,主要功能为,通过PHP simple_html_dom 的类库来对提交过来的页面进行拆分,将所有的CSS和JS提取出来,然后将html css js 文件提交purifycss 进行优化处理。提取出必须的css放到页面头部的style标签内,其余的样式放到底部继续通过link标签来引入,所有的JS文件整理成一份js代码放到底部进行异步加载,最后所有的代码进行压缩处理生成三份文件。一份PC端使用,一份移动端使用(移动端会删除掉移动端隐藏的部分,减少页面体积,其余一样),一份是AMP的页面(也是移动端使用)。这些缓存页面会先生成在后端的windows服务器,然后同步缓存文件到前端的linux服务器上。