如何建设网站安全管理制度企业官方网站的建设

当前位置: 首页 > news >正文

如何建设网站安全管理制度,企业官方网站的建设,宁波公司做企业网站,网站建设费用如何列支目录 1 环境准备 1.1 mysql 部署 1.2 nginx 部署 1.3 关闭防火墙和selinux 2 nginx配置 2.1 修改nginx主配置文件 2.2 创建stream配置文件 2.3 重启nginx 3 测试四层代理是否轮循成功 3.1 远程链接通过代理服务器访问 3.2 动图演示 4 四层反向代理算法介绍 4.1 轮询#xff0…目录 1 环境准备 1.1 mysql 部署 1.2 nginx 部署 1.3 关闭防火墙和selinux 2 nginx配置 2.1 修改nginx主配置文件 2.2 创建stream配置文件 2.3 重启nginx 3 测试四层代理是否轮循成功 3.1 远程链接通过代理服务器访问 3.2 动图演示 4 四层反向代理算法介绍 4.1 轮询Round Robin 4.2 最少连接Least Connections 4.3 加权轮询Weighted Round Robin 4.4 IP Hash 利用Nginx进行四层负载均衡MySQL数据库的高效管理 在高流量的应用场景中单个数据库服务器往往无法承受巨大的并发请求压力。为了提高性能和可靠性企业级应用通常采用负载均衡技术来分散请求确保数据服务的稳定性和快速响应。Nginx作为一款高性能的HTTP和反向代理服务器自1.9.0版本起也提供了TCP/UDP四层负载均衡功能能够有效地为后端服务如数据库提供负载均衡。 四层负载均衡简介 四层负载均衡也称为L4负载均衡是指在网络模型的第四层传输层上进行负载均衡。它主要基于IP地址和端口号来分发流量适用于TCP和UDP协议。四层负载均衡对于数据库服务器尤其有用因为它能够直接处理和转发数据流而无需关心应用层的协议细节。 配置Nginx进行四层负载均衡 1 环境准备 客户端 :192.168.239.133  代理服务器:192.168.239.138  两台mysql服务器 : 192.168.239.131  192.168.239.174 1.1 mysql 部署 客户端和两台mysql服务器均需要部署以下演示一台 mysql官网 : https://www.mysql.com 复制下载链接 # 下载yum仓库 [rootclient ~]# wget https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm

使用yum安装mysql需要的包

[rootclient ~]# yum install mysql-community-client mysql-community-server mysql-community-client-plugins mysql-community-common mysql-community-libs mysql-community-icu-data-files # 启动mysql [rootclient ~]# systemctl start mysqld

查看端口是否监听

[rootclient ~]# netstat -tunlpt | grep mysql tcp6 0 0 :::33060 :::* LISTEN 34029/mysqld
tcp6 0 0 :::3306 :::* LISTEN 34029/mysqld # mysql会生成初始密码在/var/log/mysqld.log 里 [rootclient ~]# grep password /var/log/mysqld.log 2024-07-13T02:33:42.553668Z 6 [Note] [MY-010454] [Server] A temporary password is generated for rootlocalhost: i)-#G;kk?7r# 输入密码登录 [rootclient ~]# mysql -uroot -p Enter password:
登录后mysql操作

修改mysql的root密码

mysql ALTER USER rootlocalhost IDENTIFIED BY Openlab123!; Query OK, 0 rows affected (0.00 sec)mysql use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -ADatabase changed# 将只允许本地登录改为通配符也就是允许所有人登录 mysql UPDATE user SET host% WHERE userroot; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0# 刷新权限 mysql flush privileges; Query OK, 0 rows affected (0.01 sec)mysql exit1.2 nginx 部署 在此实验中只需要部署与配置代理服务器的的nginx 为节省时间 此处就不使用源码安装了直接使用yum安装 [rootforward ~]# yum install nginx 注意这个stream模块是实现四层负载均衡的模块 在官方文档上也可以找到使用的其使用说明 Module ngx_stream_upstream_module (nginx.org) 1.3 关闭防火墙和selinux 所有机子均关闭 [rootforward ~]# systemctl stop firewalld.service [rootforward ~]# setenforce 0 2 nginx配置 [rootforward ~]# mkdir /etc/nginx/tcp 2.1 修改nginx主配置文件 [rootforward ~]# vim /etc/nginx/nginx.conf 添加以下行将tcp以下.conf结尾的文件读取在tcp文件夹里面写stream块的配置 2.2 创建stream配置文件 [rootforward ~]# vim /etc/nginx/tcp/test.confstream {upstream mysql {# 默认为轮循算法,假如不加weight的情况下,加上weight就变成加权轮循了server 192.168.239.131:3306 weight5;server 192.168.239.174:3306 weight10;}server {listen 3306;proxy_pass mysql;}} 2.3 重启nginx

