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's
2 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位随机数

																																																																——————————来自马哥课程