網路拓撲
準備工作:
禁用selinux,清空防火牆規則。
iptables -F
setenforce 0
配置各主機配置:
static server:
systemctl start httpd
dynamic server
yum install httpd php php-mysql php-mbstring php-mcrypt
vim /var/www/html/index.php
Dynamic Server -----three
<?php
phpinfo();
?>
nfs以及mysql伺服器:
[root@centos7 ~]#yum -y install nfs-server nfs-utils mariadb-server
[root@centos7 ~]#systemctl start nfs-server.service
[root@centos7 ~]#systemctl start mariadb.service
[root@centos7 ~]#mysql_secure_installation //進行mysql安全設定
[root@centos7 ~]#mysql -uroot -p123456 //以mysql的root身份登入。
MariaDB [(none)]> create database blogdb; //建立WordPress資料庫
MariaDB [(none)]> grant all on blogdb.* to wpuser@'192.168.18.%' identified by '123456';
//建立WordPress使用者和密碼
下載WordPress並解壓到、/app/blog下
[root@centos7 ~]#useradd -u 48 -r -s /sbin/nologin apache
[root@centos7 ~]#vim wp-config.php //直接對配置檔案修改,
/** WordPress資料庫的名稱 */
define('DB_NAME', 'blogdb');
/** MySQL資料庫使用者名稱 */
define('DB_USER', 'wpuser');
/** MySQL資料庫密碼 */
define('DB_PASSWORD', '123456');
/** MySQL主機 */
define('DB_HOST', '172.16.%。%');
[root@centos7 ~]#vim /etc/exports //編輯nfs配置檔案
/app/blog 192.168.18.0/24(rw,all_squash,anonuid=48,anongid=48)
掛載:
[root@centos7 ~]#vim /etc/fstab //寫進配置檔案。可以以後開機自動掛載。
192.168.18.103:/app/blog /var/www/html/blog nfs defaults 0 0 //在最後新增這條記錄
[root@centos7 ~]#mkdir /var/www/html/blog -pv
[root@centos7 ~]#mount -a
varnish主機:
Vim /etc/varnish/default.vcl
vcl 4.0;
import directors; # 匯入負載均衡模組
# Default backend definition. Set this to point to your content server.
probe healthchk { # 配置健康狀態檢查
.url = "/.healthchk.html"; # 檢查狀態檢查的URL
.timeout = 2s; # 超時時間
.interval = 2s;# 每2秒檢查一次
.window = 8; # 一共檢查的次數
.threshold = 5; # 如果大於4次則為健康
}
backend appsrv1 { # 配置後端主機
.host = "172.16.251.240";
.port = "80";
.probe = healthchk;
}
haproxy 主機:
Vim /etc/haproxy/haproxy.cfg
frontend main
bind *:80
rspadd X-Via:\ HAProxy-1
rspidel Server.*
acl static path_end -i .html .css .js
acl static path_end -i .jpg .jpeg .gif .png
acl static path_beg -i /images /static
use_backend websrvs if static
default_backend appsrvs
listen status
bind *:9009
acl auth_admin src 192.168.52.1
stats enable
stats uri /myhaproxy?status
stats realm HAProxy\ Admin\ Area
stats auth admin:admin
stats admin if auth_admin
backend websrvs
option forwardfor header X-Client
balance uri
server web1 172.16.252.31:6081 check
hash-type consistent
backend appsrvs
option forwardfor header X-Client
balance uri
server app1 172.16.252.59:80 cookie app1 check
hash-type consistent