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

wordpress添加单页模板企业新网站seo推广

wordpress添加单页模板,企业新网站seo推广,高端定制网站开发建站教程详解,wordpress留言板制作一.Nacos配置管理 Nacos不仅可以作为注册中心,可以进行配置管理 1.1 统一配置管理 统一配置管理可以实现配置的热更新(即不用重启当服务发生变更时也可以直接更新) dataId格式:服务名-环境名.yaml,分组一般使用默认…

一.Nacos配置管理

Nacos不仅可以作为注册中心,可以进行配置管理

1.1 统一配置管理

统一配置管理可以实现配置的热更新(即不用重启当服务发生变更时也可以直接更新)
dataId格式:服务名-环境名.yaml,分组一般使用默认即可,配置内容只写有热更新需求的配置

在这里插入图片描述

1.2 拉取配置文件

在没有nacos配置文件时,项目启动顺序为:
项目启动>>>读取本地配置文件>>>创建spring容器>>>加载bean
在有nacos配置文件之后,项目启动顺序为:
项目启动>>>读取nacos配置文件>>>读取本地配置文件>>>创建spring容器>>>加载bean
此时出现了一个问题:**读取nacos配置文件需要知道nacos配置文件的地址,而这个地址应该在application.yml中,这是否造成了冲突?**因此需要将nacos配置的地址提前,此时使用bootstrap.yml引导文件,该文件的优先级还要高于application.yml
执行步骤
1.在相应的服务中导入依赖比如user-service:

<!--nacos配置管理依赖-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2.导入并编写bootstrap.yml(该引导文件中会指明nacos配置文件所在位置)

spring:application:name: userserviceprofiles:active: dev # 环境cloud:nacos:server-addr: localhost:8848 # nacos地址config:file-extension: yaml # 文件后缀名

3.删除application.yml中与bootstrap.yml中重复的配置

#  application:
#    name: userservice # user服务名称
#  cloud:
#    nacos:
#      server-addr: localhost:8848 # nacos服务地址
#      discovery:
#        cluster-name: SH # 集群名称

4.验证是否真的读取到nacos配置文件:
在UserController中添加内容:

 	@Value("${pattern.dateformat}")  //读取nacos配置文件中的内容,并将内容注入到dateformat中;private String dateformat;@GetMapping("/now")public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));}

修改之后启动user-service,访问http://localhost:8081/user/now,结果:
在这里插入图片描述

1.3 配置文件热更新

Nacos中的配置文件变更之后,微服务无需重启就可以感知。不过需要通过下面2种配置实现:
方式一
  在@Value注入的变量所在类上添加注解@RefreshScope

@Slf4j
@RestController
@RequestMapping("/user")
@RefreshScope
public class UserController {@Autowiredprivate UserService userService;@Value("${pattern.dateformat}")private String dateformat;@GetMapping("/now")public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));}
}

修改之前
在这里插入图片描述

热更新之后:
在这里插入图片描述

方式二
使用@ConfigurationProperties(prefix = “pattern”)注解,单独配置一个属性类,读取配置文件中的内容:
1.新建config.PatternProperties属性类

@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {private String dateformat;
}

2.将PatternProperties bean注入到UserController中:

@Slf4j
@RestController
@RequestMapping("/user")
//@RefreshScope
public class UserController {@Autowiredprivate UserService userService;@Autowiredprivate PatternProperties patternProperties;//    @Value("${pattern.dateformat}")
//    private String dateformat;@GetMapping("/now")public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(patternProperties.getDateformat()));}
}

最终实现效果同上

1.4 配置管理-多环境配置共享

微服务启动时会从nacos读取多个配置文件:

  • [spring.application.name]-[spring-profiles.active].yaml,例如userservice-dev.yaml,这个是区分环境的。
  • [spring.application.name].yaml,例如userservice.yaml,这个不区分环境,多环境共性。
    无论profiles如何变化,[spring.application.name].yaml该文件一定会被加载,因此多环境共享分配置可以写入这个文件。
    执行步骤
    1.添加共享配置
    在这里插入图片描述
    2.采用第二种方式读入nacos配置文件属性
@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {private String dateformat;private String envShareValue;
}

编写测试接口

