lnmp架构解耦

LNMP架构解耦

如图

image

规划

slb:10.0.0.5
web程序:wp zh 10.0.0.7 10.0.0.8
db:10.0.0.51
nfs:10.0.0.31


#导出数据库
[root@web02 zh]# mysqldump -uroot -p123456 --all-databases>all.sql

[root@mysql ~]# mysqladmin password '123456'

#导入数据库
[root@mysql ~]# mysql -uroot -p123456 <all.sql

#查看数据库是否导入成功
[root@mysql ~]# mysql -uroot -p123456 -e "show databases;"

测试web端程序与数据库连通性

#这里注意 默认不允许root登录数据库

#在数据库中添加普通用户 *.* 所有库所有表 db.tables mysql用户名 %是允许的IP地址段连接
MariaDB [(none)]> grant all on *.* to mysql@'%' identified by '123456';

#刷新缓存
MariaDB [(none)]> flush privileges;


# 修改wp数据库连接 
[root@web02 zh]# cat config.php 
<?php
$pe['db_host'] = '172.16.1.51'; //数据库主机地址
$pe['db_name'] = 'phpshe_1_8'; //数据库名称
$pe['db_user'] = 'mysql'; //数据库用户名
$pe['db_pw'] = '123456'; //数据库密码
$pe['db_coding'] = 'utf8';
$pe['url_model'] = 'pathinfo_safe'; //url模式,可选项(pathinfo/pathinfo_safe/php)
$pe['h5_host'] = ''; //手机版网址
define('dbpre','pe_'); //数据库表前缀
?>
# 修改zh数据库连接

web端静态资源挂载nfs系统

#创建nfs挂载目录
[root@nfs ~]# cat /etc/exports
#web static resource
/web 172.16.1.0/24(rw,sync,all_squash,anonuid=888,anongid=888)

#创建用户 用于web静态资源 写入nfs
[root@nfs ~]# groupadd -g888 nginx
[root@nfs ~]# useradd -g888 -u888 -M -s /sbin/nologin nginx

#修改/web属主属组
[root@nfs ~]# chown -R nginx.nginx /web/

#梳理web端 进行挂载

slb部署

# 在10.0.0.5部署nginx
[root@web01 ~]# cat /etc/yum.repos.d/nginx.repo 
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[root@web01 ~]# yum install nginx

#配置反向代理 
[root@proxy ~]# cat /etc/nginx/conf.d/slb.conf 
server {
	listen 80;
	server_name www.wp.com;
	location / {
		proxy_pass http://10.0.0.7;
	}
}

#重启服务
nginx -t
systemctl reload nginx

#这里注意,在web应用端,在未匹配到对应域名对应的目录文件时,默认nginx返回conf.d下的第一个配置所对应的目录应用程序

slb部署负载均衡

通过开启proxy_pass参数,由客户端请求slb,转发至上游业务,通过upstream模块开启负载均衡

#反向代理 与客户端建立 参数配置
[root@proxy nginx]# cat proxy_params 
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;

#配置反向代理
[root@proxy nginx]# cat conf.d/slb.conf 
upstream webs {
	server 10.0.0.7;
	server 10.0.0.8;	
}

#wp
server {
	listen 80;
	server_name www.wp.com;
	location / {
		proxy_pass http://webs; #定义代理池,也就是上游应用
		include proxy_params;   #加载slb参数
	}
}

#zh
server {
	listen 80;
	server_name www.zh.com;
	location / {
		proxy_pass http://webs;
		include proxy_params;
	}
}

#test
server {
	listen 80;
	server_name www.test.com;
	location / {
		proxy_pass http://webs;
		include proxy_params;
	}

}

posted @ 2024-12-15 22:05  被时光移动的城市  阅读(7)  评论(0编辑  收藏  举报