博文

目前显示的是 十月, 2017的博文

mini Linux的制作,rsyslog系统日志,pam和nss(第25天)

图片
Mini Linux的制作 CentOS 6的启动流程如下: POST --> BootSequence(BIOS) --> BootLoader --> Kernel (ramdisk) --> rootfs --> /sbin/init init程序启动/etc/rc.d/init.d/目录里的脚本来启动各个程序    SysV风格,这些服务脚本可以自己编写。 /etc/inittab文件的作用: 默认运行级别 运行系统初始化脚本:/etc/rc.d/rc.sysinit /etc/rc.d/rc $runlevel   如果runlevel为0,就运行/etc/rc.d/rc0/目录里的脚本(k开头的被stop,s开头的被start) 启动终端,并运行login 启动图形终端 upstart程序通过/etc/init/*.conf里的配置文件来启动各个程序(使用exec来启动各个程序) CentOS 7的启动流程如下: POST --> BootSequence(BIOS) --> BootLoader --> Kernel (ramdisk) --> rootfs --> /sbin/systemd     systemd是一个大管家 CentOS 7 编写Systemd unit文件 bootloader有如下几种:     lilo     grub legacy     grub 2:第一阶段位于MBR中,第1.5阶段用来识别文件系统,第2阶段是主程序 内核编译的步骤:   make menuconfig    生成 .config 文件 make [-j #] make modules_install make install 复制程序及其依赖的库文件脚本示例: #!/bin/bash # target=/mnt/sysroot [ -d $target ] || mkdir ...

文件共享服务(ftp,nfs,samba)(第24天)

图片
编译LAMP,构建分离式LAMP 1:动态资源部署在应用程序服务器(php-fpm)中,静态资源部署在web服务器中 2:php-fpm方式工作时,他不会被编译后曾httpd的模块,因此无需在httpd的配置文件中LoadModule; 3:编译php时,需要连接mysql或其他数据库管理系统时,需要启用其相关的驱动模块 4:php与mysql不在同一个节点,连接mysql的用户账号要有远程访问权限。 文件共享服务 应用层:ftp 内核层:nfs 跨平台:samba服务,在Liinux上实现CIFS(SMB)协议。 登录某个共享服务,能做的操作权限(上传,删除等操作)取决于服务本身开放的权限和运行该共享服务的本地文件系统上的文件的权限 ftp详解: FIle Transfer Protocol ftp是应用层协议:基于tcp,监听在端口21号端口, ftp是C/S架构,分客户端和服务端 ftp传输的数据分为2类: 控制类命令:ftp有多个文件管理类命令,始终在线的连接:21号端口 数据连接类:传输文件数据,按需创建以及关闭的连接 ftp支持文本和二进制传输。 连接分为主动连接和被动连接: 主动连接:由服务器端创建连接       命令通道:Client 50000端口   ----->     Server 21端口       数据通道:Server 20端口      ------->    Client 50000+1端口,弊端:服务器端主动连接客户端,但是一般来说,客户端都有防火墙。 被动连接:   由客户端创建连接       命令通道:Client 50000端口      ----->    Server 21端口       数据通道:Client 50000+1端口 ----->    Server 随机端口,这个随机端口会由服务端通过命令通道告知客户...

MariaDB(MySQL)的基础,LAMP源码安装,sudo,vsftpd(第23天)

回顾:MariaDB的基础 关系:二维关系,表(行、列) 设计范式: 第一范式:字段是原子性; 第二范式:每个表都必须存在可用主键; 第三范式:任何表都不应该有依赖于其它表非主键的字段; 约束:主键(primary key)、惟一键(unique key)、外键(foreign key)、检查性约束; MariaDB安装方式有3种: 源码编译安装; 通用二进制格式; 包管理器(rpm, deb):包从 OS vendor、程序官方等处获取。 数据库组件有:数据库、表、索引、视图、用户、权限,存储过程、存储函数、触发器、事件调度器 创建数据库、设计数据表 字段:字段名、数据类型、数据类型修饰符、约束 DDL、DML、DCL: DDL: CREATE、DROP、ALTER DML: INSERT(REPLACE)、DELETE、UPDATE、SELECT DCL:GRANT, REVOKE 字符型有如下几种: 定长字符型:CHAR(#), BINARY(#) 变长字符型: VARCHAR(#), VARBINARY(#) 对象存储:TEXT(不区分大小写)和BLOB(binary large object 区分字符大小写) 内置类型:ENUM(枚举)和SET(集合) 数值型:int,tinyint   1byte,smallint  2bytes,mediumint   3bytes,int  4bytes,bigint  8bytes,decimal(十进制类型),float, double 日期时间型有如下几种:其实也是字符型 日期:DATE 时间:TIME 日期时间:DATETIME 时间戳:TIMESTAMP 年份:YEAR(2), YEAR(4) 字段的修饰符: 所有类型适用:NOT NULL,DEFAULT,PRIMARY KEY,UNIQUE KEY,FOREIGN KEY 数值型适用:UNSIGNED(无符号),AUTO_INCREMENT(自动增加一) 数据库操作语句: CREATE D...

httpd2.4的基本配置,lamp和php简介,php配置,mariadb(MySQL)(第22天)

图片
回顾:httpd协议基础,httpd的基础配置 http事务:请求<-->响应 request报文: <method> <URL> <version> <HEADERS> <entity> response报文: <version> <status> <reason phrase> <HEADERS> <entity> 请求方法:GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE, ... 响应状态码: 1xx: 额外信息 2xx: 成功类,200 3xx: 重定向类 4xx:客户端错误 5xx:服务器端错误 httpd-2.4的新特性: (1) MPM支持运行DSO(动态共享对象)机制;以模块形式按需加载; (2) 支持event MPM;event在httpd-2.2中是实验性质,在http-2.4中已成熟 (3) 支持异步读写; (4) 支持每模块及每个目录分别使用各自的日志级别; (5) 每请求配置;<If> (6) 增强版的表达式分析器; (7) 支持毫秒级的keepalive timeout; (8) 基于FQDN的虚拟主机不再需要NameVirtualHost指令; (9) 支持用户自定义变量; httpd-2.4的 新模块: (1) mod_proxy_fcgi (2) mod_ratelimit (3) mod_remoteip 修改了一些配置机制: 不再支持使用Order, Deny, Allow来做基于IP的访问控制; 安装httpd2.4 apr表示 apache portable runtime    apache运行时环境 httpd2.4依赖于apr-1.4+, apr-util-1.4+, [apr-icon] centos 6上提供的是 apr-1.3.9, apr-util-1.3.9 ,所以要在centos 6上安装httpd 2.4要...

httpd2.2基本配置和http协议报文和https的配置(第21天)

图片
MPM:  (课程后面会详细介绍) prefork:多进程模型,一个进程直接响应一个请求; worker:多线程模型(多进程生成,一个进程生成多个线程),一个线程响应一个请求; event:事件驱动模型,一个线程响应多个请求; 并发服务器响应请求: 单进程I/O模型;启动一个进程处理用户的请求,并且以此只处理一个请求,多个请求被串行响应 多进程I/O模型;并行启动多个进程,每个进程响应一个连接请求 复用的I/O模型;启动一个进程,然后同时响应N个连接请求,有如下两种实现方式(包括多线程模型和事件驱动模型) 多线程模型:一个进程生成N个线程,每个线程响应一个连接请求 事件驱动 :  一个进程直接处理N个请求 复 用的多进程I/O模型;启动M个进程,每个进程响应N个连接请求,所以就同时接受M×N个请求。 httpd第二部分(2) CentOS 6: httpd版本2.2 CentOS 7: httpd版本2.4 CentOS 6: httpd安装完成之后,通过rpm -ql httpd  查看所有的文件 httpd服务的配置文件如下: /etc/httpd/conf/httpd.conf    主要配置文件 /etc/httpd/conf.d/*.conf         分段配置文件 httpd服务的启动脚本: /etc/rc.d/init.d/httpd 脚本的配置文件:/etc/sysconfig/httpd httpd提供的二进制文件如下: /usr/sbin/apachectl /usr/sbin/htcacheclean /usr/sbin/httpd               prefork模型 /usr/sbin/httpd.event     event模型 /usr/sbin/httpd.worker   worker模型 /usr/sbin/httxt2dbm /usr/sbin/rotatelog...