运维

Keepalived+HAProxy+Nginx+NFS+MyS

2020-07-19  本文已影响0人  Stone_説

目录:
0.软件版本
1.整体架构图
2.HAProxy负载层搭建
3.Keepalived实现HAProxy高可用
4.PHP搭建
5.Nginx配置
6.后端NFS+MySQL搭建
7.测试

0. 软件版本

L:Linux(centos 7.6) 
N:Nginx(1.14.2)
M:MySQL(5.6.34) 
P:PHP(7.1.30)
HAPRoxy (1.8.20)
Wordpress(5.0.1)

相关软件下载链接
链接:https://pan.baidu.com/s/1jxE6mXii9mDjW32IOEaRKw
提取码:nv3v

1. 整体架构图

架构图.jpg

安全层

本层主要接收由互联网DNS解析过来的,并经过防火墙策略的用户请求,本实验中并未对其进行模拟,有兴趣的可以搭建一个本地DNS服务器,进行测验.

DNS搭建指导:https://www.jianshu.com/p/20b6391aca31

负载层

本层主要转发用户请求至后端服务器,并不直接响应用户请求.将用户请求按照预先定义好的策略,转发到相应的后端服务器上.本实验中选用HAProxy进行负载均
衡,同时通过Keepalived实现对HAProxy的高可用,以避免单点故障.负载均衡的选择还可以使用lvs或者nginx.

Web层

本层主要负责响应用户的请求,页面分为静态的和动态的页面.

存储层

数据存储主要共享存储的NFS已解决类似用户上传图片共享的问题,mysql数据服务器,还有缓存服务器

2. HAProxy负载层搭建

2.1 后端Nginx搭建

为测验轮询效果
192.168.177.155

[root@node05 ~]# yum install -y vim lrzsz tree screen psmisc lsof tcpdump wget ntpdate gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools iotop bc zip unzip zlib-devel bash-completion nfs-utils automake libxml2 libxml2-devel libxslt libxslt-devel perl perl-ExtUtils-Embed
[root@node05 ~]# cd /usr/local/src/
[root@node05 src]# ll
-rw-r--r--.  1 root root  1015384 Nov 12  2019 nginx-1.14.2.tar.gz
[root@node05 src]# tar xvf nginx-1.14.2.tar.gz 
[root@node05 src]# cd nginx-1.14.2
[root@node05 src]# ./configure --prefix=/apps/nginx \
--user=www \
--group=www \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module
[root@node05 src]# make -j 2
[root@node05 src]# make install
[root@node05 html]# cd /apps/nginx/html/
[root@node05 html]# cat index.html
192.168.177.155

192.168.177.158

[root@node11 ~]# yum install -y vim lrzsz tree screen psmisc lsof tcpdump wget ntpdate gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools iotop bc zip unzip zlib-devel bash-completion nfs-utils automake libxml2 libxml2-devel libxslt libxslt-devel perl perl-ExtUtils-Embed
[root@node11 ~]# cd /usr/local/src/
[root@node11 src]# ll
-rw-r--r--.  1 root root  1015384 Nov 12  2019 nginx-1.14.2.tar.gz
[root@node11 src]# tar xvf nginx-1.14.2.tar.gz 
[root@node11 src]# cd nginx-1.14.2
[root@node11 src]# ./configure --prefix=/apps/nginx \
--user=www \
--group=www \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module
[root@node11 src]# make -j 2
[root@node11 src]# make install
[root@node11 html]# cd /apps/nginx/html/
[root@node11 html]# cat index.html
192.168.177.158

2.2 配置前端HAProxy调度器

192.168.177.154

2.2.1 编译安装HAProxy
[root@node04 ~]# cd /usr/local/src/
[root@node04 src]# ll
-rw-r--r--.  1 root root 2083917 Nov 12  2019 haproxy-1.8.20.tar.gz
[root@node04 src]# tar xvf haproxy-1.8.20.tar.gz 
[root@node04 src]# cd haproxy-1.8.20
[root@node04 src]# yum install gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools vim iotop bc zip unzip zlib-devel lrzsz tree screen lsof tcpdump wget ntpdate -y
[root@node04 src]# make ARCH=x86_64 TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_CPU_AFFINITY=1 PREFIX=/usr/local/haproxy
[root@node04 src]# make install PREFIX=/usr/local/haproxy
[root@node04 src]# cp haproxy  /usr/sbin/
2.2.2 准备启动脚本
[root@node04 haproxy-1.8.20]# vim /usr/lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target

