学习本章节内容须知、技巧、背景等php
遇到错误如何解决html
下载包哪里下 r.aminglinux.com mysql
源码包、rpm包比较linux
版本相关的问题sql
1.1 mysql安装数据库
讲解:apache
出最多问题的地方是数据库初始化,必需要保证mysql版本和系统版本一致浏览器
a. mysql版本问题(二进制包、源码包、rpm包) liaio-devel 缓存
b. rpm包中的mysql mysql-server mysql-libs(libmysqlclient.so.16.0.0) mysql-devel (libmysqlclient)php7
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --datadir=/data/mysql --user=mysql &
1.2 apache编辑安装
讲解:
出最多问题 httpd: Could not reliably determine the server's fully qualified domain name,
a. echo $?的使用
b. 动态、静态
c. 已经安装好,想更改编译参数如何作? make clean
d. 2.2和2.4 (http://www.apelearn.com/bbs/thread-7283-1-1.html)
e. apache自定义启动脚本 http://www.apelearn.com/bbs/thread-14440-1-1.html
1.3 mpm模式
讲解:
a. 2.2默认是prefork,2.4默认是event,apache切换不一样的mpm模式,须要从新编译 --with-mpm
b. mpm配置文件所在位置
1.4 php安装
讲解:
a. 编译参数须要不须要记忆? 不明白什么意思?
b. php如何和apache结合在一块儿的?php和mysql的关系。
c. php7的问题
1.5 测试解析
讲解:
a. 关键几个点
apachectl -M 看是否加载libphp5.so
httpd.conf 里面是否写对 AddType Application/x-httpd-php .php
php代码格式要写对<?php <php?
selinux要关闭
b. 403 500如何处理
1.6 安装discuz
讲解:
a. 浏览器不能访问,可是能够curl访问
b. hosts 的做用,hosts修改的技巧
c. 你们出问题,一直排查不出来,那是由于启动了rpm的httpd,而非编译安装的apache2
1.7 用户认证
讲解:
a. 用户认证的需求背景
b. 401问题
c. curl -U
1.8 默认虚拟主机
讲解:
a. 为何要把默认虚拟主机禁止
b. 如何只容许ip访问,不容许其余域名访问?
1.9 域名301
讲解:
a. 需求背景
b. 301不成功的缘由
c. 最容易出的问题, <IfModule mod_rewrite.c> </IfModule> 写到了 <VirtualHost> </VirtualHost> 外头
2.0 日志切割
讲解:
a. 需求背景
b. 访问日志有什么用
c. 如何测试日志切割
2.1 不记录指定类型
讲解:
a. 需求背景
2.2 静态缓存
讲解:
a. 需求背景
2.3 防盗链
讲解:
a. 什么是referer
b. 需求背景
c. 直接访问图片403,是由于没有设置空referer为白名单
d. 控制语句应该写成 Order deny,allow 这样就能够加 deny from all了
2.4 访问控制
讲解:
a. 背景
b. 语句执行过程 (有特例 http://www.apelearn.com/bbs/thread-832-1-1.html)
c. 两种条件存在的状况下
<Directory /data/www/>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
SetEnvIfNoCase Referer "^http://.*\.aaa\.com" local_ref
SetEnvIfNoCase Referer ".*.ddd.com" local_ref
SetEnvIfNoCase Referer "^$" local_ref
<filesmatch ".(txt|doc|mp3|zip|rar|jpg|gif|png)">
Order Allow,Deny
Allow from env=local_ref
</filesmatch>
以匹配精度高的为准
2.5 禁止解析php
讲解:
a. 背景
b. 咱们禁止解析了,还要禁止访问
c. 指定了一个目录禁止解析,那么该目录下面的子目录也会禁止掉
2.6 限制user_agent
讲解:
a. 什么是user_agent
b. 背景
c. rewritecond 的而且和或者如何表示
d. 若是最后一个cond后面不当心加了[OR] ,紧接着设置- [F],则全部user_agent都会403
2.7 rewrite限制目录
讲解:
a. 需求背景
2.8 php.ini
讲解:
a. php.ini哪里来的
b. php.ini配置文件路径怎么找? 能够指定 在httpd.conf中添加PHPIniDir "/usr/local/php/etc/php.ini"
c. disable_function 和 openbase_dir的做用
2.9 php扩展模块
讲解:
a. 什么是扩展模块,为何要这样安装
3.0 mysql配置
讲解:
a. 5.6版本,supports目录下没有 large huge之类的模板了,直接拷贝 default便可
b. [mysql] 和 [mysqld]区别
c. 慢查询日志的做用
3.1 mysql root密码重置
讲解:
a. 5.7版本有所改变 参考 http://www.apelearn.com/bbs/thread-10105-1-1.html
b. 不少同窗遇到一个问题,update的说话,发现变化的行是0,说明数据已经被破坏,只能从新初始化一下
3.2 mysql 登陆
讲解:
a. mysql默认不加-h 就是链接socket,-S指定socket,-h指定主机
3.3/3.4 mysql操做
讲解:
a. show processlist; show variables like ''; set global xxx=''; 用的比较多
3.5 备份恢复
讲解:
a. 注意字符集的问题
b. 一次性备份全部库,用xtrabackup http://www.apelearn.com/bbs/thread-1012-1-1.html