首页 > 其他分享 >lnmp架构解耦

lnmp架构解耦

时间:2024-12-15 22:25:49浏览次数:4  
标签:web 架构 10.0 lnmp server nginx proxy root

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;
	}

}

标签:web,架构,10.0,lnmp,server,nginx,proxy,root
From: https://www.cnblogs.com/sharecorner/p/18608811

相关文章

  • linux之lnmp环境配置
    LNMPnginx[root@web01~]#cat/etc/yum.repos.d/nginx.repo[nginx-stable]name=nginxstablerepobaseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0enabled=1gpgkey=https://nginx.org/keys/nginx_signing.keymodule_hotfixes=trueyuminstall......
  • AI数字人(无人)直播:技术架构与未来展望
    文中配图下面有实验场,可以亲自体验一把AI数字人的强大!近年来,随着人工智能技术的迅猛发展,AI数字人(DigitalHuman)逐渐成为了直播行业的新兴力量。AI数字人直播不仅能够模拟人类行为、声音和情感反应,还能在虚拟环境中进行高度交互,吸引了广泛的关注与投资。本文将深入探讨AI数字人......
  • 【Microi 吾码】基于 Microi 吾码低代码框架构建 Vue 高效应用之道
    我的个人主页文章专栏:Microi吾码引言在当今快速发展的软件开发领域,低代码开发平台正逐渐崭露头角,为开发者们提供了更高效的应用构建途径。Microi吾码低代码框架结合Vue的强大前端能力,更是为打造高效应用提供了绝佳的组合。在这里,我将深入探讨如何基于Microi吾码低......
  • 大数据新视界 -- Hive 数据仓库设计模式:星型与雪花型架构(2 - 16 - 3)
           ......
  • Spring Boot属于什么架构?
    SpringBoot本身不是一种架构,而是一个用于快速构建基于Spring框架的应用程序的框架。不过,在使用SpringBoot构建应用时,可以应用多种架构模式。MVC(Model-View-Controller)架构在SpringBoot中可以轻松实现MVC架构。Model(模型):通常是数据相关的部分,包括数据对象、......
  • 使用PyTorch框架来训练语义分割模型——航空影像输电线路与输电塔分割数据集,使用U-Net
    航空影像的输电线路与输电塔分割数据集。该数据集包含1234张图像,超高分辨率(约3840×2160)标注了11447个对象,属于5个不同的类别,包括电缆(cable)、铁塔(tower_lattice)、木塔(tower_wooden)以及其他两种类型:混凝土或钢结构混合塔(tower_tucohy)和空白肉眼不可见线缆(void),共3GB好的......
  • ChatGPT脚本: 全自动部署jdk环境(自动判断系统架构部署)
    脚本地址https://dlk2qiw7lh.feishu.cn/docx/CxphdYsBrocrZmxSV0kca7dBnwg?from=from_copylink脚本内容:#!/bin/bash#设置erase字符以正确处理退格键sttyerase^H2>/dev/null||sttyerase^?#定义颜色和样式BOLD=$(tputbold)NORMAL=$(tputsgr0)RED='\033[0;3......
  • Muduo网络库解析---架构设计
    前言muduo库是陈硕个人开发基于reactor模式的tcp网络编程库。本人之前有学习过boost.asio网络库,故学习一下Muduo网络库,并分析它们之间的优缺点。本系列将重点放在以下几件事情:梳理Muduo的核心架构设计以及各个模块的职责理解Muduo的事件驱动机制理解Muduo的多线程模型剖析......
  • 【分布式】超低耦合,事件驱动架构是什么?
    文章目录1.概述2.事件的传递模式3.事件总线4.事件编排模式4.1调停者模式4.2管道和过滤器模式5.事件驱动的优缺点5.1优点5.2缺点1.概述事件驱动架构以Kubernetes为基础设施的云原生技术,彻底改变了我们的开发和思维模式。事件作为云原生领域......
  • 转载:【AI系统】Kernel 层架构
    推理引擎的Kernel层通常是推理引擎中用于执行底层数学运算的组件。在神经网络模型推理过程中,需要对大量数据进行高效的数学运算,如矩阵乘法、卷积、池化等。Kernel层就是实现这些运算的核心部分,它直接影响着推理引擎的速度和效率,因此本文将会重点介绍Kernel层相关的内容。Ker......