[Service]
ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q
ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target
2.2.3 验证haproxy版本
[root@node04 ~]# haproxy -v
HA-Proxy version 1.8.20 2019/04/25
Copyright 2000-2019 Willy Tarreau <willy@haproxy.org>
2.2.4 定义haproxy配置文件
[root@node04 ~]# mkdir  /etc/haproxy
[root@node04 ~]# cat  /etc/haproxy/haproxy.cfg
[root@node04 ~]# cd  /etc/haproxy
[root@node04 haproxy]# vim haproxy.cfg
global
maxconn 100000
chroot /usr/local/haproxy
#stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
uid 99
gid 99
daemon
nbproc 2
cpu-map 1 0
cpu-map 2 1
#cpu-map 3 2
#cpu-map 4 3
pidfile /usr/local/haproxy/run/haproxy.pid
log 127.0.0.1 local3 info

defaults
option http-keep-alive
option  forwardfor
maxconn 100000
mode http
timeout connect 300000ms
timeout client  300000ms
timeout server  300000ms

listen stats
 mode http
 bind 0.0.0.0:9999
 stats enable
 log global
 stats uri     /haproxy-status
 stats auth    haadmin:q1w2e3r4ys

listen  web_port
 bind 0.0.0.0:80
 mode http
 log global
 server web1  127.0.0.1:8080  check inter 3000 fall 2 rise 5
2.2.5 安装并开启httpd以监听80端口
[root@node04 ~]# yum install httpd
[root@node04 ~]# systemctl start httpd
2.2.6 启动验证haproxy状态
[root@node04 ~]# systemctl daemon-reload
[root@node04 ~]# systemctl  start haproxy
[root@node04 haproxy]# ss -ntlu
Netid State      Recv-Q Send-Q                                       Local Address:Port                                                      Peer Address:Port              
udp   UNCONN     0      0                                                        *:45507                                                                *:*                  
tcp   LISTEN     0      128                                                      *:9999                                                                 *:*                  
tcp   LISTEN     0      128                                                      *:80                                                                   *:*                  
tcp   LISTEN     0      128                                                      *:22                                                                   *:*                  
tcp   LISTEN     0      100                                              127.0.0.1:25                                                                   *:*                  
tcp   LISTEN     0      128                                                     :::22                                                                  :::*                  
tcp   LISTEN     0      100                                                    ::1:25                                                                  :::*                  
[root@node04 haproxy]# ps -ef|grep haproxy
root       7616      1  0 03:08 ?        00:00:00 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
nobody     7619   7616  0 03:08 ?        00:00:00 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
nobody     7620   7616  0 03:08 ?        00:00:00 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
root       7632   7580  0 03:09 pts/2    00:00:00 grep --color=auto haproxy
2.2.7 添加组检测haproxy负载
[root@node04 ~]# cd /etc/haproxy
[root@node04 haproxy]# vim haproxy.cfg
global
maxconn 100000
chroot /usr/local/haproxy
stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
uid 99
gid 99
daemon
nbproc 2
nbthread 2
cpu-map 1 0
cpu-map 2 1
#cpu-map 3 2
#cpu-map 4 3
pidfile /run/haproxy.pid
log 127.0.0.1 local3 info

defaults
option http-keep-alive
option forwardfor
option redispatch
option abortonclose
maxconn 100000
mode http
timeout connect 300000ms
timeout client  300000ms
timeout server  300000ms


listen stats
 bind :9999
 stats enable
 stats hide-version
 stats uri /haproxy-status
 stats realm HAPorxy\ Stats\ Page
 stats auth haadmin:123456
 stats auth admin:123456
 #stats refresh 30s
 stats admin if TRUE


#官网业务访问入口--------------------------------------------------
listen WEB_PORT_80
    bind 192.168.177.155:80
    balance roundrobin
    server web1 192.168.177.155:80 cookie web-103 weight 1 check inter 3000 fall 3 rise 5
    server web2 192.168.177.158:80 cookie web-104 weight 1 check inter 3000 fall 3 rise 5
2.2.8 客户端检测轮询效果
[root@client ~]# while true;do curl http://192.168.177.154;sleep 0.5;done
192.168.177.155
192.168.177.158
192.168.177.155
192.168.177.158
192.168.177.155
192.168.177.158

