1. 程式人生 > >Nginx系列-9.配置NFS實現Nginx實現動靜分離

Nginx系列-9.配置NFS實現Nginx實現動靜分離

Linux Nginx NFS 動靜分離

Nginx系列-9.配置NFS實現Nginx實現動靜分離

目錄 - Nginx系列

Nginx系列-1.Linux下安裝Nginx
Nginx系列-2.配置LNMP(Linux、Nginx、MySQL、PHP)架構
Nginx系列-3.配置Nginx虛擬主機
Nginx系列-4.Nginx日誌配置及日誌切割
Nginx系列-5.配置Nginx的防盜鏈
Nginx系列-6.配置Nginx的HTTPS
Nginx系列-7.配置Nginx使用uwsgi支持web.py框架
Nginx系列-8.配置Nginx+Apache實現動靜分離
Nginx系列-9.配置NFS實現Nginx實現動靜分離


Nginx系列-10.采用Nginx搭建正向代理服務
Nginx系列-11.配置Nginx反向代理和負載均衡


實驗環境
三臺最小化安裝的 CentOS 7.3
server1-Nginx-ip: 192.168.204.133
server2-Apache-ip: 192.168.204.134
server3-NFS-ip: 192.168.204.135

實驗拓撲
技術分享圖片

一、在server3上安裝配置NFS和nginx

  1. 在nfs上安裝nfs-utilsnginx

    yum install -y epel-*
    yum install -y nfs-utils nginx
  2. 配置NFS共享目錄

    vim /etc/sysconfig/nfs

    查找MOUNTD_PORT=892,並解除註釋
    技術分享圖片

  3. 啟動rpcbind服務,啟動nfs服務,查看監聽端口

    systemctl start rpcbind nfs
    netstat -anpt | grep rpcbind

    技術分享圖片

  4. 指定/var/www/share目錄為共享目錄,設置權限777

    mkdir /var/wwwroot
    mkdir /var/wwwroot/share
    chmod 777 /var/wwwroot/share

    技術分享圖片

  5. 編輯/etc/exports文件,並添加如下內容

    /var/wwwroot/share 192.168.204.*(rw,sync)

    技術分享圖片

  6. 重啟nfs服務

    systemctl restart nfs

    技術分享圖片

  7. 修改nginx配置文件/etc/nginx/nginx.conf

    server {
        listen 80;
        server_name file.test.com;
        location / {
            root /var/wwwroot;
            index index.html index.htm;
        }
    }

    技術分享圖片
    啟動nginx服務

    systemctl start nginx
  8. 排除偶然因素,關閉防火墻
    setenforce 0
    systemctl stop firewalld

二、在server2上配置NFS,安裝Apache和PHP

  1. 安裝nfs-utils

    yum install -y nfs-utils
  2. 查看NFS上的共享目錄

    showmount -e 192.168.204.135

    技術分享圖片

  3. 把共享目錄掛載到本地

    mkdir /var/wwwroot
    mkdir /var/wwwroot/share
    mount 192.168.204.135:/var/wwwroot/share /var/wwwroot/share

    技術分享圖片

  4. 測試NFS
    server2上讀寫文件,在server3上查看
    技術分享圖片

  5. 安裝ApachePHP

    yum install -y php httpd
  6. 修改Apache的配置文件
    將網站根目錄修改為/var/wwwroot

    vim /etc/httpd/conf/httpd.conf

    技術分享圖片
    在配置文件中添加節點,允許訪問/var/wwwroot目錄

    <Directory "/var/wwwroot">
    Require all granted
    </Directory>

    技術分享圖片

  7. 啟動Apache

    systemctl start httpd
  8. 排除偶然因素,關閉防火墻

    setenforce 0
    systemctl stop firewalld
  9. 建立測試文件

    cd /var/wwwroot
    echo -e "<?php phpinfo(); ?>" >> info.php
  10. 在宿主機訪問該測試文件
    技術分享圖片

三、在server1(nginx)上配置NFS和Apache動靜分離

  1. 安裝nginx

    yum install -y epel-*
    yum install -y nginx vim
  2. 修改nginx配置文件/etc/nginx/nginx.conf

    server {
        listen 80;
        server_name proxy-server.test.com;
        root /var/wwwroot;
        location / {
            proxy_pass http://192.168.204.134; #Apache Web Server
        }
        location /share {
            proxy_pass http://192.168.204.135/share; #NFS
        }
    }

    技術分享圖片

  3. 啟動nginx服務

    systemctl start nginx
  4. 排除偶然因素,關閉防火墻
    setenforce 0
    systemctl stop firewalld

四、測試

  1. server2編輯一個PHP文件

    vim /var/wwwroot/index.php

    添加如下內容

    <!DOCTYPE html>
    <html>
    <head>
    <title>Test</title>
    <link rel=‘stylesheet‘ href=‘./share/style.css‘>
    </head>
    <body>
    <?php
    $str = date(‘Y-m-d h:i:sa‘, time());
    ?>
    <p class=‘time‘><?php echo $str; ?></p>
    </body>
    </html>

    技術分享圖片

  2. server3編輯一個css文件

    vim /var/wwwroot/share/style.css

    添加如下內容

    .time { color: red; font-size: 20px; text-align: center; }

    技術分享圖片

  3. 在宿主機訪問server1的IP地址
    技術分享圖片
    其中訪問的index.php文件來自server2style.css文件來自server3

Nginx系列-9.配置NFS實現Nginx實現動靜分離