网站重构(一)

(看视频课程的一个笔记,留着自己看)

一、网站重现基础概念

1、常用场景

(1)网站源代码的重现:把拿到的网站源代码和数据库在本地已有的环境里搭建起来

(2)服务器镜像网站重现:部分网站并不是随服务器启动而启动,要看服务器里面的站点是否正常启动,如果网站程序没有正常启动,我们需要启动相应的服务或做一些配置的调整

(3)拿到静态文件(网站页面),它是通过网页爬取工具等把文件和数据等进行固定,主要通过浏览器进行查看

(重点:从网站源码到数据库这两部分组合起来做网站数据的重建)

网站如何在主机系统上运行?

网站可以理解为一种运用程序,不能脱离操作系统独立运行,它存在的基础需要相应的主机系统或容器,网站需要相应的配套服务去解析它的代码,以及需要相应的数据库服务来承载存储数据。

①网站代码的运行服务:web服务器。

配置文件:用于描述这个网站如何运行,端口是什么,代码存储在哪里等

服务器日志文件:通过日志文件找到网站的被访问情况,找后台地址可以通过访问日志文件找到相应线索

站点代码:PHP,Java,ASP等

②数据库:对于数据库,我们要能找到网站数据存储的路径,通过对数据的备份,在还原时有相应的数据支撑。包含:数据库配置,数据库日志,数据库文件

数据库配置:对应的端口,涉及的表,引擎操作等

2、 PHP网站代码

(1)代码特点:明文展示,便于查看和修改

(2)入口文件:index.php,网站起始执行文件

(3)动态加载:支持,代码文件的修改效果立即体现(修改完代码,网站可通过刷新进行体现,无需再次进行编译等)

(4)网站结构:一般采用MVC架构

M:model--数据模块,用于存储网站和数据库的数据(从数据库中读取出数据,网站处理数据的地方)

V:view--视图,用于展示网站数据的页面代码

C:controller--用于处理数据的业务代码,比如登录验证,加密算法等

(5)常见框架有:ThinkPHP、Yii、Laravel

3、jar包

(1)代码特点:二进制代码,需要Jd-gui工具查看

(2)入口文件:静态页面HTML结合接口返回数据

(3)动态加载:一般不支持,只修改配置文件

(4)网站结构:Java框架sprintboot、springcloud等,遵循MVC结构

(以下是几个常见的代码里需要分析的模块:)

①BOOT-INF:

classes--业务代码及配置文件,可以查找登录逻辑,加密算法

lib--库,如果是框架,登录校验可能存在这里

②META-INF:打包相关清单文件

③Org:框架库

4、数据库数据

常用数据库类型记录备份格式常用版本配置文件
MySQL/MariaDB.sql5.1、5.6、5.7(无法向下兼容)、8.0my.cnf(Linux)、my.ini(Windows)
SqlServer.sql、.bak(自带)2005、2008、2012、2014独立配置工具
PostgreSQL.sql10、11、12、13postgresql.conf
MongoDBjson格式文件3、4、5mongod.conf

5、环境-组合方式

 

二、网站重现步骤

1、基本步骤

①准备好web服务器、数据库服务器、缓存服务、其他运行环境等

②创建网站配置:用于描述这个站点是如何运行的,运行需要哪些信息(如端口,源代码从哪里开始读取,网站日志如何存储等),需要告诉web服务器,web服务器根据描述来实行网站的管理

③导入代码/数据库文件

④启动服务

⑤修改hosts:网站通过域名访问,需要将域名指向本地的IP地址

⑥网站后台地址/绕过后台登录:进入网站的管理后台,分析具体的业务管理数据

2、重建要素-PHP站点

(1)版本:5.3、5.6、7.1

(2)发现版本

①从代码index.php中看

②指令获取版本  eg.  php -v

③部署工具  eg.宝塔

④看配置文件

(3)运行目录:(网站不一定放在根目录下跑,入口文件也可能放在二级目录下)

运行目录下一定有index.php

①根目录

②public

3、重建要素-jar包站点

jar运行环境:

①指令获取    eg.   java -version

②查看配置文件,如清单文件、ETA-INF/MANIFEST.MF

③启动命令:Java -jar test.jar>test.log &  (启动后可以通过IP加端口去访问,不需配置相应的nginx)

4、重建要素-数据库版本

获取版本:

(1)原环境查看    eg.mysqld --version

(2)数据文件查看:.frm文件33到34里有对应的版本信息

(数据解释器中会计算出五位数字,32bit:50553,第一个5表示5的大版本,后面两位05代表第二级的子版本,最后两位53代表小版本,一般不关注第三级版本,所以50553代表版本5.5)

5、重建要素-站点配置文件(这里的配置文件是指数据库的连接配置文件和本身基础的配置文件,是代码里面的配置文件不是web服务器的配置文件)

作用:重建网站和数据库时,我们要保证它们之间的关系要关联起来,数据能流转起来,网站的代码去请求数据时,要有对应的数据库连接配置信息给到网站程序,根据这些连接信息建立数据库连接以后,能方便、直接的从数据库中读取数据,所以这个配置文件会放在网站代码的某一个位置。

(1)数据库配置:PHP

文件类型:PHP代码

存放路径:不一定,但一般存放在业务代码中

(如,config.php里存放着配置文件)

(2)数据库配置:JAR包

文件类型:yml、yaml、properties

存放路径:BOOT-INF的classes目录下

5、重建要素-缓存配置(目前很多java或者php网站常用缓存进行提速,它可以通过这种缓存配置加载相应的缓存数据,缓存配置要么跟数据库配置写在一起,要么独立进行配置,有的网站没有缓存配置会报错,可以根据此来进行判断是否需要搭建缓存配置)

缓存类型:redis、memcached

三、常见场景分析

1、常见重建工具

名称特点
宝塔面板丰富环境源,切换方便,网站配置灵活
小皮面板类似宝塔,但环境源及操作不如宝塔
oneinstackLinux环境包,没有交互操作的页面

云堪大师

操作简单,主要支持PHP站点,对应运行环境支持少
其他工具如护卫神,西部数码网站管理等,功能少

2、PHP案例

网站案例架构
TpShopPHP5.6、MySQL5.6、Apache/Nginx、运行目录根目录
ECShopPHP5.6、MySQL5.6、Apache/Nginx、运行目录根目录
ThinkCMSPHP5.6、MySQL5.6、Apache/Nginx、运行目录根目录
fastadminPHP7.1、MySQL5.6、Apache/Nginx、运行目录public
crud后台管理Java1.8.0、Nginx、MySQL
盲测Java1.8.0、Nginx、MySQL、Redis

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值