首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

怎么搭建自己的web服务器_web服务器怎么搭建网站

如今随着计算机和互联网技术的发展,上网现在已经不再是什么难事,打开浏览器,我们可以访问各种论坛站点,比如CSDN、博客园等,各种视频网站,例如爱奇艺,B站等。在网上我们可以写文章,看视频,购物,打游戏,聊天等等,但是是否,你也曾思考过,这些东西是怎么做出来的,做这些东西需要掌握的知识多吗?普通人能做吗?经过一番摸索终于搞懂了这么一套流程,目前开源的项目越来越多,也让许多的新手也能够借助这些资源搭建属于自己的Web服务站点。 目前搭建Web服务器的方式有很多种,其中有一种组合叫做LAMP,即Linux系统+Apache服务器+MySQL+PHP。下面将记录我是如何在Linux系统下面搭建属于我们自己的Web服务器,后续将陆续整理如何在我们自己搭建的Web服务器平台上搭建我们的个人网站,社区论坛,兴趣社团等等有意思的项目。

03

MYSQL数据库恢复案例分享

本次分享的案例是关于存储的数据恢复,存储上RAID崩溃导致存储无法启动。存储内部共有6台以上虚拟机,其中LINUX虚拟机3台为客户重要数据。 工程师初步分析得出存储结构为所有物理磁盘均在一个存储池内,再由存储池分出几个LUN,LUN1是vmfs卷,三台LINUX虚拟机也是在这个里面。 1、重组RAID 重组过程中发现本RAID5缺失2块盘(第一掉线盘掉线后热备盘顶替,之后又掉线一块盘使得RAID5处于降级状态。最后在掉线第三块盘时盘片划伤RAID崩溃),无法通过校验直接获取丢失盘的数据,所以只能使用磁盘同等大小的全0镜像进行重组(此方法只可用于紧急情况,因为依赖空镜像组成的RAID文件系统结构会被严重破坏,相当于每个条带都会缺失两个块的数据)。 2、提取LUN 分析存储结构,获取存储划分的MAP块。在找到MAP块之后解析得到各个LUN的数据块指针,编写数据提取程序提取LUN碎片。提取完成后进行碎片拼接,组成完整LUN。导出LUN内所有虚拟机,尝试启动。导出虚拟机后尝试启动,同预想相同,操作系统被破坏虚拟机无法启动。 3、提取虚拟机内文件 在虚拟机无法启动的情况下只能退而求其次,提取虚拟机内文件。在取出文件后进行测试,发现大多数文件都被破坏,只有少部分小文件可以打开。在与客户沟通后得知虚拟机内有MYSQL数据库,因为数据库底层存储的特殊性,可以通过扫描数据页进行数据提取。在找到此虚拟机后发现虚拟机启用快照,父盘和快照文件都被损坏的情况下常规合并操作无法完成,使用北亚自主研发VMFS快照合并程序进行快照合并。 4、获取MYSQL数据页并分析 根据MYSQL数据页特征进行数据页扫描并导出(innodb引擎可以使用此方案,myisam因为没有“数据页”概念所以不可用),分析系统表获取各用户表信息,根据各个表的ID进行数据页分割。 5、提取表结构 因为数据库使用时间已久,表结构也曾多次变更,加上系统表在存储损坏后也有部分数据丢失,记录提取过程遇到很大阻力。首先获取最初版本数据库各个表的表结构:合并快照前的父盘因为写入较早,使用第一块掉线盘进行校验获取到这个文件的完整数据,然后提取出其中数据库各个表的表结构,之后客户方提供了最新版的数据库建表脚本。提取记录:分别使用两组不同表结构对数据记录进行提取并导入恢复环境中的MYSQL数据库内,然后剔除各个表中因为表结构变更造成的乱码数据,最后将两组数据分别导出为.sql文件。 6、数据恢复结果 因为两个版本的数据库表结构不同,所以联系了客户方的应用工程师进行调试。调试完成后导入平台,经验证,数据可用本次数据恢复成功。

02

CentOS下安装和使用Mycat实现分布式数据库

在笔者的《在CentOS上使用Nginx和Tomcat搭建高可用高并发网站》这篇文章中,笔者介绍了如何在CentOS上搭建一个可支持高可用高并发的Java web后端服务器。善于思考的读者可能会想到,在上一篇文章中,我们只是实现Java web服务器的分布式来应对高并发,但是高并发对数据库的的负担也是很重的。在上一篇文章中,我们只是使用到一个MySQL服务器,但是但数据量非常大的时候,比如有一千万的用户,如果只有单个数据库存储,那一张用户表就有一千万条数据。庞大的数据量使得我们对数据进行查询的时候非常慢,但出现高并发的时候,大量的查询请求发送到数据库服务器,而数据库来不及响应,随时可能出现数据库崩溃的情况。

03

使用mysql dump 导入与导出的方法 原

MySQL实用命令  Wikipedia,自由的百科全书  一) 连接MYSQL:     格式: mysql -h主机地址 -u用户名 -p用户密码  1、例1:连接到本机上的MYSQL     首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:/mysql/bin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符 是:mysql>  2、例2:连接到远程主机上的MYSQL     假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:     mysql -h10.0.0.1 -uroot -p123  (注:u与root可以不用加空格,其它也一样)  3、退出MYSQL命令     exit (回车)  (二) 修改密码:     格式:mysqladmin -u用户名 -p旧密码 password 新密码  1、例1:给root加个密码123。首先在DOS下进入目录C:/mysql/bin,然后键入以下命令:     mysqladmin -uroot -password 123     注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。  2、例2:再将root的密码改为456     mysqladmin -uroot -pab12 password 456  (三) 增加新用户:(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)     格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"     例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:     grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";     但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。     例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作 (localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据 库,只能通过MYSQL主机上的web页来访问了。     grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";     如果你不想test2有密码,可以再打一个命令将密码消掉。     grant select,insert,update,delete on mydb.* to test2@localhost identified by "";  (四) 显示命令  1、显示数据库列表:     show databases;     刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。  2、显示库中的数据表:     use mysql; //打开库     show tables;  3、显示数据表的结构:     describe 表名;  4、建库:     create database 库名;  5、建表:     use 库名;     create table 表名 (字段设定列表);  6、删库和删表:     drop database 库名;     drop table 表名;  7、将表中记录清空:     delete from 表名;  8、显示表中的记录:     select * from 表名;  MySQL导入导出命令  1.导出整个数据库    mysqldump -u 用户名 -p 数据库名 > 导出的文件名    mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql  2.导出一个表    mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名    mysqldump -u wcnc -p sm

02
领券