Nginx實現 動靜分離

文章目錄

1、動靜分離的簡介

2、反向代理原理

3、配置實驗

3.一、實驗要求

3.二、環境準備

3.三、架構LAMP

3.四、架構Nginx的靜態分離

4、實驗總結

1、動靜分離的簡介

. Nginx 的靜態處理能力很強,經常使用處理靜態請求,可是動態處理能力不足,所以,在企業中經常使用動靜態分離技術。

. 針對 PHP 的動靜分離,靜態頁面交給Nginx 處理,動態頁面交給PHP-FPM模塊或 Apache處理

. 在Nginx的配置中,是經過location 配置段配合正則匹配實現靜態與動態頁面的不一樣處理方式。

2、反向代理原理

. Nginx 不只能做爲 Web服務器,還具備反向代理、負載均衡和緩存的功能。

. Nginx 經過 proxy模塊實現將客戶端的請求代理至上游服務器,此時nginx與上游服務器的鏈接是經過http協 議進行的。

. nginx 在實現反向代理功能時的最重要指令爲:proxy_pass 它的處理邏輯將用戶請求調度至上游服務器。

3、配置實驗

3.一、實驗要求

根據企業須要,將配置nginx 實現動靜分離,對PHP頁面的請求轉發給LAMP 處理,而靜態頁面交給 nginx處理,以實現動靜分離。

3.二、環境準備

準備兩臺centos虛擬機,第一臺已經搭建好 Nginx配置,第二臺用於搭建 LAMP平臺。

LAMP平臺:192.168.111.141php

Nginx平臺:192.168.111.139html

3.三、架構LAMP

一、安裝 http,關閉防火牆

systemctl stop firewalld
setenfoce 0

yum install httpd httpd-devel -y

#開啓服務
systemctl start httpd

二、安裝數據庫MySQL,並開啓服務

#安裝 mariadb(簡單,快捷,輕量級別的,安裝便利)數據庫
yum install mariadb mariadb-server mariadb-libs mariadb-devel -y

#啓動 mariadb
systemctl start mariadb.service

#過濾看下
netstat -anpt | grep 3306

三、給MySQL數據庫設置密碼,進行數據庫配置

mysql_secure_installstion 
#回車
#給root 設置密碼:abc123
#回車 
#會顯示Remove anonymouns users(匿名用戶)-> N
#回車
#Disallow root login remotely(是否拒絕root遠程登錄)-> N
#回車
#Remove test database and access to it(是否刪除測試數據庫)->N
#回車
#Reload pricilegs tables now(是否從新加載權限列表)-> Y

Nginx實現 動靜分離

Nginx實現 動靜分離

四、安裝 php ,創建php和mysql關聯

#安裝php
yum install php -y

#安裝 (創建php和mysql)關聯插件
yum install php-mysql -y

五、安裝php插件

#安裝php插件
yum install -y php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath

六、新建PHP網頁內容文件

cd /var/www/html

mv index.html index.php

vim index.php
<?php
  echo "this is apache web";
?>

七、重啓服務,在 ‘ nginx ’ 的瀏覽器中輸入 192.168.111.141/index.php

#再重啓服務
systemctl restart httpd.service
systemctl restart mariadb

Nginx實現 動靜分離

3.四、架構Nginx的靜態分離

nginx的安裝已經提早配置好了,須要的能夠看上一篇博客,連接爲:Nginx 的配置

一、修改 Nginx 的配置文件,將PHP文件請求轉發到 Apache 處理。

vim /usr/local/nginx/conf/nginx.conf

Nginx實現 動靜分離

二、重啓nginx服務

service nginx restart

三、在nginx的瀏覽器中訪問網站:192.168.111.139/index.php 驗證

Nginx實現 動靜分離

. php是動態請求, html是靜態請求。

. 若是是靜態請求,Nginx直接進行處理,如果動態請求,nginx自動將動態請求轉發給Apache處理。

訪問網站:192.168.111.139/index.html

Nginx實現 動靜分離

4、實驗總結

一、LAMP架構的yum安裝,配置php頁面

二、Nginx的安裝

三、Nginx開啓反向代理功能

四、用靜態請求和動態請求驗證明驗

相關文章
相關標籤/搜索