# Unix/Linux 的体系架构

An image

An image

An image

# 守护进程

systemctl

systemctl status nginx

systemctl start nginx

ps aux | grep nginx

主进程要比工作进程小 id号

sudo ss -anp | grep :80

top 内存管理机制

ip ifconfig

# 进程、线程与协程

1、进程的目的就是担当分配系统资源(CPU时间、内存)的实体

2、线程是操作系统能够进行运算调度的最小单位

3、协程是一种用户态的轻量级线程

4、IO密集型应用的发展:多进程 -> 多线程 -> 事件驱动 -> 协程 (nginx、node)

5、CPU密集型应用的发展:多进程 -> 多线程

6、调度和切换的时间:进程 -> 线程 -> 协程

操作系统的设计,可以归结为三点:

1、以多进程形式,允许多个任务同时运行;

2、以多线程形式,允许单个任务分成不同的 部分运行;

3、提供协调机制,一方面防止进程之间和线 程之间产生冲突,另一方面允许进程之间和 线程之间共享资源。

# Linux免密远程登录

配置免密登陆的步骤

1、生成秘钥对

2、上传配置公钥

3、配置本地私钥

4、免密登陆功能的本地配置文件

# Linux免密远程登录

1、生成秘钥对

ssh-keygen -t rsa -C "你自己的名字" -f "你自己的名字_rsa"

2、上传配置公钥

上传公钥到服务器对应账号的home路径下的.ssh/中 ( ssh-copy-id -i "公钥文件名" 用户名@服务器ip或域名 ) 配置公钥文件访问权限为 600

    (ssh-copy-id -i "id_rsa.pub" xianming@47.93.221.229) 路径/Users/wangxianming/.ssh
1

3、配置本地私钥 把第一步生成的私钥复制到你的home目录下的.ssh/ 路径下 配置你的私钥文件访问权限为 600

chmod 600 你的私钥文件名

4、免密登陆功能的本地配置文件 编辑自己home目录的.ssh/ 路径下的config文件 配置config文件的访问权限为 644

# 免密登陆配置模版

An image

多主机配置

Host gateway-produce

HostName IP或绑定的域名

Port 22

Host node-produce

HostName IP或绑定的域名

Port 22

Host java-produce

HostName IP或绑定的域名

Port 22

Host *-produce

User root

IdentityFile ~/.ssh/produce_key_rsa

Protocol 2

Compression yes

ServerAliveInterval 60

ServerAliveCountMax 20

LogLevel INFO

单主机配置

Host evil-cloud

User root

HostName IP或绑定的域名

IdentityFile ~/.ssh/evilboy_rsa

Protocol 2

Compression yes

ServerAliveInterval 60

ServerAliveCountMax 20

LogLevel INFO

单主机配置

Host git.yideng.site

User git

IdentityFile ~/.ssh/evilboy_rsa

Protocol 2

Compression yes

ServerAliveInterval 60

ServerAliveCountMax 20

LogLevel INFO

# 另外一种简单的配置方法

sudo vim /etc/hosts

47.104.236.12 service-push

ping 47.104.236.12

# 常⻅见⽬目录

/bin

存放⼆二进制可执⾏行行⽂文件(ls,cat,mkdir等),常⽤用命令⼀一般都在这⾥里里。

/etc

存放系统管理理和配置⽂文件

/home

存放所有⽤用户⽂文件的根⽬目录,是⽤用户主⽬目录的基点,⽐比如⽤用户user的主⽬目录就 是/home/user,可以⽤用~user表示

/usr

⽤用于存放系统应⽤用程序,⽐比较重要的⽬目录/usr/local 本地系统管理理员软件安装⽬目录 (安装系统级的应⽤用)。这是最庞⼤大的⽬目录,要⽤用到的应⽤用程序和⽂文件⼏几乎都在 这个⽬目录。/usr/x11r6 存放x window的⽬目录/usr/bin 众多的应⽤用程序/usr/sbin 超级⽤用户的⼀一些管理理程序/usr/doc linux⽂文档/usr/include linux下开发和编译应⽤用 程序所需要的头⽂文件/usr/lib 常⽤用的动态链接库和软件包的配置⽂文件/usr/man 帮 助⽂文档/usr/src 源代码,linux内核的源代码就放在/usr/src/linux⾥里里/usr/local/bin 本地增加的命令/usr/local/lib 本地增加的库

/opt

额外安装的可选应⽤用程序包所放置的位置。⼀一般情况下,我们可以把tomcat等都 安装到这⾥里里。

/proc

虚拟⽂文件系统⽬目录,是系统内存的映射。可直接访问这个⽬目录来获取系统信息。

/root

超级⽤用户(系统管理理员)的主⽬目录(特权阶级^o^)

/sbin

存放⼆二进制可执⾏行行⽂文件,只有root才能访问。这⾥里里存放的是系统管理理员使⽤用的系 统级别的管理理命令和程序。如ifconfig等。

/dev

⽤用于存放设备⽂文件。

/mnt

系统管理理员安装临时⽂文件系统的安装点,系统提供这个⽬目录是让⽤用户临时挂载其他的⽂文件系统。

/boot

存放⽤用于系统引导时使⽤用的各种⽂文件

/lib

存放跟⽂文件系统中的程序运⾏行行所需要的共享库及内核模块。共享库⼜又叫动态链接 共享库,作⽤用类似windows⾥里里的.dll⽂文件,存放了了根⽂文件系统程序运⾏行行所需的共享 ⽂文件。

/tmp

⽤用于存放各种临时⽂文件,是公⽤用的临时⽂文件存储点。

/var

⽤用于存放运⾏行行时需要改变数据的⽂文件,也是某些⼤大⽂文件的溢出区,⽐比⽅方说各种服务的⽇日志⽂文件(系统启动⽇日志等。)等。

/lost+found

这个⽬目录平时是空的,系统⾮非正常关机⽽而留留下“⽆无家可归”的⽂文件(windows下叫 什什么.chk)就在这⾥里里