學習本章節內容須知、技巧、背景等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