零基础学员按照以下步骤配置环境并检查:
第一次操作直接复制就可以
一: 实验环境确认
- 域名配置
配置域名为itlaoxin-110 , 这里的110就是自己的IP的最后一段
[root@localhost ~]# hostnamectl set-hostname itlaoxin-110
然后执行bash 刷新
2. 查看ip地址
打开配置文件
[root@itlaoxin-110 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
在配置文件中修改两个地方:
BOOTPROTO=static
ONBOOT=yes
然后再文件最后插入以下几行内容(如果你在安装系统的时候设置过了,这里可以检查下即可)
IPADDR=192.168.1.110
#此行是IP地址
GATEWAY=192.168.1.1
## 默认网关
DNS1=192.168.1.1
#DNS
DNS2=114.114.114.114
PREFIX=24
配置好后重启
[root@itlaoxin-110 ~]# systemctl restart network
查看IP
[root@itlaoxin-110 ~]# ifconfig |grep inet |awk 'NR==1{print $2}'
192.168.1.110
- yum源
centos7安装好后默认yum源就可以用
这三个做完后,可以做一个快照
- 关闭防火墙和selinux
oot@itlaoxin-110 ~]# setenforce 0
[root@itlaoxin-110 ~]# iptables -F
[root@itlaoxin-110 ~]#
这几个做完后就可以做快照了
二: 开始安装宝塔
执行命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
内网面板地址: http://192.168.1.110:8888/96716538
username: encpvcwy
password: df4ea8ca
直接用上面的内网面板地址登录系统:
输入在官网注册的账号密码登录
选择界面安装LAMP
安装好后,做第二个快照,名字就叫LAMP环境已做好
安装中
按如下图示做快照
三. 开始配置wordpress
- 一键部署wordpress并且把域名设置为laoxin.com
部署完成
2. 设置hosts,便于解析
修改windows中的hosts
如果你没有火绒安全这个工具,可以直接找到地址修改:
C:\Windows\System32\drivers\etc
hosts的主要用途:
1. 加快域名解析
2. 方便局域网用户
在没有DNS服务器的时候,这个可以提供服务器的解析
3. 屏蔽网站
很多网站未经我们同意就安装插件,插件中可能存在密码,使用hosts文件可以将错误的IP映射到本地IP中,从来将网站屏蔽
- 访问网站开始安装
点击现在安装
登录:
看到下图就证明安装成功了
四. 上传前端模板
一个重要的原则: 只要不产生利益冲突,别人讲的话可以不用反驳
上传主题:
安装完成后: 启动主题
分类目录设置
五. 本次项目涉及到的知识点
1. 访问一个网页的全过程
- 浏览器解析域名(itlaoxin.com)(本地DNS解析)
查找域名对应的IP地址
1) 本地查找,访问hosts,查看是否存在对应的映射关系。
2)访问本地缓存,hosts中没有记录,就会查找浏览器本地缓存,查看是否有映射关系
2) 访问DNS服务器
都找不到就报403
- 找到对应的IP地址后,就向服务器发出HTTP请求
- 服务器解析域名(itlaoxin.com)
- 服务器解析资源名(a.html)
- 请求找到对应的文件
- 服务器返回响应
这里面涉及到的几个重点过程
- DNS域名解析
- 建立TCP连接
- 发送HTTP请求
- 服务器终端解析请求
- 返回HTTP响应
- TCP四次挥手
- 浏览器渲染HTML
2. DNS解析过程
步骤及过程:
步骤(1):浏览器会向本地 DNS 服务器发送域名报文。
步骤(2):本地 DNS 接收报文之后,发现本地没有,就会将请求转发到根 DNS 服务器。
步骤(3):根 DNS 服务器通过".com"后缀返回 com 顶级域名服务器的IP地址205.0.1.2。
步骤(4):本地 DNS 服务器带着域名访问IP:205.0.1.2顶级域名服务器。
步骤(5):com 顶级域名服务器根据后缀"imooc.com",返回 IP 地址206.0.1.3。
步骤(6):本地 DNS 服务器带着域名访问IP206.0.1.3二级域名服务器。
步骤(7):二级域名服务器通过www.imooc.com查询到了域名对应的实际IP地址210.1.17.89,返回给本地 DNS 服务器。
步骤(8):本地 DNS 服务器透传IP210.1.17.89返回给 客户PC端
3. 服务器返回给浏览器的是HTML,CSS,甚至是Javascript代码,如果直接给客户,客户能看懂吗?
答案是不能, 那么就需要让浏览器解析成用户能看懂的静态界面
浏览器内核引擎解析 HTML 文档并且将标签转换为 DOM(Document Object Model,文档对象模型)树的 DOM 节点,不同浏览器的渲染解析流程大同小异。
同时,浏览器内核引擎还会解析 CSS 生成 CSS 规则树,按照从右到左的顺序读取选择器。
另外,在浏览器中还有个"JS脚本解析器",解析 HTML 和 CSS 是多线程同时执行的,CSS 解析失败不会影响 HTML 内容的解析,但是如果 JS 脚本解析过程中触发了异常,会直接终止 HTML 内容的解析
4. DNS正向解析,反向解析
正向解析: 根据域名查找对应的 IP 地址
反向解析:根据IP地址查找对应的域名
六: 网站可能出现的问题
1. 网站图片增多,会导致空间不够和加载缓慢的问题
解决方案
- 图片不要直接上传到服务器,而是用图片服务器来代替
nginx可以作为图片服务器来使用
server {
listen 80; 监听80端口
server_name localhost;
location /images/ {
#以/images开头的url作为资源访问路径,并通过root,做访问路径的映射
root /home/ftp/;
}
}
比如: 在 /home/ftp/images/ 文件夹下,传一张图片做测试 1.jpg
通过浏览器访问 127.0.0.1/home/ftp/images/1.jpg,可以看到图片
还有一种写法:
server {
listen 80;
server_name localhost;
location /images/ {
alias /home/ftp/images/;
}
}
我们所访问的内容,其实都是文件
配置文件中的/home/ftp/images/a.jpg
其实从外网访问就是http://ip:port/home/ftp/images/a.jpg
2.使用阿里云的oss
3.搭建fastDFS分布式文件系统
FastDFS 是用C语言编写的一款开源的分布式文件系统,具有冗余备份,负载均衡,现行扩容等机制,并且注重高可用,高性能等指标。搭建一套便于上传下载的文件服务器很容易。
原则: 运维能用工具就别造轮子,有开源的就别考虑二次开发。
七: 阿里云服务器类型
n 代表共享型 , n4表示第四代
直播场景推荐
部分软件或应用对应的实例规格图
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
- 网络
- 体系结构
好的架构都是演变出来的,不是涉及出来的,多看多模仿就行。
九: 关于面试
零基础的小伙伴需要背诵今天重要的几个概念