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端口
用戶:username@host
用戶名@可登陸的主機
-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 修改了的配置