Javaweb开发 网页开发
人们可以通过网页浏览器来访问网站,获取自己需要的资讯或者享受网络服务器.
访问流程:
- 域名
- 需要对域名和ip的关系进行关联(DNS服务器)
- 服务器
- 服务器的项目运行环境
- 服务器
就是给用户提供服务的机器,四大类:塔式服务器,机式服务器,刀片服务器,柜式服务器
笔记本能否用来充当服务器?
标准回答:如果从提供服务的实现角度来考虑的话的确是可以的,但是如果想要问的,高效的提供服务器,肯定就是不行的了
服务器特点:
高性能特性+标准化统一特性
- ip地址
Ipv4 http
Ipv6 https
- 域名
浏览器中输入的那一串字母和数字的组合
www.baidu.com 几级域名?二级域名
- 公网
www 万维网 全世界都可以互相访问的网
- 局域网
在某个单元的内部能够进行互相访问的网络.
服务器:
电脑组成:
- cpu 是电脑的大脑
- 内存: cpu相当于是人,内存相关与仓库
- 硬盘
作用:存储数据的
机械硬盘:
固态硬盘:
- 速度:固态硬盘更快,不受转速的影响
- 安全性:机械硬盘的安全性极高,即使损坏,也有百分之80的恢复数据概念
4.主板
自身包含了一些集成的电脑,负责各个不同的功能的数据通信
主板上又很多空的插槽
计算机资源分为两个部分:硬件资源 软件资源
软件:是指应用程序
操作系统:
是软件资源与硬件资源的桥梁.
操作系统有:windows macos linux
Window:是微软公司研发的收费的操作系统(闭源)
Macos:由苹果公司开发的一款收费操作系统 特点:底层优化的很好,安全性更高 闭源
Linux 系统:是目前全球使用最多的服务器操作系统(开源),
其体系很强大的,其分支有很多
主要由:redhat红帽 centos ubuntu
安卓
linux系统:
- 性能问题,windows服务器操作系统不如linux高
- 稳定性的问题:
底层架构:linx更加稳定
- 安全性的问题
Linux操作系统更加的安全
- 远程管理方面
Linux发展史:
Unix 诞生于一个开放的,相互学习研究的时代
20世纪80年代 ATT,将unix进行商业化, 免费提供给学生.
开源 鼻祖 stallman 斯特曼 十大黑客之一
Linux torvalds 接触到了unix操作系统,在大学大二的时候.自主研发了操作系统叫linux.
Linux进行了开源
Linux 含义:
狭义:由linux编写的一段内核代码
广义:是由linux内核衍生的各种linux发行版本
Linux特点:
- 开源,多用户 多任务,优异性能与稳定性
中国linux系统:红旗(redflag) 麒麟 深度os
我们使用centos7.0
Linux安装:
两种:
真机安装:使用真实的电脑进行安装,像安装windos操作系统一样
虚拟机安装:通过虚拟机求安装,模拟安装,并不会影响当前计算机的真实操作系统
有钱买
什么是虚拟机?
有些时候像模拟出一个真实的电脑环境,碍于真机安装代价太大,因此而诞生的一款可以模拟操作系统运行的软件。
vmware出品的vmware workstation
Oracle出品的vittual box
安装centos7服务器:
- 编辑-- 首选项
改完名字后 一直点下一步
选中008右键,找到dvd 找到ios的文件路径
开启虚拟机,鼠标点进去,选择第一个
/boot 启动分区。
/swap 交换分区 被内存存满了,内存放不下来.
/ 根分区
Linux系统的使用注意:
- linux严格区分大小写的
- linux文件扩展名
windows是依赖扩展名来区分文件的类型.
Linux 系统是通过权限位表示来确定文件类型.
Touch vmware.txt
Touch vmware.exe
上面两个都是创建文件
Linux重一些特殊的文件还是要写写扩展名的,但inux不依赖扩展名来识别文件类型,写这些扩展名的目录是为了帮助运维人员来区分不同的文件类型.
压缩包:文件后缀的类型.gz .bz2 .zip .tar.gz
二进制软件包: .rpm
程序文件:.sh
- linux中所有内容都是已文件形式保存的
Linux中 一切皆文件
- linx中所有的存储设备 都必须在挂载之后才可以使用.
挂载其实就是给这些设备分配盘符.
linux中的会创建一个已经建立的空目录。 这些空目录叫做挂载点
如设备文件/dev/sdb 和挂载点(已经建立的空目录) 链接的过程叫做挂载
Linux 分区后,第一个区 /dev/sda 必须经过一个过程就是这个挂载
- linux 系统的文件目录结构
只有一个根目录 /
所有的文件都存在以/为树根的树形目录结构中
/bin/ 存放系统命令,普通用户和root用户都可以执行
/sbin/只有root命令才可以使用命令
/boot 系统目录 类似与windows c盘
/dev/ 设备文件保存位置
/etc 配置文件目录.
/home :普通用户的家目录,用户登录后会自动切换到此目录
/root:超级管理员的家目录,超级管理员登录后会自动切换到此目录
Root:当前登录的用户名
@分隔符
Localhost:当前的主机名
~ 表示是当前用户家目录
#身份识别符号,#代表的是超级管理员,$表示是普通用户
Linux命令格式:
就是指在linux终端中输入的内容就称为命令
一个完整的命令的标准格式:linx的通用格式
命令(空格)[选项](空格)[参数]
linux的命令补全:
键盘上有一个按键:tab建
可以在我们的终端中 输入命令的时候可以无需完整的命令 只需要记住命令的前几个字母就可以了,然后按tab建
Syst+tab建
System+tab建(2下)
Systemc+tab建
有些命令可能是以某几个字母开头,这个时候,就只需要按两次tab建,就可以显示所有的命令了.
学习命令:
- 切换用户
su qiweikai
切换到普通用户的目录。管理员是可以直接切换到普通用户的目录的
普通用户切换到root 用户 是需要输入密码的
我当前目录是在/下,我要进入到我切入的普通用户的家目录下
- 切换到用户的同时 ,切换到家目录
- uname 查看操作系统的信息
获取计算机的系统相关信息
- ls
List show 以平铺的形式显示当前目录的文件信息
基本语法:
Ls
用法2:
功能:显示其他用户目录下的文件信息
语法:Ls 其他目录的完整路径
我进入到我的家目录,
我要看根目录下有哪些文件。我使用了两种方式。
第一种方式叫绝对路径方式
第二种方式叫相对路径的方式
绝对路径:不管当前工作路径在哪里,目标都是以/ 从磁盘根下开始.
相对路径:绝对路径之外的路径就是相对路径,相对路径的有一个相对物(当前工作路径 pwd)
../:表示上一级
./:表示当前目录.
文件夹名称/: 表示下级目录
练习:
我要看root用户的家目录下有哪些文件?
用法3:
Ls[选项] [路径]
-l:ls -l代表以详细列表的形式显示当前目录下的文件信息 简写ll
-h: 通常与-l 结合在一起使用的,代表比较高的可读性显示文件的大小(kb
显示详细信息:
第一个单词:d代表是目录文件 . 如果是- 代表是文件,l代表的是链接 b代表是设备文件
后面的9个字母是以3个为一组,分别代表是文件所有者,文件所有者所在的用户组,其他用户对文件的拥有的权限.
9 代表的这个目录下的目录文件数目 这个数目=隐藏目录的数目+普通目录的数目
要查看在Linux系统中隐藏目录和普通目录的数目,可以使用以下命令:
1. 查看所有目录的数目(包括隐藏和普通目录):
```bash
ls -l | grep "^d" | wc -l
```
这个命令使用`ls`列出当前目录下的所有文件和目录,然后通过`grep`筛选出以 "d" 开头的行(这是目录行的标识),最后使用`wc -l`来计算行数,从而得到目录的数目。
2. 查看隐藏目录的数目:
```bash
ls -ld .*/ | grep "^d" | wc -l
```
这个命令列出以点开头的所有隐藏目录,并计算它们的数目。
3. 查看普通目录的数目:
```bash
ls -ld */ | grep "^d" | wc -l
```
这个命令列出所有以斜杠(/)结尾的普通目录,并计算它们的数目。
根据您的需求,选择其中一个命令来查看相应类型目录的数目。
Root 目录的属主
Root 目录的属组
104 文件的大小 字节数
Apr 8 01:04代表是文件目录的修改时间
Bin(老师打错了)home 当前目录的文件名
- Pwd
Print working directory 打印当前工作目录
- Cd
Change directory 切换目录(从一个目录跳转到另外一个目录)
语法:
Cd [路径]
路径:可以是绝对路径 ,也可也是相对路径
例子1:
进入到我们的/home/qiweikai
切换到/usr/local这个程序目录中
第二种方式
例子2:
进入到我们的/home/qiweikai
切换到根目录下
- clear 清屏
Ctrl+l
- whoami 命令
用户获取当前用户的用户名
- reboot 重启操作系统
- shutdown命令
立即关机或延迟关机
- Type
主要功能:用来结合help或者man命令 用于判断命令的类型(属于内部命令还是外部命令)
Cd 是内部命令
可以使用help 查看帮助
不是内部命令
使用man去查看
- history 查看历史命令
Linux 文件管理
文件命名规则:
严格 区分大小写,所以尽量使用小写字母。
文件名长度不能超过255个字符
文件扩展名是为了运维人员更好的区分不同的文件类型.
文件管理命令:
创建目录
命令:
Mkdir(make directory) 创建目录
语法:mkdr [常见选项] 路径 (包含目录名)
常见参数:
-p 递归创建
案例1:在家目录下创建一个cuit文件夹
案例2:在家目录下创建/a/b/c/d
上面创建目录是在根目录下创建了/a/b/c/d
我在家目录创建
或者
快捷键上下建,
按反向建向上,其返回上一次输入的命令
按方向键向下,返回下一次输入的命令
案例3:使用mkdir同时创建多个目录
文件创建:
命令touch
作用:创建文件
语法:touch 文件路径
案例1:家目录下创建一个readme.txt文件
案例2:同时创建多个文件
案例3:
在家目录中创建一个shop商城的文件夹,然后在内部创建 index.html amdin.html config.html三个文件
上面代表是shop目录下先创建一个index.txt 然后在当前目录下创建一个admin.txt 然后又在当前目录下创建一个config.txt
应该是
案例4:
根据序号创建多个文件
语法
Touch 文件名称{开始序号。。结束序号}
删除文件或者目录:
命令:
Rm (remove缩写)(删库跑路---“微盟”遭删库) ( ys^hl9t--疑是银河落九天)
作用:删除文件或文件夹
语法:rm [参数选项] 文件或文件夹
选出:-r 递归删除,主要用于删除目录,可以删除指定目录及包含的所有内容,包括所有子目录和文件
-f :强制删除,不提示 操作前一定要慎重
案例1: 删除readme.txt文件
Y 代表确认
N 代表取消
案例2:强制删除 不提示
案例3:删除目录
删除目录如果有子目录,它会让你一个一个同意
案例:强制删除目录
不要使用rm -rf /*
案例4:
Mkdir /home/qiweikai/dir
Touch /home/qiweikai/dir/{file1,file2,.file3}
删除
Rm -rf /home/dir/*
只删除了两个文件 ,不能删除隐藏文件
复制 与剪切.
复制操作:
- cp (copy 的缩写)
作用 复制文件/文件夹到指定的位置
语法:cp [参数选项] 源路径 目标路径
-r 递归
案例1:
把readme.txt文件从当前家目录复制到/tmp文件夹中
或者使用
案例2:
复制并重命名文件
把readme.txt 从当前目录复制到/tmp 文件中并重命名readme.txt.bak
案例3 回到家目录 把/tmp/readme.txt.bak 复制到家目录下面
.当前目录
案例4:把shop目录连同其内部的文件统一复制到/tmp目录下
案例5:
把/etc下所有文件和目录 复制到 shop目录下面
剪切操作:
Mv(move ,移动,剪切)
作用:可以在不同的目录之间移动文件或目录,也可也对文件和目录进行重命名
Mv 源文件 目标路径
mv和cp的区别:
不管是针对文件或者目录或者文件夹都不需要 加类似-r的选项
案例1:
把readme.txt文件剪切到/root目录下
案例2:
把shop目录剪切到/root目录下
案例3:重命名
简单来说,就是给一个文件或文件夹更改名称
把ee.txt改成cuit.txt
案例4:把shop目录 改为shops目录
Vi 命令
Vi文本编辑器,使用简单,功能强大,是linux众多发行版的默认文本编辑器
四种工作模式.
命令模式
编辑模式
可视化模式
末行模式
Vi 文件名称:
- 如果文件已经存在,则直接打开
- 如果文件不存在,则vi编辑器会自动在内存中创建一个新的文件
vm虚拟机的三种网络模式的配置介绍:
- vmnet0虚拟交换机 : 桥接 --必须插网线
特点:
- 默认使用v0,不提供dhcp服务(是由服务器控制的一段ip地址范围,当客户机登录服务器的时候会自动分配服务器分配的ip地址)
- 虚拟机与外部主机在同一个网段上,与局域网的其他机器是没有区别的
- 可以与局域网其他主机通信,可以与外部网络通信
- 容易与局域网其他主机引起ip冲突
- vmnet1 host-only 仅主机模式
特点:
- 默认使用v1,提供dhcp服务
- 虚拟机可以和物理机主机互相访问,但虚拟机无法访问外部网络--baidu
- Vmnet8:nat 默认 默认模式
特点:
- 提供dhcp服务
- 虚拟机可以和物理主机互相访问,可访问外部网络
- 局域网内其他主机访问不了
配置虚拟网络:
- 查看v8的ip地址
记住下面的ip地址 ,主要记213即可
- 保证是root用户---(以后拿到虚拟机,或大数据环境以后第一步装网络,保证网络要通)
3.再检查一次
4.重启网络服务器
5.ip addr
- 进入win测试
Win+r
输入cmd
四次拼接后显示成功
- 安装群里面发的ssh
Linux 博客系统
Oracle mysql优化
Javase
Html css js vue
Javaee servlet
Ssm maven,git, mq消息中间件,es(elasticsearch)全文搜索引擎
Springboot 微服务器,百万数据
Springcloud 集群
Jwt
三大框架(bootstrap)
微服务架构:高性能的HTTp和反向代理web服务器Nginx
高性能可扩展远程字典服务Redis, 分布式锁
分布式事务&消息队列 mysql优化
分布式数据库
Docker
Jvm内存优化
微服务架构项目开发
前后端交互技术Ajax
Shiro框架
Swagger框架
Nginx部署
实施工程师
运维工程师
交付工程师
铁三角=产品+研发+运维
流程的走向:产品设计-->项目研发--->项目测试--->项目上线--->项目运维
研发=前端(html+css+js+vue/reacts)+后端(java/python/go)
全栈=前端+后端
运维:产品上线后,后期的运行与维护工作都属于运维工程师范畴
部分的职责:
产品部门(PM,UI,UE):3个人左右 确定需要做的项目的功能和细节问题
研发部门(5-7人):根据产品部门提供的项目模型需求进行编程
测试部门(1个左右):检查bug
运维部门(3-4) :负责项目环境部署,上线,搭建等等
上线和生产:
开发环境:根据系统需求,设计和搭建的系统环境
测试环境:搭建的系统环境,实现自动化的发布.
准生产环境:搭建系统环境,沟通第三方厂商,自动化发布,监控
生产环境:搭建系统环境,给用户进行使用