2.3 配置前端HAProxy调度器

192.168.177.160
和192.168.177.154相同配置即可

验证效果:
[root@client ~]# while true;do curl http://192.168.177.160;sleep 0.5;done
192.168.177.158
192.168.177.155
192.168.177.158
192.168.177.155
192.168.177.158
192.168.177.155

3. Keepalived实现HAProxy高可用

3.1 MASTER搭建

192.168.177.154

keepalived选用yum自带版本
[root@node04 ~]# yum install keepalived -y
[root@node04 ~]# cd /etc/keepalived/
[root@node04 keepalived]# vim keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     root@localhost
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.177.1
   smtp_connect_timeout 30
   router_id node04
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
   vrrp_iptables
}

vrrp_instance WEB_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    unicast_src_ip 192.168.177.154
    unicast_peer {
        192.168.177.160
    }
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.177.240 dev ens33 label ens33:0
    }
}

[root@node04 keepalived]# systemctl restart keepalived

3.2 BACKUP搭建

192.168.177.160

keepalived选用yum自带版本
[root@node13 ~]# yum install keepalived -y
[root@node13 ~]# cd /etc/keepalived/
[root@node13 keepalived]# vim keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     root@localhost
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.177.1
   smtp_connect_timeout 30
   router_id node13
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
   vrrp_iptables
}

vrrp_instance WEB_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 80
    advert_int 1
    unicast_src_ip 192.168.177.160
    unicast_peer {
        192.168.177.154
    }

[root@node13 keepalived]# systemctl restart keepalived

3.3 验证VIP的漂动

MASTER

