编辑
2024-06-20
linux
00

有时候为了服务器安装很多信息是不能显露出来了,这其中就包含了tomcat服务器的版本号。

修改前如下:

a31e192063334ffab42af9477e7b8411.image.webp

1.进入tomcat安装路径(这里以/usr/local/tomcat为例说明):

cd  /usr/local/tomcat/lib unzip catalina.jar cd org/apache/catalina/util vim ServerInfo.properties

2.找到最下面,类似台下信息(版本不同以下信息不同):

server.info=Apache Tomcat/7.0.52 (Ubuntu) server.number=7.0.52.0 server.built=Jun 30 2016 01:59:37

修改之为以下,并保存:

server.info=Apache Tomcat server.number=0.0.0.0 server.built=Jun 30 2016 01:59:37

将修改后的信息压缩回jar包:

cd  /usr/local/tomcat/lib jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties

3.重启tomcat::

service tomcat restart

4.测试:

修改后如下:

a9aa3a8643558d38343b261e46b98dd7.image.webp

编辑
2024-05-15
database
00

mysql双主同步

MySQL8的双主同步(也称为双主复制或双向复制)是指两个MySQL服务器相互之间进行数据复制,从而确保数据的实时同步和数据冗余备份。

服务器说明

DB-MASTER(服务器A):172.165.32.132

DB-SLAVE(服务器B):172.165.32.182

DB VIP(Keepalived) :172.165.32.192

登录账号信息:

root/Cpcnet123$%^

TychonicUser/Cpcnet123$%^

登录命令:

mysql -uroot -p'Cpcnet123$%^'

配置同步步骤

1、在服务器A,my.cnf中配置同步信息

Mysql8位置在/etc/mysql/my.cnf

[mysqld] log-bin=mysql-bin #开启主从binlog(二进制日志),主库必须开启 binlog_format=mixed #指定二进制日志格式为mixed,即在语句和行两种模式之间自动切换 server-id=1 #配置server-id(唯一)标识主机,必须与从库不一致 relay-log=relay-bin #指定中继日志文件的名称为relay-bin,用于在主从复制中传输数据 relay-log-index=slave-relay-bin.index #指定中继日志索引文件的名称,用于记录中继日志文件的位置。 auto_increment_increment=1 #指定自增长ID的增量为1,用于在主从复制中避免ID冲突。 auto_increment_offset=1 #指定自增长ID的起始值为1,用于在主从复制中避免ID冲突。 expire_logs_days=30

2、重启mysql

sudo systemctl restart mysql

3、使用root账号登录mysql服务器A

mysql -uroot -p'Cpcnet123$%^'

4、进入mysql,创建同步用户

CREATE USER 'replica'@'%' IDENTIFIED BY 'SE$rft6y'; GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%'; FLUSH PRIVILEGES;

5、在服务器B,my.cnf中配置同步信息

Mysql8位置在/etc/mysql/my.cnf

[mysqld] log-bin=mysql-bin #开启主从binlog(二进制日志),主库必须开启 binlog_format=mixed #指定二进制日志格式为mixed,即在语句和行两种模式之间自动切换 server-id=2 #配置server-id(唯一)标识主机,必须与从库不一致 relay-log=relay-bin #指定中继日志文件的名称为relay-bin,用于在主从复制中传输数据 relay-log-index=slave-relay-bin.index #指定中继日志索引文件的名称,用于记录中继日志文件的位置。 auto_increment_increment=2 #指定自增长ID的增量为2,用于在主从复制中避免ID冲突。 auto_increment_offset=2 #指定自增长ID的起始值为2,用于在主从复制中避免ID冲突。 expire_logs_days=30

6、重启mysql

sudo systemctl restart mysql

7、使用root账号登录mysql服务器B

mysql -uroot -p'Cpcnet123$%^'

8、进入mysql,创建同步用户

CREATE USER 'replica'@'%' IDENTIFIED BY 'SE$rft6y'; GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%'; FLUSH PRIVILEGES;

9、在服务器B执行命令

show master status;