@GetMapping("/prop")
public PatternProperties prop(){return patternProperties;
}

重启配置类,访问结果:dev
在这里插入图片描述
访问结果:test
在这里插入图片描述

配置文件访问优先级
远程

1.5 配置管理-nacos集群搭建

nacos在生产环境中必定是集群形式,搭建集群的基本步骤:

  • 搭建数据库,初始化数据库表结构
  • 下载nacos安装包
  • 配置nacos
  • 启动nacos集群
  • nginx反向代理

1.新建数据库nacos,初始化数据库表结构(如果你使用的其他版本的nacos,记得使用里边自带的sql脚本初始化数据库)

-- 新建查询
CREATE TABLE `config_info` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(255) DEFAULT NULL,`content` longtext NOT NULL COMMENT 'content',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',`src_user` text COMMENT 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',`app_name` varchar(128) DEFAULT NULL,`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',`c_desc` varchar(256) DEFAULT NULL,`c_use` varchar(64) DEFAULT NULL,`effect` varchar(64) DEFAULT NULL,`type` varchar(64) DEFAULT NULL,`c_schema` text,PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_aggr   */
/******************************************/
CREATE TABLE `config_info_aggr` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(255) NOT NULL COMMENT 'group_id',`datum_id` varchar(255) NOT NULL COMMENT 'datum_id',`content` longtext NOT NULL COMMENT '内容',`gmt_modified` datetime NOT NULL COMMENT '修改时间',`app_name` varchar(128) DEFAULT NULL,`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_beta   */
/******************************************/
CREATE TABLE `config_info_beta` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL COMMENT 'content',`beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',`src_user` text COMMENT 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_tag   */
/******************************************/
CREATE TABLE `config_info_tag` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',`tag_id` varchar(128) NOT NULL COMMENT 'tag_id',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL COMMENT 'content',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',`src_user` text COMMENT 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_tags_relation   */
/******************************************/
CREATE TABLE `config_tags_relation` (`id` bigint(20) NOT NULL COMMENT 'id',`tag_name` varchar(128) NOT NULL COMMENT 'tag_name',`tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',`nid` bigint(20) NOT NULL AUTO_INCREMENT,PRIMARY KEY (`nid`),UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = group_capacity   */
/******************************************/
CREATE TABLE `group_capacity` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',`group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = his_config_info   */
/******************************************/
CREATE TABLE `his_config_info` (`id` bigint(64) unsigned NOT NULL,`nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,`data_id` varchar(255) NOT NULL,`group_id` varchar(128) NOT NULL,`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL,`md5` varchar(32) DEFAULT NULL,`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,`src_user` text,`src_ip` varchar(50) DEFAULT NULL,`op_type` char(10) DEFAULT NULL,`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',PRIMARY KEY (`nid`),KEY `idx_gmt_create` (`gmt_create`),KEY `idx_gmt_modified` (`gmt_modified`),KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = tenant_capacity   */
/******************************************/
CREATE TABLE `tenant_capacity` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',`tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';CREATE TABLE `tenant_info` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`kp` varchar(128) NOT NULL COMMENT 'kp',`tenant_id` varchar(128) default '' COMMENT 'tenant_id',`tenant_name` varchar(128) default '' COMMENT 'tenant_name',`tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',`create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',`gmt_create` bigint(20) NOT NULL COMMENT '创建时间',`gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';CREATE TABLE `users` (`username` varchar(50) NOT NULL PRIMARY KEY,`password` varchar(500) NOT NULL,`enabled` boolean NOT NULL
);CREATE TABLE `roles` (`username` varchar(50) NOT NULL,`role` varchar(50) NOT NULL,UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);CREATE TABLE `permissions` (`role` varchar(50) NOT NULL,`resource` varchar(255) NOT NULL,`action` varchar(8) NOT NULL,UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

2.安装nacos(略)

3.配置nacos(由于是集群,所以我们配置多份),配置多份可以采用解压一次,配置一次,复制两份,再依次修改。(因为内存吃紧的原因,我用2个nacos作为集群;)

  • 将nacos/conf/cluster.conf.example重命名为cluster.conf,然后修改为,表示2台机器(这里是只有一台机器所以用两个不同的端口号来模拟两台机器,注意尽量使用你的本机IP地址),cmd》》ipconfig可以查看本机IP地址。我的本机IP地址为10.81.62.166,所以cluster.conf中写的内容是:
10.81.62.166:8848
10.81.62.166:8858
  • 修改nacos/conf/application.properties,添加数据库配置

1.打开数据源

在这里插入图片描述

spring.datasource.platform=mysql

2.指定数据库的数量

在这里插入图片描述

db.num=1

3.指定数据库连接信息
在这里插入图片描述

db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=你的密码

4.将nacos文件夹复制2份
在这里插入图片描述

5.分别修改三个nacos中的application.properties中的server-port,server-port对应的是你在cluster.conf中配置的内容,比如让nacos1中的server-port=8848,让nacos2中的server-port=8858。

6.启动startup.cmd,这次是集群启动(默认),区别之前的单点启动,共同点是都要进入bin目录再打开cmd窗口.注意目录中不能出现中文目录。

//单点启动
startup.cmd -m standalone
//集群启动
startup.cmd 

nacos1集群启动效果:
在这里插入图片描述
nacos2集群启动效果:
在这里插入图片描述
可能遇到的问题1
由于vmware虚拟网卡的存在,nacos启动时会获取虚拟网卡的IP地址而不会读取cluster.conf中IP地址。我之前明明配置好了IP地址,但是一直读取的确实192.168.11.11这个地址,后来发现这是一个虚拟网卡IP地址,于是禁用了虚拟网络,恢复了正常。

7.配置nginx

  • 将Nginx解压到一个没有中文的目录
  • 修改conf/nginx.conf文件,配置如下,将如下配置内容复制到conf/nginx.conf中的任何一个位置即可(只要包含在http下):
	upstream nacos-cluster {server 10.81.62.166:8848;server 10.81.62.166:8858;}server {listen       8088;server_name  localhost;location /nacos {proxy_pass http://nacos-cluster;}}

可能遇到的问题2
nginx进行反向代理的配置时,一个http中只能有一个server{},所以像视频中老师那样直接复制进去是不行的,需要删除之前的server即可。保存之后重启nginx,打开对应的端口。
在这里插入图片描述
Nacos集群启动成功

8.修改代码中配置文件
由于部署了集群,因此访问地址发生了变更,修改bootstrap.yml文件中server-addr为nginx监听端口

spring:cloud:nacos:server-addr: localhost:8088 # nacos地址
http://www.yayakq.cn/news/367687/

相关文章:

  • 医疗公司网站建设项目背景微信商城怎么开
  • 南宁网站建设是什么tk域名注册地址
  • 盐城网站开发渠道合作wordpress cdn 规则
  • 保定 营销型网站建设使用wordpress函数
  • 虚拟主机 发布网站个体工商户查询
  • 如何做发卡网站网站用html做框架asp做主页
  • 上海自助模板建站app设计方案
  • 新站秒收录接口搜索引擎营销主要方法包括
  • 网站备案拍照是什么免费建网站可以找哪家英文网站
  • html5网站报价明细网站搭建教室
  • 网站建设案列不能制作网页的软件有哪些
  • 用qq邮箱做网站福田网站改版
  • 淘宝客领券网站怎么做淮北论坛招聘兼职
  • 网站开发销售合同招才猫网站多少钱做的
  • 苏州建设网站首页游戏代理哪个平台正规
  • 快站app下载从源码安装wordpress
  • pc 移动端网站建设正规app开发和制作公司
  • 广州网站建设泸州广州哪里好玩的景点推荐
  • 宜宾营销型网站建设店面设计效果图大全
  • 汉口网站制作设计app设计总结
  • 2345网站登录石家庄个人做网站
  • 网站seo排名优化软件百度指数在线查询前100
  • 南京建设网站费用网站推广如何做的
  • 垂直网站建设规模wordpress用户修改邮箱
  • 开源网站推广比较好的软件开发公司
  • 建设网站花都石家庄seo网站建设
  • 户外运动网站程序wordpress 调用tag
  • 定制网站建设费用预算自动的网站设计制作
  • 中山快速建站合作seo自己怎么做
  • wap网站制作模板潍坊住房公积金官网登录