语法检查

[rootforward ~]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful# 重启nginx [rootforward ~]# systemctl restart nginx# 检查端口是否监听 [rootforward ~]# netstat -tunlpt | grep nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2818/nginx: master
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2818/nginx: master
tcp6 0 0 :::80 :::* LISTEN 2818/nginx: master 3 测试四层代理是否轮循成功 3.1 远程链接通过代理服务器访问 [rootclient ~]# mysql -uroot -pOpenlab123! -h192.168.239.138 -e select HOSTNAME 3.2 动图演示 4 四层反向代理算法介绍 在四层TCP/UDP负载均衡中Nginx 的 stream 模块可以用来配置不同的负载均衡算法。下面我将给出使用不同算法配置的示例这些配置适用于 TCP 层面的负载均衡比如数据库服务器、邮件服务器等。 4.1 轮询Round Robin 这是最基本的算法请求会被轮流分发到各个服务器。 stream {upstream mysql {server 192.168.239.131:3306;server 192.168.239.174:3306;}server {listen 3306;proxy_pass mysql;} } 4.2 最少连接Least Connections 此算法会将新的连接发送到当前连接数最少的服务器。 stream {upstream mysql {least_conn;server 192.168.239.131:3306;server 192.168.239.174:3306;}server {listen 3306;proxy_pass mysql;} } 4.3 加权轮询Weighted Round Robin 允许你根据服务器的性能分配不同的权重权重高的服务器将接收更多连接。 stream {upstream mysql {server 192.168.239.131:3306 weight5;server 192.168.239.174:3306 weight10;}server {listen 3306;proxy_pass mysql;} } 4.4 IP Hash 该算法确保来自同一 IP 地址的连接总是被发送到同一台服务器这对于需要会话持久性的服务很有用。 stream {upstream mysql {ip_hash;server 192.168.239.131:3306;server 192.168.239.174:3306;}server {listen 3306;proxy_pass mysql;} } 注意事项 在 stream 模块中proxy_pass 语法略有不同它后面直接跟的是上游服务器组的名字而不是完整的 URL。确保在你的 Nginx 版本中 stream 模块是可用的并且正确地配置了所有服务器和端口。测试和监控负载均衡器的性能和行为至关重要以确保配置符合预期。 以上配置示例展示了如何使用 Nginx 的 stream 模块进行四层负载均衡的不同算法配置。选择合适的算法需要考虑到服务的性质、服务器的性能差异以及会话管理的需求。 nginx-mod-stream nginx-mod-stream 是 Nginx 的一个模块专门用于处理 TCP 和 UDP 流即第4层传输层的负载均衡。这个模块允许 Nginx 作为高性能的 TCP/UDP 代理和负载均衡器可以用来为各种服务进行负载均衡包括但不限于数据库服务如 MySQL、PostgreSQL、邮件服务SMTP、IMAP、POP3、DNS 服务、VoIP 服务等。 主要特点 TCP/UDP 代理nginx-mod-stream 可以代理 TCP 和 UDP 请求这使得 Nginx 成为一个通用的网络负载均衡器。负载均衡支持多种负载均衡算法如轮询、最少连接、IP 哈希等。健康检查可以配置健康检查机制确保只有健康的服务器接收请求。灵活的配置类似于 HTTP 模块stream 模块也支持丰富的配置选项可以精细控制代理行为。高可用性和性能得益于 Nginx 的高性能架构nginx-mod-stream 可以处理大量的并发连接非常适合高负载环境。 配置示例 以下是一个使用 nginx-mod-stream 进行 TCP 负载均衡的简单配置示例 stream {upstream mysql {server 192.168.239.131:3306;server 192.168.239.174:3306;}server {listen 3306;proxy_pass mysql;} } 在这个示例中Nginx 监听 3306 端口并将接收到的连接代理到 backend 上游组中的服务器。上游组中定义了两台服务器它们将根据轮询算法接收连接。