nginx的靜態處理能力很強,但是動態處理能力不足,因此,在企業中常用動靜分離技術。動靜分離技術其實是採用**的方式,在server{}段中加入帶正則匹配的location來指定匹配項針對php的動靜分離:靜態頁面交給nginx處理,動態頁面交給php-fpm模組或apache處理。在nginx的配置中,是通過location配置段配合正則匹配實現靜態與動態頁面的不同處理方式。
一、專案簡述
部署wordpress實現整個**的動靜分離,實現如下要求:
1.前端nginx收到靜態請求,直接從nfs中返回給客戶端。
2.前端nginx收到動態請求轉交給通過fastcgi交給php伺服器處理。
----如果得到靜態結果直接從nfs取出結果交給nginx然後返回給客戶端。
----如果需要資料處理php伺服器連線資料庫後將結果返回給nginx
3.前端nginx收到請求以.jpg、.png、.gif等請求交給後端images伺服器處理。
二、整體架構圖
三、配置詳解
1.nfs伺服器配置
vim /etc/exports2.nginx伺服器配置首先nginx與php伺服器都要掛載nfs。實現統一部署方便管理tar -xvf wordpress-4.8.1-zh_cn.tar.gz
然後再配置nginx
nginx主要是server中的location的配置。配置location將.php結尾的交給php伺服器。將.jpg、gif結尾的交給image。其他配置按預設即可。
}3.php伺服器配置php伺服器的配置比較簡單,主要講php以fpm模式安裝後進行簡單的配置即可
yum install php-fpm php-mysql
vim /etc/php-fpm.d/www.conf4.mysql伺服器listen = 9000 # 只寫監聽埠,即監聽所有ip
listen.allowed_clients = any # 允許所有ip進行訪問。或者將這行注釋。
yum install marirdb-server
/usr/local/mysql/bin/myhsql_secure_installation #mysql初始化指令碼,以下為每一項的翻譯5.image伺服器配置是否設定root密碼
輸入密碼
確認密碼
是否設定匿名使用者
是否允許root遠端登入
刪除test資料庫
現在是否生效
mysql -uroot -p
create database wpdb; # 建立wp資料庫
grant all on wpdb.* to wpadm@'10.10.%' idenfied by 'centos'; # 授權使用者。使用者不存在系統會自動建立
yum install nginx # 安裝nginxtar -xvf wordpress-4.8.1-zh_cn.tar.gz
server # 如果使用apache要注意在centos7下預設拒絕所有
nginx start # 啟動服務6.配置wordpress
cp wp-config-sample.php wp-config.php # 複製乙個模板檔案後改名作為主配置檔案至此配置就已經完成。達到了從伺服器返回,靜態nginx直接返回,動態交給php進行處理。vim wp-config.php
/** wordpress資料庫的名稱 */
define('db_name', 'wpdb'); # wpdb為mysql中建立的資料庫
/** mysql資料庫使用者名稱 */
define('db_user', 'wpadm'); # wpadm為mysql中授權的使用者
/** mysql資料庫密碼 */
define('db_password', 'centos'); # 授權使用者的密碼
/** mysql主機 */
define('db_host', '10.10.0.24'); # mysql主機位址
總結
1.前端nginx要做好location匹配,將*.php與*.jpg等進行反向**。
2.後端php伺服器要修改配置檔案,php自帶配置檔案只監聽本地,且只允許本地訪問
3.後端image伺服器,不論是apache還是nginx要開啟web服務。根目錄要指向根目錄,且根目錄下的要與原本檔案目錄結構一致。
免費提供最新linux技術教程書籍,為開源技術愛好者努力做得更多更好:
nginx動靜分離配置 Nginx動靜分離
動靜分離,就是將jsp servlet等動態資源交由tomcat或其他web伺服器處理,將css js image等靜態資源交由nginx或其他http伺服器處理,充分發揮各自的優勢,減輕其他伺服器的壓力,搭建更為高效的系統架構。nginx動靜分析的實現 下面要搭建nginx,環境中有三颱nginx...
nginx 動靜分離
定義nginx執行的使用者 和 使用者組 如果對應伺服器暴露在外面的話建議使用許可權較小的使用者 防止被入侵 user www www nginx程序數,建議設定為等於cpu總核心數 worker processes 8 開啟全域性錯誤日誌型別 error log var log nginx err...
nginx動靜分離
nginx location的正則法則 為區分大小寫的匹配。不區分大小寫的匹配 匹配firefox的正則同時匹配firefox 不匹配的 不匹配的 匹配除換行符以外的任意字元 location 匹配的優先順序 與location在配置檔案中的順序無關 location 注意一點的是 經同事提醒,可以...