HP HYPERTEXT PREPROCESSER
超文本预处理器
词法分析
语法分析
生成执行路径
opcode 操作码
PHP解释器
php 源代码 编译成 二进制 执行 二进制程序
zend:opcode PHP 的中间语言
apache+php
cgi
module
fastcgi
nginx+fpm
数据库管理软件
1.数据库的创建、删除
2.创建表、删除、修改表
3.索引的创建和链接
4.用户和权限
5.数据的增删改查询操作
DML 数据操作语言
insert replace update delete
DDL 数据定义语言
create alter drop
DCL 数据控制语言
grant revoke
select
RDBMS EGRESQL 第一款关系数据库软件
ORACLE,SYBASS,INFOMAX SQL SERVER DB2
MYSQL POSTGRESQL enterpriseDB
反关系模型,nosql技术
DBMS
数据管理独立性
有效地完成数据存取
书包完整性和安全性
数据集中管理
并发存储与故障恢复
减少应用程序的开发时间
SQL : ANSI
sql86,sql89,sql92,sql99
MYSQL
社区版 community edtion
企业版 enterprise edtion
软件包格式
软件包管理器特有的格式
RPM包,.EXE .msi
通用二进制格式
源程序
rhel 5.8
mysql,mysql-server
mysql
-u username
-p
-h mysql server host
mysqld
tcp 3306端口
用户:[email protected]
用户名@可登陆的主机
-h 127.0.0.1
linux:socket /var/lib/mysql/mysql.sock
windows:memory
sql客户端
交互式模式
批处理模式
执行MYSQL脚本
交互式模式中的命令类别
客户端命令
服务器端命令
都必须使用语句结束符,默认为分号;
SQL接口
oracle PLSQL
SQL SERVER T-SQL
RDBMS:
/var/lib/mysql/
初始化
生产自主数据库 mysql
关系数据库对象:
库
表
索引
视图
约束
存储过程
存储函数
触发器
游标
用户
权限
事务
表:
行,列
表:实体
行,row 实体集
列:field ,column
字段名称,数据类型,类型修饰符(限制)
字符
CHAR{n}
VARCHAR{n}
BINARY{n}
VARBINARY{n}
TEXT{n}
BLOB{n}
数值
精确数值
整型
十进制
近似数值
浮点型
日期
逻辑
创建数据库
CREATE DATABASE db_name;
CRAATE DATABASE IF NOT EXISTS db_name;
DROP DATABASE db_name;
调用库
USE DB_NAME;
创建表
CREATE TABLE tb_name(col1,col2,.......);
CREATE TABLE STUDENTS(NAME CHAR(30) NOT NULL,AGE TINYINT UNSIGNED,GENDER CHAR(1));
查看表
SHOW TABLES FROM db_name;
查看字段
DESC tb_name;
删除表
DROP TABLE tb_name;
修改表
ALTER TABLE tb_name;
NODIFY 改内容
CHANGE 改名字
ADD
DROP
DML
INSERT INTO tb_name(col1,col2,...) VALUE|VALUES;
UPDATE tb_name SET colummn=value WHERE
DELETE FROM tb_name WHERE
REPLACE
SELECT 字段 FORM tb_name WHERE 条件
* 所有字段
不设置WHERE 表示所有行
选择:指定以某字段作为搜索码,做逻辑比较,筛选符合条件的行;
WHERE 指定选择条件
投影:选择需要的列,显示出
DCL
创建用户
CREATE USER ‘USERNAME‘@‘HOST‘ IDENTIFED BY ‘PASSWORD‘
DROP USER ‘USERNAME‘@‘HOST‘
HOST
IP
HOSTNAME
NETWORK
通配符
_:匹配任意单给字符,172.16.0._
%:匹配任意长度的任意字符,
授权
GRANT PRI1,PRI2,....ON DB_NAME,TB_NAME TO ‘USERNAME‘@‘HOST‘;
取消授权
REVOKE PRI1,PRI2,....ON DB_NAME,TB_NAME FROM ‘USERNAME‘@‘HOST‘;
查看用户的授权
SHOW GRANTS FOR ‘USERNAME‘@‘HOST‘;
ALL PRIVILEGES 所有权限
GRANT ALL PRIVILEGES ON DB_NAME.TB_NAME TO USER @ HOST;
为用户设定密码
1. mysql>SET PASSWORD FOR ‘USER‘@‘HOST‘=PASSWORD(‘password‘);
FLUSH PRIVILEGES 刷新授权表 使修改的密码生效
2. #mysqladmin -uUSERNAME -P旧密码 -Hhost PASSWORD ‘PASSWORD‘
3. mysql>UPDATE TABLE SET PASSWORD=PASSWROD(‘passwrod‘) WHERE USER=‘USER‘ AND HOST=‘HOST‘;
图形客户端工具
1.PHPmyadmin
2.workbench
3.mysql front
4.navicat for mysql
5.toad
LAMP
phpmyadmin
论坛
discuz 腾讯收购
phpwind 阿里巴巴
phpbb
cms
druple
joomla
博客 wordpress 个人博客系统
PHP解释器---MYSQL 交互
HTTP+PHP
CGI 请求--http--启动独立CGI进程,完成后销毁进程,由http管理控制整个过程
MOUDLE 请求--http--不建立新进程在http内部调用模块,处理请求
FASTCGI 请求--http--启动独立服务,管理多个CGI的生命周期,需要启动新服务和进程,DEAMON SOCKET 9000
动态内容静态化,将动态请求访问得到的动态结果缓存成静态页面,加快访问速度,优化站点性能
LAMP
LINUX
APACHE (HTTPD) ASF(apache软件基金会,)
PHP(PYTHON,PERL)
MYSQL
HTTPD:2.4.4
PHP:5.4.13
MYSQL:5.6.10 (RPM,通用二进制格式,源码)
apr--apr-util--httpd--mysql--php--xcache
rpm包:
/bin,/sbin,/usr/bin,/usr/sbin,
/lib,/usr/lib,
/etc
/usr/share/{doc,man}
编译安装:
/usr/local/程序同名目录下
/bin,/sbin,/usr/bin,/usr/sbin,
/lib,/usr/lib,
/etc
/usr/share/{doc,man}
apr 安装 解压 ./configure --prefix=安装目录
make
make install
apr-util 安装 解压 ./configure --prefix=安装目录 --with-apr=指定已经安装apr的目录位置
make
make install
httpd
apr httpd的虚拟机 apache portable runtime
apr-util APR工具组建
httpd 编译
prefork worker event(2.4默认)
模块化方式使用MPM
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-rewirte --enable-ssl --enable-cgi --enable-cgid --enable-modules=most --enable-mode-shared=most --enable-mpms-shared=all --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
开机启动 chkconfig --list httpd
chkconfig --level 2345 httpd on
添加路径
vim /etc/profile.d/httpd.sh
对于基于ip的访问控制
order,allow,deny
allow from all
2.4中不在支持 可以用 require not 替换 require
require user 用户名
require group 组名
require ip IP地址
require host 主机名
允许所有主机访问
require all granted
拒绝所有主机范文
require all denied
apache benchmark ab 压力测试 \usr\local\apache\bin\
-c 指定并发数
-n 一共请求多少个
mysql tar -xf
ln -sv
fdisk -l pvs vgs lvs 查看信息
fdisk /dev/物理硬盘
n 创建lvm 分区
w 保存退出
pvcreate /dev/lvm分区 新建物理卷 physicalvolume
vgcreate 卷组名称 /dev/lvm分区 新建卷组 volumegroup
lvcreate -n 逻辑卷名 -L 大小 卷组名称 logicalvolume
mke2fs -j /dev/卷组名称/逻辑卷名
mkdir /mydata 创建数据库目录
vim etc/fstab 添加开机自动挂在 /dev/卷组名/逻辑卷名 /挂在目录
mysql/script/mysql_install_db --datadir= --user=
cp mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld on 2 3 4 5
mysql 配置文件格式,集中式配置文件,可以给多个程序配置
分段式配置方式
[mysql]
*****
[mysql]
[mysqld]
******
[mysqld]
[client]
******
[client]
/etc/my.conf ----/etc/mysql/my.conf ---- $basedir/my.conf----用户家目录/.my.conf 配置以最后一个为准,后者覆盖前者
配置冲突,以最后一个为准,覆盖前一个
MYSQL 服务器中的变量
服务器变量
用户定义mysql服务器运行特性
SHOW GLOBAL VARIABLES LIKE ‘DATADIR‘;
状态变量
保存了mysql服务器运行的统计数据
SHOW GLOBAL STAUTS LIKE
MYSQL 通配符
_:任意单个字符
%:任意多个字符
vim /etc/man.config
添加manpath 定位到mysql的man目录
ldconfig -V 刷新系统库
系统开机缓存所有库文件到一个文件 /etc/ld.so.cache中
设置头文件
ln -sv /usr/local/mysql/include /usr/local/mysql/include
php
php53-bmstring 支持长字节 中文
XML 扩展标记语言
freetype 自由扩展字体引擎
cd php
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
--with-apxs2=/usr/local/apache/bin/apxs 把PHP编译成httpd的模块
--enable-fpm 把PHP编译成服务 fastcgi 模式
xcache PHP的扩展 PHP 5.5 以上 需要 XCACHE 3.0 以上
tar xcache
cd xcache
/usr/local/php/bin/phpize PHP 扩展安装程序
./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
安装位置
/usr/local/php/lib/php/extensions/no-debug-zts-20131226/
cp xcache.ini /etc/php.d/
vim xcache.ini
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/xcache.so
垃圾回收期 GC
mail server
smtp:simple mail transfer protocol
esmtp:extended
pop3:post office protocol
imap4:internet mail access protocol
uucp:unix to unix cpoy protocol 主机文件复制协议
sendmail 半数互联网邮件收发软件
单体结构 SUID 配置文件语法复杂 M4编写
MT 邮件传输
MDA 邮件投递代理 SMTPD 送递邮件至用户邮箱
procmail
maildorp
MUA 邮件用户代理 类似 outlook 客户端 使用SMTP 投递邮件至 SMTPD
outlook express ,outlook ,foxmail ,thunderbrid , evolution , mutt(文本)
MTA 邮件传输代理 类似 mdaemoon SMTPD 使用 SMTP 投递邮件至 远程SMTPD
qmail
postfix 模块化设计 作者为IBM 安全领域专家 跟sendmail兼容 效率高 约sendmail 的4倍
exchange windows 异步消息协作平台
MRA 邮件取回代理 MUA从个人邮箱里取回 邮件 协议 POP IMAP4
OPEN REALY 开放式中继 无条件转发
SASL simple authnitication secure layer 简单认证安全层
webmail
openwebmail
squirrelmail
SASL
cyrus-sasl
courier-authlib
postfix + sasl (courer-authlib)+ mysql
dovecot + mysql
webmail + extman + httpd
postfix 配置文件
postfix模块化
master: /etc/postfix/master.cf
mail: /etc/postfix/main.cf
参数 = 值:参数必须写在行首处 以空白开头的行被认为是上一行的延续
postconf 配置postfix
-d 显示默认配置
-n 修改了的配置