httpd 2.4新特性
①MPM可运行时装载
②Event MPM
③异步读写
④在每模块及每目录指定日志级别
⑤每请求配置:<IF><ElseIF><else>可以单独的对每个文件进行配置
⑥增强的表达式分析器
⑦毫秒级的KeepAlive Timeout
⑧基于域名的主机不在需要NamevirtualHost指令
⑨降低了内存占用
10支持在配置文件中使用自定义变量
11基于IP的访问控制 Require all granted 允许所有的主机访问
Mysql5.5.28通用二进制格式的安装:直接解压就能够使用****官方的要求必须放到/usr/local 并创建一个软链接到mysql
下载mysql-5.5.28-linux2.6-x86_64.tar.gz
tar xf mysql-5.5.28-linux2.6-x86_64.tar.gz -C /usr/local
cd /usr/local
ln -sv mysql-5.5.28-linux2.6-x86_64 mysql
如果想初始化安装mysql需要用mysql用户和mysql组来进行,所以先创建一个mysql系统用户:
useradd -r mysql
chown -R mysql:mysql /usr/local/mysql **INSTALL-BINARY可以参考安装mysql
执行scripts目录下的mysql_install_db先完成初始化,同时这个脚本可以接受多个选项
./mysql_install_db --help
--datadir= mysql数据存放位置,建议放在一个逻辑卷中,在逻辑卷中创建一个子目录(mysql)并且此目录的身份为mysql
--user= 执行初始化的用户
执行初始化:scripts/mysql_install_db --user=mysql
初始化完成之后再将myslq下所有文件的属主更改回root,data目录例外
chown -R root:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data
在suppor-files文件夹下提供了启动mysql服务的脚本,将copy至/etc/init.d目录下,并加至服务列表中
cp suppor-files/mysql-server /etc/init.d/mysqld
chkconfig --add mysqld
Mysql的配置文件:/etc/my.cnf,配置文件也是片段式的和php很像
mysql查找其配置文件的次序:/etc/my.cnf-->/etc/mysql/my.cnf-->$BASEDIR(mysql进程的运行目录)/my.cnf-->$DATADIR/my.cnf-->~/.my.cnf
同样在suppor-files提供了很多mysql的配置文件,不同的配置文件最明显的区别在于对内存的要求:
my-huge.cnf 巨级别的 1G-2G
my-large.cnf 大级别的 512M
my-medium.cnf 中等级别的 23M-64M
my-small.cnf 小级别的 >64M
[mysql]:是针对客户端的
[mysqld] 是针对服务端的
[client] 对所有的客户端都生效
复制一份到/etc/中当做mysql的配置文件cp /usr/local/mysql/suppor-files/my-large.cnf /etc/my.cnf
[mysqld]
port = 3306 监听端口
socket = /tmp/mysql.sock mysql的套接字文件路径
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU's2 for thread_concurrency
thread_concurrency = 8 线程并发量
datadir = 如果数据目录改变这一项必须加
将mysql所有的命令加入环境变量:
vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin
将mysql的帮助手册加入全局路径中:
vim /etc/man.config
MANPATH /usr/local/mysql/man
输出mysql的库文件
vim /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
输出mysql的头文件:
ln -sv /usr/local/mysql/include/* /usr/include/mysql
service mysql start 启动mysql服务
安装完成
Mysql服务器维护了两类变量:
服务器变量:定义了mysql服务器运行特性的,比如说datadir是在什么路径或要不要启动日志
查看命令:show global variables [like version] 只查看指定数据的内容
状态变量:保存了mysql服务器运行时候的统计数据的
show global status [like 'string']
也可以使用通配符:_:任意单个字符 %:任意长度的任意字符
php的编译安装:下载php-5.4.13.tar.bz2 使用modules模式
php-mbstring:用来支持中文或非一个字节能表示字符语言的
./configure --help | less
--prefix=/usr/local/php 指定安装的路径
--with-mysql=/usr/local/mysql 指定mysql所在的路径
--with-openssl 支持openssl功能
--with-mysqli=/usr/local/mysql/bin/mysql_config 另外一种mysql和php交互的接口
--enable-mbstring 支持中文
--with-freetype-dir 自由的可移植的字体库,能引用特定字体的
--with-jpeg-dir 支持jpeg图片的
--with-zlib 互联网通用的压缩库
--enable-libxml 支持扩展标记语言
--with-libxml-dir=/usr 扩展标记语言的路径
--enable-sockets 支持基于套接字的通讯
--with-apxs2=/usr/local/apache/bin/apxs 基于这个钩子,实现将php编译成apache的模块
--enable-fpm 启用fastcgi工作模式 启用此项的去掉--with-apxs2模块这项
--with-mcrypt 支持额外的加密功能
--with-config-file-path=/etc php的配置路径存放的目录 php.ini
--with-config-file-scan-dir=/etc/php.d 分段机制,在创建一个子目录php.d/*.ini,表示都是配置的配置文件
--with-bz2 压缩库
--enable-maintainer-zts 取决于apache的响应类型,如果是worker、event模型需要编译此项
httpd -M 查看apache工作在那种模型下:
mpm_event_module (shared)
vim /etc/httpd/httpd.conf
注释#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
启用LoadModuleLoadModule mpm_event_module modules/mod_mpm_event.so
给php提供配置文件
cp php-5.4.13/php.ini-production /etc/php.ini
编译apache的配置文件,使apache支持php
vim /etc/httpd/httpd.conf
AddType application/x-httpd-php .php 使apache能够处理php格式的页面
AddType application/x-httpd-php-source .phps 使apache能够处理phps格式的页面
DirectoryIndex index.html index.php(添加php主页面)
xcache加速器的配置安装:****能够跟php5.4配置工作的只有xcache2.0以后的版本
tar xf xcache-2.0.0.tar.bz2 因为它是php的扩展所以安装有点特别
运行 /usr/local/php/bin/phpize 准备一个php扩展以便进行编译
如果出现报错:
cd /root/php-5.4.13/ext/openssl/
mv config0.m4 config.m4
yum install autoconf
如果解决完成了报错下一步:
./configure
--help--enable-xcache
--with-php-config=/usr/local/php/bin/php-config 能够获取php的配置信息以及编译时候的选项
编译完成时会有一个信息:Installing shared extensions:安装完成共享扩展的路径,需加载至xcache的配置文件中
在xcache的解压路径下找到xcache.ini的配置文件,将其内容追加至/etc/php.ini,或复制到php.d目录中去
mkdir /etc/php.d
cp /root/xcache-2.0.0/xcache.ini /etc/php.d/
vim xcache.ini
[xcache-common]
zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so 共享扩展模块路径
#zend_extension_ts = c:/php/extensions/php_xcache.dll windows下使用,直接注释
[xcache.admin] xcache的管理功能
xcache.admin.enable_auth = On 认证功能
xcache.admin.user = "mOo" 管理用户是谁
xcache.admin.pass = "" 设定密码(md5加密)
[xcache]
xcache.shm_scheme = "mmap" 使用那种方式共享内存,在php进程间共享内存;mmap:内存映射的方式
xcache.size = 60M 用于缓存opcode的内存有多大
xcache.count = 1 设定CPU的个数
xcache.slots = 8K 缓存当中又多少个槽位缓存opcode
xcache.var_ttl = 0 过期时间
xcache.var_maxttl = 0 最多多久过期
xcache.var_gc_interval = 300 垃圾回收器多长时间工作一次
cache.cacher = On 缓存功能是否启用
重启httpd服务重新加载php模块,浏览index.php查看缓存功能时候加载,如果时间报错,修改php.ini里边的:date.timezone = "Asia/Shanghai"
启用httpd服务器的虚拟主机功能:
注释httpd.conf中的:DocumentRoot "/usr/local/apache/htdocs"
启用httpd.conf中的:Include /etc/httpd//extra/httpd-vhosts.conf
vim /etc/httpd/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerName www.a.org
DocumentRoot '/mnt/a'
<Directory>
Options Indexes
Require all granted
</Directory>
ErrorLog "/var/log/apache/error_log"
CustomLog "/var/log/apache/access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerName www.b.net
DocumentRoot '/mnt/b'
<Directory>
Options Indexes
Require all granted
</Directory>
ErrorLog "/var/log/apache/error_log"
CustomLog "/var/log/apache/access_log" common
</VirtualHost>
apache服务器的压力测试:Apache benchmark apache性能测试工具
-c 并发数
-n 请求个数
ab -c 10 -n 100 http://www.a.org/index.html
Server Software:服务软件及版本号
Server Hostname:主机名
Server Port:服务端口
Document Path:文档路径
Document Length:文档长度
Concurrency Level:并发级别
Time taken for tests:从第一个请求开始到最后一个响应结束经过的时间
Complete requests:成功得到请求个数
Failed requests:失败的个数
Write errors:失败的写入次数
Total transferred:服务器响应整体数据的大小
HTML transferred:仅指页面的大小,报文首部不算
Requests per second:每秒钟完成的请求数
Time per request:一批请求平均完成的时间
Time per request:一个请求平均完成的时间
Transfer rate:传输速率
网页动态内容测试:安装PhpWebAdmin,下载PhpWebAdmin
cp -a phpMyAdmin-3.4.3.2-all-languages.zip /usr/local/apache/htdocs/
cd /usr/local/apache/htdocs/
unzip phpMyAdmin-3.4.3.2-all-languages.zip
mv phpMyAdmin-3.4.3.2-all-languages pam
cd pam
vim config.sample.inc.php(这是phpMyAdmin主配置文件)
$cfg['blowfish_secret'] = ''; 自己生成一段随机数 openssl rand -hex 10 生成10位随机数
——————————来自马哥课程