零基础学员按照以下步骤配置环境并检查:

第一次操作直接复制就可以

一: 实验环境确认

  1. 域名配置

配置域名为itlaoxin-110 , 这里的110就是自己的IP的最后一段

  1. [root@localhost ~]# hostnamectl set-hostname itlaoxin-110

然后执行bash 刷新
陪跑营-实现博客网站 - 图2
2. 查看ip地址

打开配置文件

  1. [root@itlaoxin-110 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32

在配置文件中修改两个地方:

  1. BOOTPROTO=static
  2. ONBOOT=yes

然后再文件最后插入以下几行内容(如果你在安装系统的时候设置过了,这里可以检查下即可)

  1. IPADDR=192.168.1.110
  2. #此行是IP地址
  3. GATEWAY=192.168.1.1
  4. ## 默认网关
  5. DNS1=192.168.1.1
  6. #DNS
  7. DNS2=114.114.114.114
  8. PREFIX=24

配置好后重启

  1. [root@itlaoxin-110 ~]# systemctl restart network

查看IP

  1. [root@itlaoxin-110 ~]# ifconfig |grep inet |awk 'NR==1{print $2}'
  2. 192.168.1.110
  1. yum源

centos7安装好后默认yum源就可以用

陪跑营-实现博客网站 - 图3

这三个做完后,可以做一个快照

  1. 关闭防火墙和selinux
  1. oot@itlaoxin-110 ~]# setenforce 0
  2. [root@itlaoxin-110 ~]# iptables -F
  3. [root@itlaoxin-110 ~]#

这几个做完后就可以做快照了

陪跑营-实现博客网站 - 图4

二: 开始安装宝塔

执行命令:

  1. yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

陪跑营-实现博客网站 - 图5
内网面板地址: http://192.168.1.110:8888/96716538
username: encpvcwy
password: df4ea8ca

直接用上面的内网面板地址登录系统:

陪跑营-实现博客网站 - 图6
陪跑营-实现博客网站 - 图7

输入在官网注册的账号密码登录

选择界面安装LAMP

陪跑营-实现博客网站 - 图8

安装好后,做第二个快照,名字就叫LAMP环境已做好

安装中
陪跑营-实现博客网站 - 图9

按如下图示做快照

陪跑营-实现博客网站 - 图10

三. 开始配置wordpress

  1. 一键部署wordpress并且把域名设置为laoxin.com

陪跑营-实现博客网站 - 图11

陪跑营-实现博客网站 - 图12

部署完成

陪跑营-实现博客网站 - 图13
2. 设置hosts,便于解析

修改windows中的hosts

陪跑营-实现博客网站 - 图14

如果你没有火绒安全这个工具,可以直接找到地址修改:

C:\Windows\System32\drivers\etc

  1. hosts的主要用途:
  2. 1. 加快域名解析
  3. 2. 方便局域网用户
  4. 在没有DNS服务器的时候,这个可以提供服务器的解析
  5. 3. 屏蔽网站
  6. 很多网站未经我们同意就安装插件,插件中可能存在密码,使用hosts文件可以将错误的IP映射到本地IP中,从来将网站屏蔽
  1. 访问网站开始安装

陪跑营-实现博客网站 - 图15
陪跑营-实现博客网站 - 图16

陪跑营-实现博客网站 - 图17

点击现在安装

陪跑营-实现博客网站 - 图18

陪跑营-实现博客网站 - 图19

登录:

陪跑营-实现博客网站 - 图20

看到下图就证明安装成功了
陪跑营-实现博客网站 - 图21

四. 上传前端模板

一个重要的原则: 只要不产生利益冲突,别人讲的话可以不用反驳

陪跑营-实现博客网站 - 图22
上传主题:

陪跑营-实现博客网站 - 图23
陪跑营-实现博客网站 - 图24

安装完成后: 启动主题

陪跑营-实现博客网站 - 图25

分类目录设置

陪跑营-实现博客网站 - 图26

陪跑营-实现博客网站 - 图27

五. 本次项目涉及到的知识点

1. 访问一个网页的全过程

  • 浏览器解析域名(itlaoxin.com)(本地DNS解析)

查找域名对应的IP地址

  1. 1 本地查找,访问hosts,查看是否存在对应的映射关系。
  2. 2)访问本地缓存,hosts中没有记录,就会查找浏览器本地缓存,查看是否有映射关系
  3. 2 访问DNS服务器
  4. 都找不到就报403
  • 找到对应的IP地址后,就向服务器发出HTTP请求
  • 服务器解析域名(itlaoxin.com)
  • 服务器解析资源名(a.html)
  • 请求找到对应的文件
  • 服务器返回响应

这里面涉及到的几个重点过程

  • DNS域名解析
  • 建立TCP连接
  • 发送HTTP请求
  • 服务器终端解析请求
  • 返回HTTP响应
  • TCP四次挥手
  • 浏览器渲染HTML

2. DNS解析过程
陪跑营-实现博客网站 - 图28
步骤及过程:

  1. 步骤(1):浏览器会向本地 DNS 服务器发送域名报文。
  2. 步骤(2):本地 DNS 接收报文之后,发现本地没有,就会将请求转发到根 DNS 服务器。
  3. 步骤(3):根 DNS 服务器通过".com"后缀返回 com 顶级域名服务器的IP地址205.0.1.2
  4. 步骤(4):本地 DNS 服务器带着域名访问IP205.0.1.2顶级域名服务器。
  5. 步骤(5):com 顶级域名服务器根据后缀"imooc.com",返回 IP 地址206.0.1.3
  6. 步骤(6):本地 DNS 服务器带着域名访问IP206.0.1.3二级域名服务器。
  7. 步骤(7):二级域名服务器通过www.imooc.com查询到了域名对应的实际IP地址210.1.17.89,返回给本地 DNS 服务器。
  8. 步骤(8):本地 DNS 服务器透传IP210.1.17.89返回给 客户PC

