学习本章节内容须知、技巧、背景等
遇到错误如何解决
下载包哪里下 r.aminglinux.com
源码包、rpm包比较
版本相关的问题
1.1 mysql安装
讲解:
出最多问题的地方是数据库初始化,必须要保证mysql版本和系统版本一致
a. mysql版本问题(二进制包、源码包、rpm包) liaio-devel
b. rpm包中的mysql mysql-server mysql-libs(libmysqlclient.so.16.0.0) mysql-devel (libmysqlclient)
/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代码格式要写对
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. 最容易出的问题,
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. 两种条件存在的情况下
Order deny,allow
Deny from all
Allow from 127.0.0.1
SetEnvIfNoCase Referer "^http://.*\.aaa\.com" local_ref
SetEnvIfNoCase Referer ".*.ddd.com" local_ref
SetEnvIfNoCase Referer "^$" local_ref
Order Allow,Deny
Allow from env=local_ref
以匹配精度高的为准
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