51c2754c97094da0a76b66214bdcdeda.image.webp 使用查询出来的log file名称(mysql-bin.000055)和pos(90427)配置服务器A的同步

10、在服务器A用root账号登录mysql执行以下命令

stop slave; reset slave; CHANGE MASTER TO MASTER_HOST='172.165.32.182', MASTER_USER='replica', MASTER_PASSWORD='SE$rft6y', MASTER_LOG_FILE='mysql-bin.000055', MASTER_LOG_POS=90427, get_master_public_key=1; start slave; show slave status\G;

b98912d884dfdbba286da295c6ce1098.image.webp

如果配置正确,状态应该显示Slave_IO_Running和Slave_SQL_Running均为Yes。

11、在服务器A使用root账号登录mysql执行命令

show master status;

67e3a0e202f7e4407d584231778f5130.image.webp

使用查询出来的log file名称(mysql-bin.000050)和pos(94845)配置服务器B的同步

12、在服务器B使用root账号登录mysql执行以下命令

stop slave; reset slave; CHANGE MASTER TO MASTER_HOST='172.165.32.132', MASTER_USER='replica', MASTER_PASSWORD='SE$rft6y', MASTER_LOG_FILE='mysql-bin.000050', MASTER_LOG_POS=94845, get_master_public_key=1; start slave; show slave status\G;

0820276b962f34aae70b9f8dcb885a85.image.webp

如果配置正确,状态应该显示Slave_IO_Running和Slave_SQL_Running均为Yes。

测试:

在master-A主机上创建同步数据库

CREATE DATABASE IF NOT EXISTS abcd DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci; use abcd; create table t1(id int,name varchar(20));

在master-B上查看是否同步了master-A的变化

show databases; use abcd; show tables;

在master-B上插入一条数据查看master-A上是否同步更新

insert into t1 (id,name) values (5,'王五');

在mster-A上查询在master-B上插入的数据

Select * from t1;

测试通过删除测试库abcd;

DROP DATABASE IF EXISTS abcd;

在MASTER-A导出完整数据

mysqldump -u root-p miind_sdwan_1_5 > /home/cpcnet/backup.sql

在MASTER-A删除miind_sdwan_1_5;

DROP DATABASE IF EXISTS miind_sdwan_1_5;

MASTER-B新建miind_sdwan_1_5;

CREATE DATABASE IF NOT EXISTS miind_sdwan_1_5;

在MASTER-A导入数据

source /home/cpcnet/full_backup.sql;

排查异常

select * from performance_schema.replication_applier_status_by_worker\G;
编辑
2024-05-15
中间件
00

该文章已加密,点击 阅读全文 并输入密码后方可查看。

编辑
2024-05-15
中间件
00

nginx的负载均衡主要是以下配置起作用

#负载均衡 upstream load_banance { #负载均衡方法,可选

,ip_hash等,不填写则为轮询方式; # 服务器的访问地址,最好使用服务器的私有IP以获得更好的性能和安全性。 server 172.163.32.125:8090 weight=1; server 172.163.32.165:8090 weight=1; }

以上配置表示当请求nginx时,会按照轮询的方式去172.163.32.125:8090和172.163.32.165:8090请求服务

以下是一个完整的nginx配置示例:

#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; #负载均衡 upstream load_banance { #负载均衡方法,可选:least_conn,ip_hash等,不填写则为轮询方式; # 服务器的访问地址,最好使用服务器的私有IP以获得更好的性能和安全性。 server 172.163.32.125:8090 weight=1; server 172.163.32.165:8090 weight=1; } server { listen 80; charset utf-8; root /home/allen/mnt/cpc/dist; location = /index.html { add_header Cache-Control "no-cache, no-store"; } location / { try_files $uri $uri/ @router; index index.html index.htm; } location @router { rewrite ^.*$ /index.html last; } location /api { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_pass http://load_banance; rewrite "^/api/(.*)$" /$1 break; } client_max_body_size 10M; } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
编辑
2024-04-29
前端
00

1. Vue3简介

  • 2020年9月18日,Vue.js发布版3.0版本,代号:`O