快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

k8s小实验nginx+php

系统运维

创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的琼山网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!1.配置nfs 存储卷

yum -y install nfs-utils rpcbind
##安装nfs服务和RPC服务
vim /etc/exports #nfs的配置文件
/data/v1 10.1.1.0/24(rw,no_root_squash,no_all_squash,sync)
#给10.1.1.0/24网段的ip 访问的权限

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根文件地址,访问的资源都在这个文件夹里找
             index  index.html index.htm;
                     }
   location ~ \\.php$ {
        root         /usr/share/nginx/html;
        #根文件地址,定义的nginx的根一样即可,同时这个地址也要和nignx一样有访问文件。
        fastcgi_pass    php.default.svc.cluster.local:9000;
        #访问后端php的地址,用内部server的dns解析,pod怎么重启都能正常访问的到
        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
#监听所有IP

4.编写nginx的yaml 资源文件 nginx-php.yaml
apiVersion: v1
kind: Service
metadata:
  name: nginx-php
  namespace: default
spec:
  type: NodePort
  #定义类型为NodePort,用户需要访问通过node节点的30081
  selector:
    app: web
  ports:
  - port: 80
    #service端口
    targetPort: 80
    #容器端口
    nodePort: 30081
    #node端口,如果是ClusterIP的这段不需要,也可以不填会随机
---
apiVersion: v1
kind: Pod
metadata:
  name: ngingx-php
  labels:
    app: web
spec:
  containers:
  - name: ngingx-php
    image:  nginx
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - name: nginx-data
      #调用存储卷,映射到/usr/share/nginx/html文件夹,这里面是放nginx的访问文件的
      mountPath: /usr/share/nginx/html
    - name: nginx-conf
      #调用存储卷,映射到/etc/nginx/conf.d文件夹,这里面是放nginx的配置文件的
      mountPath: /etc/nginx/conf.d

  volumes:
  - name: nginx-data
    #定义Nginx访问文件存储卷
    nfs:
     path: /data/v1/data
     server: 10.1.1.111
    #存储卷是由nfs服务器10.1.1.111 提供的,/data/v1/data这个文件夹是真正存文件的
  - name: nginx-conf
    #定义Nginx配置文件存储卷
    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 内部访问就可以了暴露内部端口即可
---
apiVersion: v1
kind: Pod
metadata:
  name: php
  labels:
    app: php
spec:
  containers:
    - name: php
      image:  phpdockerio/php56-fpm
      imagePullPolicy: IfNotPresent
      volumeMounts:
      - name: php-conf
        #调用php配置存储卷
        mountPath: /etc/php5/fpm/pool.d
      - name: php-data
        #调用nginx的存储文件夹,php也要一份nginx的访问文件,没有调用过来是无文件处理
        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 测试文件 "info.php"
7.访问



#找个node 的 30081端口访问 http://10.1.1.111:30081/info.php


文章标题:k8s小实验nginx+php
本文来源:http://6mz.cn/article/cggogi.html

其他资讯