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

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

一: 实验环境确认

  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 服务器带着域名访问IP:205.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 文档并且将标签转换为 DOM(Document 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
  • 网络
  • 体系结构

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

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