[root@node04 keepalived]# systemctl restart keepalived
[root@node04 keepalived]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.177.154  netmask 255.255.255.0  broadcast 192.168.177.255
        inet6 fe80::6042:9b26:de9e:d6f4  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::4061:2fec:5cc4:a251  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::9da4:7004:98e1:7365  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:89:1d:e3  txqueuelen 1000  (Ethernet)
        RX packets 1719962  bytes 241049449 (229.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1528237  bytes 111430465 (106.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.177.240  netmask 255.255.255.255  broadcast 0.0.0.0
        ether 00:0c:29:89:1d:e3  txqueuelen 1000  (Ethernet)

BACKUP

[root@node13 keepalived]# systemctl restart keepalived

[root@node13 keepalived]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.177.160  netmask 255.255.255.0  broadcast 192.168.177.255
        inet6 fe80::6042:9b26:de9e:d6f4  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::4061:2fec:5cc4:a251  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::9da4:7004:98e1:7365  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:ae:a4:5c  txqueuelen 1000  (Ethernet)
        RX packets 120848  bytes 101857459 (97.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 90053  bytes 9327684 (8.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

MASTER宕机

[root@node04 keepalived]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.177.154  netmask 255.255.255.0  broadcast 192.168.177.255
        inet6 fe80::6042:9b26:de9e:d6f4  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::4061:2fec:5cc4:a251  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::9da4:7004:98e1:7365  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:89:1d:e3  txqueuelen 1000  (Ethernet)
        RX packets 1722723  bytes 241251169 (230.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1533005  bytes 111745907 (106.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

BACKUP接管VIP
[root@node13 keepalived]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.177.160  netmask 255.255.255.0  broadcast 192.168.177.255
        inet6 fe80::6042:9b26:de9e:d6f4  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::4061:2fec:5cc4:a251  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::9da4:7004:98e1:7365  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:ae:a4:5c  txqueuelen 1000  (Ethernet)
        RX packets 121105  bytes 101876013 (97.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 90308  bytes 9347870 (8.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.177.240  netmask 255.255.255.255  broadcast 0.0.0.0
        ether 00:0c:29:ae:a4:5c  txqueuelen 1000  (Ethernet)

4. Nginx+PHP搭建

4.1 PHP搭建

192.168.177.155

[root@node05 ~]# yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg 
                 libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc
                 glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap 
                 openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel 
                 libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel 
                 libcurl libcurl-devel openjpeg-devel
[root@node05 src]# cd /usr/local/src
[root@node05 src]# ll
-rw-r--r--.  1 root root 19488364 Nov 12  2019 php-7.1.30.tar.gz
[root@node05 src]# xvf tar php-7.1.30.tar.gz
[root@node05 src]# cd php-7.1.30
[root@node05 php-7.1.30]# ./configure --prefix=/apps/php --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-pear 
                          --with-curl --with-png-dir --with-freetype-dir --with-iconv --with-mhash --with-zlib --with-xmlrpc 
                          --with-xsl --with-openssl --with-mysqli --with-pdo-mysql --disable-debug --enable-zip --enable-sockets 
                          --enable-soap --enable-inline-optimization --enable-xml --enable-ftp --enable-exif --enable-wddx 
                          --enable-bcmath --enable-calendar --enable-shmop --enable-dba --enable-sysvsem --enable-sysvshm 
                          --enable-sysvmsg
[root@node05 php-7.1.30]# make -j 2
[root@node05 php-7.1.30]# make install

4.2 准备PHP配置文件

#生成配置文件
[root@node05 php-7.1.30]# cd /apps/php/etc/php-fpm.d/
[root@node05 php-fpm.d]# cp www.conf.default www.conf
[root@node05 php-fpm.d]# cp /usr/local/src/php-7.2.15/php.ini-production
/apps/php/etc/php.ini
[root@node05 php-fpm.d]# useradd www -s /sbin/nologin -u 1001
[root@node05 php-fpm.d]# grep -v ";" www.conf | grep -v "^$"
[www]
user = www
group = www
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 30
pm.min_spare_servers = 30
pm.max_spare_servers = 35
pm.status_path = /pm_status
ping.path = /ping
ping.response = pong
access.log = log/$pool.access.log
slowlog = log/$pool.log.slow
[root@node05 etc]# mkdir /apps/php/log/ #日志文件路径
[root@node05 etc]# cd /apps/php/etc/
[root@node05 etc]# cp php-fpm.conf.default php-fpm.conf

4.3 启动并验证php-fpm

#检测语法并启动php-fpm:
[root@node05 ~]# /apps/php/sbin/php-fpm -t
[19-Jul-2020 20:36:17] NOTICE: configuration file /apps/php/etc/php-fpm.conf test is successful

#验证php-fpm:
[root@node05 ~]# /apps/php/sbin/php-fpm -c /apps/php/etc/php.ini
[root@node05 ~]# ps -ef | grep php-fpm
root      15960   6820  0 20:36 pts/0    00:00:00 grep --color=auto php-fpm
root     121836      1  0 Jul18 ?        00:00:05 php-fpm: master process (/apps/php/etc/php-fpm.conf)
www      125265 121836  0 03:01 ?        00:00:04 php-fpm: pool www
www      125267 121836  0 03:01 ?        00:00:03 php-fpm: pool www
www      125299 121836  0 03:02 ?        00:00:02 php-fpm: pool www

[root@node05 ~]# netstat -tanlp | grep php-fpm
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      121836/php-fpm: mas

192.168.177.158
同上做同样的配置

[root@node11 ~]# /apps/php/sbin/php-fpm -t
[19-Jul-2020 20:39:02] NOTICE: configuration file /apps/php/etc/php-fpm.conf test is successful

[root@node11 ~]# /apps/php/sbin/php-fpm -c /apps/php/etc/php.ini
[root@node11 ~]# ps -ef | grep php-fpm
www       14387 118792  0 04:41 ?        00:00:02 php-fpm: pool www
root      14788   6580 21 20:39 pts/1    00:00:00 grep --color=auto php-fpm
root     118792      1  0 01:01 ?        00:00:04 php-fpm: master process (/apps/php/etc/php-fpm.conf)
www      121842 118792  0 02:46 ?        00:00:04 php-fpm: pool www
www      122130 118792  0 02:59 ?        00:00:05 php-fpm: pool www
[root@node11 ~]# netstat -tanlp | grep php-fpm
-bash: netstat: command not found
[root@node11 ~]# ss -tanlp | grep php-fpm
LISTEN     0      128    127.0.0.1:9000                     *:*                   users:(("php-fpm",pid=122130,fd=5),("php-fpm",pid=121842,fd=5),("php-fpm",pid=118792,fd=7),("php-fpm",pid=14387,fd=5))

5.Nginx配置

192.168.177.155,192.168.177.158

[root@node05 ~]# cd /apps/nginx/conf/
[root@node05 conf]# mkdir server/
[root@node05 conf]# cd server/
[root@node05 server]# cat www.stone.net.conf 
server {
 listen 80;
 server_name www.stone.net;
 
 location / {
    root /data/nginx/wordpress;
    index index.php index.html index.htm;
 }

 location ~ \.php$ {
    root  /data/nginx/wordpress;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include       fastcgi_params;
 }
}

[root@node05 server]# cd ..
[root@node05 conf]# cat nginx.conf
...
include /apps/nginx/conf/server/*.conf;
}

6. 后端MySQL+NFS搭建

6.1 MySQL搭建

MySQL:192.168.177.157

[root@node07 ~]# mysql -uroot  -hlocalhost -p
Enter password: 

MariaDB [(none)]> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]>GRANT ALL PRIVILEGES ON wordpress.* TO "wordpress"@"192.168.177.%" IDENTIFIED BY "stone";
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> use wordpress;
Database changed
MariaDB [wordpress]> show tables;
Empty set (0.00 sec)

6.2 Wordpress初始化搭建

192.168.177.155,192.168.177.158

[root@s1 ~]# cd /data/nginx/wordpress/
[root@s1 wordpress]# mv index.php /opt/
[root@s1 wordpress]# unzip wordpress-5.0.1-zh_CN.zip
[root@s1 wordpress]# mv wordpress/* .
[root@s1 wordpress]# mv wordpress wordpress-5.0.1-zh_CN.zip /opt/
[root@s1 wordpress]# cp wp-config-sample.php wp-config.php
[root@s1 wordpress]# vim wp-config.php
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');
/** MySQL数据库用户名 */
define('DB_USER', 'wordpress');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'stone');
/** MySQL主机 */
define('DB_HOST', '192.168.177.157');
[root@s1 wordpress]# chown www.www /data/nginx/wordpress/ /apps/nginx/ -R
[root@s1 wordpress]# /apps/nginx/sbin/nginx -s reload

6.3 初始化之后在查看数据库

MariaDB [wordpress]> show tables;
+-----------------------+
| Tables_in_wordpress   |
+-----------------------+
| wp_commentmeta        |
| wp_comments           |
| wp_links              |
| wp_options            |
| wp_postmeta           |
| wp_posts              |
| wp_term_relationships |
| wp_term_taxonomy      |
| wp_termmeta           |
| wp_terms              |
| wp_usermeta           |
| wp_users              |
+-----------------------+
12 rows in set (0.00 sec)

MariaDB [wordpress]> select * from wp_users\G;
*************************** 1. row **************************
                 ID: 1
         user_login: stone
          user_pass: $P$ByFuaimOfwV1pOTS/.acRKAhCwlCTT1
      user_nicename: stone
         user_email: 12345679@qq.com
           user_url: 
    user_registered: 2020-07-18 17:55:19
user_activation_key: 
        user_status: 0
       display_name: stone
1 row in set (0.00 sec)

ERROR: No query specified

6.4 做后端NFS共享

192.168.177.155,192.168.177.158

[root@node11 ~]# /apps/nginx/sbin/nginx -s stop
[root@node11 ~]# yum install nfs-utils -y
[root@node11 ~]# mount -t nfs 192.168.177.157:/nfsdata/wordpress /data/nginx/wordpress/wp-content/uploads/
[root@node11 ~]# df -TH
Filesystem                         Type      Size  Used Avail Use% Mounted on
192.168.177.157:/nfsdata/wordpress nfs4      108G  1.6G  106G   2% /data/nginx/wordpress/wp-content/uploads
[root@node05 ~]# /apps/nginx/sbin/nginx -s stop
[root@node05 ~]# yum install nfs-utils -y
[root@node05 ~]# mount -t nfs 192.168.177.157:/nfsdata/wordpress /data/nginx/wordpress/wp-content/uploads/
[root@node05 ~]# df -TH
Filesystem                         Type      Size  Used Avail Use% Mounted on
192.168.177.157:/nfsdata/wordpress nfs4      108G  1.6G  106G   2% /data/nginx/wordpress/wp-content/uploads

7. 测试

7.1 修改配置文件

在本地物理机加入这一行,地址解析

C:\Windows\System32\drivers\etc\hosts
192.168.177.240 www.stone.net

7.2 浏览器访问

登录页面.JPG 编辑页面.JPG
上一篇 下一篇

猜你喜欢

热点阅读