1-Shell编程和网络服务介绍
一、网络服务介绍
-
网络服务:在网络上运行, 提供特定功能的软件模块
-
提供给客户端远程访问
-
IP区分哪台服务器, port区分哪个服务
-
基于特定协议
-
-
网络:局域网、公网 ,桥接、NAT、仅主机(本阶段偏多)
-
ip 定位服务器
-
port 确定服务
-
-
服务和端口: 服务是基于一定协议开发出来的软件模块
| 服务 | 协议 | 端口 |
|---|---|---|
| httpd/nginx | http | 80 |
| sshd | 22 | |
| ftp | 20,21 | |
| mysql | 3306 | |
| dns | 53 | |
| postfix | smtp | 25 |
-
服务学习流程:功能,原理,安装,配置文件,功能搭建
-
如何访问一个网站: DHCP分配IP进行上网,通过DNS域名解析找到对应的网站进行访问
-
域名: 正向: 域名->IP( A)、反向(PTR): IP->域名
-
搭建的网站平台
-
LAMP: Linux + Apache + MySQL + PHP
-
LNMP: Linux + Nginx +MySQL + PHP
-
-
apache和nginx区别: 处理的同一时间访问量(并发量)不一样
-
apache 是多线程
-
nginx 处理并发量高 - 连接多
-
apache=进程-线程
-
nginx=进程-连接
-
-
http/apache的多线程: 大部分模式都是同步,不能同时干多份活
-
nginx的主进程master和从进程worker: 都是异步,可以同时干多份活
-
备份:
-
完全备份: dd,cp,scp.
-
增量备份:Rsync
-
差异备份:第一次的完全备份
-
-
网络服务内容
-
动态主机配置协议(DHCP)
-
域名解析服务(DNS)
-
网站服务(Apache、Nginx、Tomcat)
- tomcat只能针对java
-
数据库服务(MySQL、Redis)
-
mysql 关系型数据库 和表格一样
-
redis 非关系型数据库
-
-
开发环境( LAMP、LNMP ): 不同服务之间的调用关系
-
文件传输协议(ftp、nfs)
-
数据备份服务(rsync)
-
邮件服务(Extmail)
-
二、Shell编程介绍
-
shell编程:编程是代码
-
编程语言分类:
-
编译性语言: 源代码->编译器编译成中间语言->运行成机器语言
- c,c++,java
-
解释性语言(脚本): 源代码->解释器翻译成机器语言
- shell,python
-
-
源代码: 语法+命令
-
shell编程: linux(命令)+语法(分支+循环)
-
shell运行环境: 解释器-bash
- 查看shell解释器命令: cat /etc/shells