小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
📖前言
心态好了,就没那么累了。心情好了,所见皆是明媚风景。
复制代码
“一时解决不了的问题,那就利用这个契机,看清自己的局限性,对自己进行一场拨乱反正。”正如老话所说,一念放下,万般自在。如果你正被烦心事扰乱心神,不妨学会断舍离。断掉胡思乱想,社区垃圾情绪,离开负面能量。心态好了,就没那么累了。心情好了,所见皆是明媚风景。
PS:为了更贴近实际我在服务器上搞这些东西,把基础搞定然后实战项目,希望后面能带给大家更优质有内容的文章
🚀第一步永远都是 安装jdk
:
官网下载jdk,传送门 选择下载匹配的版本,如下所示
Docker
安装各类软件
第一步永远都是 安装jdk
:
官网下载jdk,传送门 选择下载匹配的版本,如下所示
下载完成后通过 xftp
上传到服务器,执行如下操作(vim
后按 i
开始编辑,esc
关闭编辑,输入:wq
保存关闭):
vim /etc/profile
最下面加入这段:
#java
export JAVA_HOME=/usr/local/java/jdk1.8.0_261
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
执行这句:
mkdir -p /usr/local/java && tar -xzvf jdk-8u261-linux-x64.tar.gz && mv jdk1.8.0_261 /usr/local/java && source /etc/profile
复制代码
验证是否安装成功 java -version
:
Docker
搜索 Minio
镜像
docker search minio
复制代码
Docker
常用命令-- Docker
的安装我就不说了大家可以自行百度
docker ps
docker ps -a
docker rm 名称
# liunx 端口是否正常运行和占用
netstat -an | grep :3306
#查看3306端口被什么程序占用
lsof -i :3306
#查看3306端口是被哪个服务使用着
netstat -tunlp | grep :3306
#查找文件和库
find / -name mysql
#移除删除 文件夹/文件名
rm -rf
#拉取镜像
# 拉取微软在 Docker 上的 aspnetcore 镜像:
docker pull microsoft/aspnetcore
#之后执行以下命令查看是否拉取成功:
docker images
# 删除镜像(会提示先停止使用中的容器)
docker rmi 镜像name/镜像id
# 拉取镜像
docker pull
# 删除容器
docker rm <容器名 or ID>
# 查看容器日志
docker logs -f <容器名 or ID>
docker logs --tail="10" nginx
# 查看正在运行的容器
docker ps
docker ps -a # 为查看所有的容器,包括已经停止的。
# 删除所有容器
docker rm $(docker ps -a -q)
# 停止、启动、杀死指定容器
docker start <容器名 or ID> # 启动容器
docker stop <容器名 or ID> # 启动容器
docker kill <容器名 or ID> # 杀死容器
docker restart 容器name/容器id #容器重启
docker rm 容器name/容器id # 删除容器
docker logs 容器名称/容器id # 查看容器运行日志
# 查看所有镜像
docker images
# 拉取镜像
docker pull <镜像名:tag>
# 例如以下代码
docker pull sameersbn/redmine:latest
# 后台运行
docker run -d <Other Parameters>
# 例如
docker run -d -p 127.0.0.1:33301:22 centos6-ssh
# 暴露端口
# 一共有三种形式进行端口映射
docker -p ip:hostPort:containerPort # 映射指定地址的主机端口到容器端口
# 例如:docker -p 127.0.0.1:3306:3306 映射本机3306端口到容器的3306端口
docker -p ip::containerPort # 映射指定地址的任意可用端口到容器端口
# 例如:docker -p 127.0.0.1::3306 映射本机的随机可用端口到容器3306端口
docer -p hostPort:containerPort # 映射本机的指定端口到容器的指定端口
# 例如:docker -p 3306:3306 # 映射本机的3306端口到容器的3306端口
# 映射数据卷
docker -v /home/data:/opt/data # 这里/home/data 指的是宿主机的目录地址,后者则是容器的目录地址
# 进入容器
docker exec -it 容器名 bash
mysql -uroot -p
use mysql;
复制代码
Docker
拉取 Minio
镜像
docker pull minio/minio
复制代码
PS:我们没有指定版本 默认拉取的镜像就是最新的版本。
Docker
启动 Minio
镜像
最近MInio更新了。
更新之前命令:
我们以前的启动命令是这样的:
docker run -d -p 9000:9000 --name myminio -e "MINIO_ROOT_USER=minioadmin" -e "MINIO_ROOT_PASSWORD=minioadmin" -v /home/minio/data:/data minio/minio server /data
复制代码
解释:
-
docker run :docker 启动容器命令
-
-d :后台启动
-
-p :端口映射
-
--name 为这个容器取一个名字
-
-e :设置环境变量
-
-v :文件挂载
-
minio/minio server /data : minio的启动命令
(minio/minio 是镜像名字、 /data:数据存储位置)
按照原有命令启动的话,浏览器是访问不了的。
我们来通过浏览器访问 http://ip:9000,报错无法访问!!!
先停止删除容器:
docker stop <容器id> #暂停容器
docker rm <容器id> #删除停止的容器
复制代码
更新之后命令:
#最近更新的命令
docker run -d \
-p 9000:9000 \
-p 9001:9001 \
--name minio1 \
-v /home/minio/data:/data \
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
minio/minio server /data --console-address ":9001"
复制代码
更新之后多了一个端口映射。
这个我在minio的官网上并没有找到原因,后来又去看github上的版本更改才发现一点头绪。需要我们指定控制台的端口映射,并且和minio server 是不同的。
github.com/minio/minio… 注:minio 的控制台也更新啦 脑阔大。
注意:
因为minio 控制台和minio server 需要不同的端口,一定要在阿里云或腾讯云上配置好安全组哦。一个9000 是不够了哈。 当时在官网看的原因,好像是为了更好的管理做的这个更新,等找到了原因的那个链接我再放上来(狗头🐶保命),
相关命令
命令 | 作用 |
---|---|
-a | 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项 |
-w | 指定容器的工作目录 |
-c | 指定容器CPU权重, 在CPU共享场景使用 |
-m | 指定容器的内存上限 |
-d | 后台运行容器,并返回容器ID |
-p | 端口映射,格式为:宿主机端口:容器端口 |
-i | 以交互模式运行容器,通常与 -t 同时使用 |
-t | 为容器重新分配一个tty伪输入终端,通常与 -i 同时使用 |
-v | 挂载数据卷 |
-name | 为容器指定一个名称,后续可以通过名字进行容器管理 |
-rm | 指定容器停止后自动删除容器(不支持以docker run -d启动的容器) |
-h "" | 指定容器的主机名 |
-e key=“value”,–env=[] | 设置环境变量 |
–env-file=[] | 从指定文件读入环境变量 |
–net="" | 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型 |
Docker
安装 Nginx
Nginx
配置参见: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;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 9001;
server_name ip;
charset utf-8;
location / {
root /data/nginx/;
index index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# HTTPS server
server {
listen 端口 ssl;
server_name szdz.cncn.gov.cn;
ssl on;
index index.html;
ssl_certificate crt目录;
ssl_certificate_key key目录;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:9001;
proxy_set_header Host $http_host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X_Forwarded_For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
复制代码
安装 Nginx
docker run -d -p 80:80 --name nginx nginx:1.17.7
mkdir -p /home/nginx/logs
docker cp nginx:/usr/share/nginx/html /home/nginx/
docker cp nginx:/etc/nginx /home/nginx/
docker cp nginx:/var/log/nginx /home/nginx/
docker stop nginx && docker rm nginx
# 映射-v /home/nginx/到/data/nginx/ -p 9091:9091 服务器端口映射docker的端口
docker run -d -p 80:80 -p 443:443 -p 8080:8080 --name nginx -v /home/nginx/nginx/:/etc/nginx -v /home/nginx/html/:/usr/share/nginx/html -v /etc/localtime:/etc/localtime -v /home/nginx/:/data/nginx/ nginx:1.17.7
复制代码
安装完成后将开启:80、443、8080端口,如需添加可以添加更多:-p 端口:映射端口
复制代码
查看docker的所有运行镜像:docker ps
,停止和运行的所有镜像:docker ps -a
Docker
安装 Nacos
1、拉取镜像
docker pull nacos/nacos-server
复制代码
2、挂载目录
mkdir -p /mydata/nacos/logs/ #新建logs目录
mkdir -p /mydata/nacos/init.d/
vim /mydata/nacos/init.d/custom.properties #修改配置文件
复制代码
3、mysql新建nacos的数据库,并执行脚本
下载地址
/*
* Copyright 1999-2018 Alibaba Group Holding Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info */
/******************************************/
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 '2010-05-05 00:00:00' COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
`src_user` text COMMENT 'source user',
`src_ip` varchar(20) 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 '2010-05-05 00:00:00' COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
`src_user` text COMMENT 'source user',
`src_ip` varchar(20) 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 '2010-05-05 00:00:00' COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
`src_user` text COMMENT 'source user',
`src_ip` varchar(20) 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 '2010-05-05 00:00:00' COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' 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 '2010-05-05 00:00:00',
`gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
`src_user` text,
`src_ip` varchar(20) 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 '2010-05-05 00:00:00' COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' 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,
constraint uk_username_role UNIQUE (username,role)
);
CREATE TABLE permissions (
role varchar(50) NOT NULL,
resource varchar(512) NOT NULL,
action varchar(8) NOT NULL,
constraint uk_role_permission UNIQUE (role,resource,action)
);
INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');
复制代码
4、修改配置文件custom.properties
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_devtest_prod?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=user
db.password=pass
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true
复制代码
5、启动容器
docker run \
--name nacos -d \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
nacos/nacos-server
复制代码
liunx
安装 MYSQL
并且修改 mysql
允许远程连接
mysql
配置文件:
[client]
socket = /var/lib/mysql/mysqld.sock
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
#socket = /var/run/mysqld/mysqld.sock
socket = /var/lib/mysql/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
innodb_flush_log_at_trx_commit=2
symbolic-links=0
max_connections=1000
wait_timeout=86400
character_set_server=utf8
max_allowed_packet=50M
long_query_time=1
slow_query_log='ON'
default-time_zone='+8:00'
skip-name-resolve
innodb_file_per_table = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#lower_case_table_names = 1
# Custom config should go here
!includedir /etc/mysql/conf.d/
复制代码
docker
命令
mkdir -p /home/mysql8/data
docker run -p 3306:3306 --name tempMysql --privileged=true -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.26
docker cp tempMysql:/etc/mysql/my.cnf /home/mysql8
docker stop tempMysql && docker rm tempMysql
docker run -p 3306:3306 --name mysql8 -v /home/mysql8/my.cnf:/etc/mysql/my.cnf -v /home/mysql8/data:/var/lib/mysql -v /etc/localtime:/etc/localtime --privileged=true -e MYSQL_ROOT_PASSWORD=xxx密码 -d mysql:8.0.26
复制代码
最近在 Linux
上安装了 Mysql
,然后在 Windows
环境下通过 Navicat
来连接时,出现报错:1045 Access denied for user 'root'@'XXX' (using password: YES)
:
首先,在Linux中是可以正常登录mysql,所以不会是用户密码错误导致的。
接着,我考虑到可能与防火墙有关,于是检查了Linux下的防火墙是否开放了对应端口,发现此时的防火墙是关闭状态,因此可以排除防火墙的影响。
最后,突然想到默认情况下mysql的root用户是不能远程连接的,于是在Linux中登录mysql,发现果然是这个原因,解决过程如下:
# 进入容器
docker exec -it 容器名 bash
mysql -uroot -p
use mysql;
复制代码
-
1.登录mysql,命令:
mysql -u root -p
,然后输入密码即可。 -
2.查看mysql库中的user表的host字段
使用mysql库:use mysql
查询信息:select user,host from user
host字段中,localhost表示只允许本机访问,要实现远程连接,可以将root用户的host改为%,%表示允许任意host访问,如果需要设置只允许特定ip访问,则应改为对应的ip。
- 3.修改root用户的host字段,命令:
update user set host="%" where user="root"
- 4.使本次修改立即生效,命令:
flush privileges
最后,在windows下的Navicat中远程连接,便不会报错了。
Docker
安装 Redis6.0.3稳定版
1. 拉取制定版本的容器:docker pull redis:6.0.3
2. 查看本地镜像
使用以下命令来查看是否已安装了 redis
:
docker images
复制代码
PS:可以看到我是安装了的,看下面的具体步骤
3. 创建文件夹和文件
mkdir -p /home/redis/data 【创建文件夹】
touch /home/redis/redis.conf 【创建文件】
复制代码
4. 从官网获取 redis.conf 配置文件
cd /home/redis //进入目录
wget http://download.redis.io/redis-stable/redis.conf //下载redis配置文件
vim redis.conf //修改配置文件
复制代码
bind 127.0.0.1
#注释掉这部分,这是限制redis只能本地访问protected-mode no
#默认yes,开启保护模式,限制为本地访问daemonize no
#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败dir ./
#输入本地redis数据库存放文件夹(可选)appendonly yes
#redis持久化(可选)
5. 运行镜像
参数说明:
-
-p 6379:6379
:映射容器服务的6379
端口到宿主机的6379
端口。外部可以直接通过宿主机ip:6379
访问到Redis
的服务。 -
docker run --name redis -p 6379:6379 -v /home/redis/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass "你要设置的密码" 复制代码
说明
--name redis 【容器名】 -p 6379:6379 【映射端口】 -v /usr/local/app/redis/redis.conf:/etc/redis/redis.conf 【conf文件挂载目录】 -v /usr/local/app/redis/data:/data 【data挂载目录】 -d redis:版本号 【后台运行镜像】 --restart=always 【docker重启后自动启动镜像】 redis-server /etc/redis/redis.conf 【在容器执行redis-server启动命令,执行conf文件】 --appendonly yes 【持久化】 --requirepass "你要设置的密码" 【设置密码】 复制代码
6. 进入容器
docker exec -it redis bash 【进入容器】
redis-cli 【连接】
auth 设置的密码 【登录】
set hello world
get hello
复制代码
查看docker的所有运行镜像:docker ps
,停止和运行的所有镜像:docker ps -a
🎉总结:
-
更多参考精彩博文请看这里:《陈永佳的博客》
-
喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!
近期评论