##安裝nfs服務(wù)和RPC服務(wù)
vim /etc/exports #nfs的配置文件
/data/v1 10.1.1.0/24(rw,no_root_squash,no_all_squash,sync)
#給10.1.1.0/24網(wǎng)段的ip 訪問(wèn)的權(quán)限

2.配置nginx的配置文件"default.conf"

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

   location / {
             root         /usr/share/nginx/html;
             #nginx根文件地址,訪問(wèn)的資源都在這個(gè)文件夾里找
             index  index.html index.htm;
                     }
   location ~ \\\\.php$ {
        root         /usr/share/nginx/html;
        #根文件地址,定義的nginx的根一樣即可,同時(shí)這個(gè)地址也要和nignx一樣有訪問(wèn)文件。
        fastcgi_pass    php.default.svc.cluster.local:9000;
        #訪問(wèn)后端php的地址,用內(nèi)部server的dns解析,pod怎么重啟都能正常訪問(wèn)的到
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
        fastcgi_buffers 8 16k;
        fastcgi_buffer_size 32k;
  }
     }

3.PHP配置文件"www.conf"
listen = 0.0.0.0:9000
#監(jiān)聽(tīng)所有IP

4.編寫(xiě)nginx的yaml 資源文件 nginx-php.yaml

apiVersion: v1
kind: Service
metadata:
  name: nginx-php
  namespace: default
spec:
  type: NodePort
  #定義類(lèi)型為NodePort,用戶需要訪問(wèn)通過(guò)node節(jié)點(diǎn)的30081
  selector:
    app: web
  ports:
  - port: 80
    #service端口
    targetPort: 80
    #容器端口
    nodePort: 30081
    #node端口,如果是ClusterIP的這段不需要,也可以不填會(huì)隨機(jī)
---
apiVersion: v1
kind: Pod
metadata:
  name: ngingx-php
  labels:
    app: web
spec:
  containers:
  - name: ngingx-php
    image:  nginx
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - name: nginx-data
      #調(diào)用存儲(chǔ)卷,映射到/usr/share/nginx/html文件夾,這里面是放nginx的訪問(wèn)文件的
      mountPath: /usr/share/nginx/html
    - name: nginx-conf
      #調(diào)用存儲(chǔ)卷,映射到/etc/nginx/conf.d文件夾,這里面是放nginx的配置文件的
      mountPath: /etc/nginx/conf.d

  volumes:
  - name: nginx-data
    #定義Nginx訪問(wèn)文件存儲(chǔ)卷
    nfs:
     path: /data/v1/data
     server: 10.1.1.111
    #存儲(chǔ)卷是由nfs服務(wù)器10.1.1.111 提供的,/data/v1/data這個(gè)文件夾是真正存文件的
  - name: nginx-conf
    #定義Nginx配置文件存儲(chǔ)卷
    nfs:
     path: /data/v1/nginx-conf
     server: 10.1.1.111

5.php yaml文件 php.yaml

apiVersion: v1
kind: Service
metadata:
  name: php
  namespace: default
spec:
  selector:
    app: php
  ports:
  - port: 9000
    targetPort: 9000
    #由于nginx和php都是pod 內(nèi)部訪問(wèn)就可以了暴露內(nèi)部端口即可
---
apiVersion: v1
kind: Pod
metadata:
  name: php
  labels:
    app: php
spec:
  containers:
    - name: php
      image:  phpdockerio/php56-fpm
      imagePullPolicy: IfNotPresent
      volumeMounts:
      - name: php-conf
        #調(diào)用php配置存儲(chǔ)卷
        mountPath: /etc/php5/fpm/pool.d
      - name: php-data
        #調(diào)用nginx的存儲(chǔ)文件夾,php也要一份nginx的訪問(wèn)文件,沒(méi)有調(diào)用過(guò)來(lái)是無(wú)文件處理
        mountPath: /usr/share/nginx/html
  volumes:
  - name: php-conf
    nfs:
     path: /data/v1/php-conf
     server: 10.1.1.111
  - name: php-data
    nfs:
     path: /data/v1/data
     server: 10.1.1.111

6.php 測(cè)試文件 "info.php"

<?php
    phpinfo();
?>

7.訪問(wèn)

#找個(gè)node 的 30081端口訪問(wèn) http://10.1.1.111:30081/info.php

更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問(wèn)題,請(qǐng)?jiān)L問(wèn)三五互聯(lián)官網(wǎng):m.shinetop.cn

贊(0)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。郵箱:3140448839@qq.com。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處:三五互聯(lián)知識(shí)庫(kù) » k8s 小實(shí)驗(yàn)nginx php

登錄

找回密碼

注冊(cè)