3. 服务器返回给浏览器的是HTML,CSS,甚至是Javascript代码,如果直接给客户,客户能看懂吗?

答案是不能, 那么就需要让浏览器解析成用户能看懂的静态界面

  1. 浏览器内核引擎解析 HTML 文档并且将标签转换为 DOMDocument Object Model,文档对象模型)树的 DOM 节点,不同浏览器的渲染解析流程大同小异。
  2. 同时,浏览器内核引擎还会解析 CSS 生成 CSS 规则树,按照从右到左的顺序读取选择器。
  3. 另外,在浏览器中还有个"JS脚本解析器",解析 HTML CSS 是多线程同时执行的,CSS 解析失败不会影响 HTML 内容的解析,但是如果 JS 脚本解析过程中触发了异常,会直接终止 HTML 内容的解析

4. DNS正向解析,反向解析

  1. 正向解析: 根据域名查找对应的 IP 地址
  2. 反向解析:根据IP地址查找对应的域名

六: 网站可能出现的问题

1. 网站图片增多,会导致空间不够和加载缓慢的问题

解决方案

  • 图片不要直接上传到服务器,而是用图片服务器来代替
    nginx可以作为图片服务器来使用
  1. server {
  2. listen 80; 监听80端口
  3. server_name localhost;
  4. location /images/ {
  5. #以/images开头的url作为资源访问路径,并通过root,做访问路径的映射
  6. root /home/ftp/;
  7. }
  8. }

比如: 在 /home/ftp/images/ 文件夹下,传一张图片做测试 1.jpg
通过浏览器访问 127.0.0.1/home/ftp/images/1.jpg,可以看到图片

还有一种写法:

  1. server {
  2. listen 80;
  3. server_name localhost;
  4. location /images/ {
  5. alias /home/ftp/images/;
  6. }
  7. }

我们所访问的内容,其实都是文件

配置文件中的/home/ftp/images/a.jpg

其实从外网访问就是http://ip:port/home/ftp/images/a.jpg

2.使用阿里云的oss

重点讲




3.搭建fastDFS分布式文件系统

FastDFS 是用C语言编写的一款开源的分布式文件系统,具有冗余备份,负载均衡,现行扩容等机制,并且注重高可用,高性能等指标。搭建一套便于上传下载的文件服务器很容易。

原则: 运维能用工具就别造轮子,有开源的就别考虑二次开发。

七: 阿里云服务器类型
n 代表共享型 , n4表示第四代

陪跑营-实现博客网站 - 图29

陪跑营-实现博客网站 - 图30
直播场景推荐
陪跑营-实现博客网站 - 图31

部分软件或应用对应的实例规格图

web服务器: apache ,nginx 计算型 C系列
中间件: spring cloud DUBBO websphere 通用型 G系列
应用服务器 JBoss , tomcat jetty 通用型,G系列
缓存 redis memcache 内存型,r系列
数据库 MySQL, nosql 内存型,本地SSD型 r系列,i系列

大数据: HDFS, spark 大数据型 d系列

阿里云的规格性能排序: 共享型n4 < 共享型s6 <= 计算型c5 < 通用型g5 <计算型c6
腾讯云规格性能排序: 标准型s3 < 标准型s4 < 标准型sa2 <= 标准型 s5

这里说的性能差异,主要区别在于CPU ,底层架构优势

八.能支撑多少并发

QPS: 一秒钟可以处理多少请求

小白角度:500W并发需要多少服务器
运维角度:有多少无效并发请求可以挡出去,不让他访问服务器,比如一个人一秒钟点击了100下鼠标。算100次,还是算1次。

一台reids可以承受3-4W并发,500W要用120台redis服务器??
并发太大还要考虑缓存雪崩,缓存击穿,缓存穿透。最后数据库被打卦,背锅的还是运维,怎么办?

一台1核2G,1M的服务器,人均几百的IP 是完全够用的。
一般做个人博客,访问量足够

电商网站 50-100W的高并发比如秒杀。

大多数人理解的秒杀是,我点击鼠标,发出一个抢购商品的请求,然后有就返回秒杀成功,否则就返回秒杀失败

实际上的秒杀:大多数的事务都会被挡回去,返回“秒杀结束”

看上去50W的并发过来抢购10个商品,实际上只有10个并发到了后端数据库。

秒杀的本质就是抽奖,谁抽到后续请求权限(令牌),谁就可以访问数据库。

这种就很好的杜绝了超卖问题,恶意请求问题

链接暴露问题,比如知乎上的视频无法下载,其实从他暴露的链接,我们就可以下载。(所以链接暴露了,别人就可以提前根据URL秒杀了。)
那怎么办? 把url动态化,MD5之类的算法加盐,按钮置灰控制。

当然如果流量特别大,而且也需要访问数据库的,那就上负载均衡,实在不行就租流量计。

比如百度春节期间,就租光了亚洲所有服务器。

要想获得高并发经验需要钻研:

  • 算法
  • 缓存
  • 多线程
  • 并发
  • JVM
  • OS
  • 网络
  • 体系结构

好的架构都是演变出来的,不是涉及出来的,多看多模仿就行。

九: 关于面试
零基础的小伙伴需要背诵今天重要的几个概念