Nginx動靜分離實操

2021-08-17 06:13:48 字數 3226 閱讀 4645

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/exports

tar -xvf wordpress-4.8.1-zh_cn.tar.gz

2.nginx伺服器配置首先nginx與php伺服器都要掛載nfs。實現統一部署方便管理

然後再配置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.conf

listen = 9000 # 只寫監聽埠,即監聽所有ip

listen.allowed_clients = any # 允許所有ip進行訪問。或者將這行注釋。

4.mysql伺服器

yum install marirdb-server
/usr/local/mysql/bin/myhsql_secure_installation         #mysql初始化指令碼,以下為每一項的翻譯

是否設定root密碼

輸入密碼

確認密碼

是否設定匿名使用者

是否允許root遠端登入

刪除test資料庫

現在是否生效

mysql -uroot -p

create database wpdb; # 建立wp資料庫

grant all on wpdb.* to wpadm@'10.10.%' idenfied by 'centos'; # 授權使用者。使用者不存在系統會自動建立

5.image伺服器配置

yum install nginx                               # 安裝nginx
tar -xvf wordpress-4.8.1-zh_cn.tar.gz

server                                        # 如果使用apache要注意在centos7下預設拒絕所有
nginx start                                     # 啟動服務
6.配置wordpress

cp wp-config-sample.php wp-config.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主機位址

至此配置就已經完成。達到了從伺服器返回,靜態nginx直接返回,動態交給php進行處理。

總結

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 注意一點的是 經同事提醒,可以...