继开 | 博客

热爱生活,努力学习,实现自己的价值


  • 短诗的序

  • 迷途自渡

  • 寒星三两

  • 林深见鹿

  • 记昨日书

  • 顾探往昔

Docker保存加载镜像

发表于 2020-09-19
字数统计: 113 字 | 阅读时长 ≈ 1 min

前言

因需要安装k8s 需要修改docker 版本,一些已经部署的docker镜像需要重新部署,但又不想再修改一次配置文件。

方法一:将容器直接备份成tar 文件

镜像直接备份成tar

1
docker export 614a3f243faa>yearning.2.3.0.tar

还原方法

1
cat yearning.2.3.0.tar | sudo docker import - yearning:2.3.0

方法二:将容器直接备份镜像,然后备份冲tar文件

docker安装Yearning,sql审核工具

发表于 2020-09-18
字数统计: 240 字 | 阅读时长 ≈ 1 min

下载

在github 下载相应的版本 下载

此处使用的是 Yearning-2.3.0-RC3-path1-linux-amd64.zip

打包镜像

解压之后修改conf.toml可参照 https://guide.yearning.io/install.html

然后压缩之后上传到linux 服务器进行docker 打包镜像

进入Yearning-go 目录

将Yearnig 变为可执行文件,此处必须

1
chmod +x ./Yearning

若不执行此步则启动容器会报错:docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused “exec: "/opt/Yearning": permission denied”: unknown.

执行,将yearing打包成镜像

1
docker build -t yearning:2.3.0 .

注意yearning中不可以有大写字母,在命令最后有文件当前路径“.”标识

打包之后检查docker images 中是否有yearning镜像

运行镜像容器

在运行前,在conf.toml 配置的那个库中新建Yearning 库

1
docker run --name yearning -d -it -p 9996:8000 yearning:2.3.0

访问

http://服务器ip:9996

默认账号/密码:admin/Yearning_admin

苹果刷机遇到的问题

发表于 2020-09-16
字数统计: 56 字 | 阅读时长 ≈ 1 min

1.网络必须用联通热点

2.关机之后,再同时按住开机键和音量减键,按住5秒之后要松开开机键,一直按住音量减键一直进入刷机模式

Jenkins构建项目遇到的问题以及解决方法

发表于 2020-09-15
字数统计: 229 字 | 阅读时长 ≈ 1 min

环境

docker 安装的 jenkins

1.jenkins创建项目没有maven 项目

需要在插件管理中安装 :Maven Integration plugin

2.maven 配置

需要在系统配置中配置自己的maven ,默认安装的maven不可以

并且,maven 的仓库必须有权限

1
chmod 777 /usr/local/mavenRepository/

建议仓库设到jenkins安装的时候的映射目录下。
记得修改setting文件仓库文件和使用阿里云镜像仓库

全局默认的setting 要选docker 容器内部的目录

需要在新建项目中配置 Pre Steps 选择调用顶层Maven目标,Maven版本选自己设置的,目标写:

1
clean package

3.gitee

配置gitee 代码管理的时候记得要吧前两个输入框:用户密码填上,不然报没有权限

4.jdk

jdk 用自己的,jenkins 用的openjdk 不一定适合项目,有大堆查不出原因的错误

微服务架构

发表于 2020-09-14
字数统计: 1,781 字 | 阅读时长 ≈ 6 min

微服务架构技术选型

开发语言

JAVA:主流编程语言,适合构建大型后台服务

Golang:Go语言是谷歌2009发布的第二款开源编程语言。专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。Google对Go寄予厚望。其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。目前作为云计算领域的不二之选!

开发工具

IntelliJ IDEA:jetbrains公司旗下产品,智能代码助手、J2EE支持、各类版本工具(git、svn、github等)、JUnit、CVS整合等。多语言支持,免费版只支持JAVA等少数语言。旗舰版为收费版本,同时提供免费版(功能上较旗舰版有减少)。

VS Code:是一款免费的、开源的、高性能的、跨平台的、轻量级的代码编辑器,同时,在性能,语言支持、开源社区方面也做的很不错!

开发技术

框架

微服务框架

Spring Cloud / Spring Cloud alibaba : Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,提供了全套微服务解决方案。
RPC

RestTemplate / WebClient:Spring RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端

gRPC : GRPC是google开源的一个高性能、跨语言的RPC框架,基于HTTP2协议,基于protobuf 3.x的一款rpc框架。多种语言支持;支持链接复用,集群内可采用长链接;性能简单调优后,可满足多数业务场景需求。
分布式事务

Seata :阿里巴巴重点开源项目、Java开发、性能高、无锁、代码无侵入AT模式0代码、支持MT模式非事务型存储、社区活跃,版本更新快,使用简单!
流量控制、熔断降级

Sentinel:阿里巴巴重点开源项目、Java开发、二次开发方便、社区活跃

中间件

API网关

Spring Cloud Gateway:Spring首选、方便二次开发、支持异步非阻塞

Kong:Kong是一款基于Nginx_Lua模块写的高可用,易扩展由Mashape公司开源的API Gateway项目。性能优异,插件丰富基本开箱即用,二开有一定的使用门槛。

配置中心

Nacos:阿里巴巴重点开源项目、可同时作为注册/中心配置中心,简化技术栈、有完善管理界面、Java开发、二次开发方便、社区活跃、CP模式,还在不断更新迭代。

Apollo:是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

服务发现

Nacos :阿里巴巴重点开源项目、可同时作为注册/中心配置中心,简化技术栈、有完善管理界面、Java开发、二次开发方便、社区活跃、CP模式,还在不断更新迭代。

Zookeeper:ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。性能可以满足较大规模的服务发现和配置中心,生效实时性高,不适合大规模实时数据同步场景。

监控

Prometheus:功能较为全面的开源监控系统,CNCF技术栈、社区活跃

Grafana:Grafana是一个开源的度量分析与可视化套件。纯 Javascript 开发的前端工具,通过访问库(如InfluxDB),展示自定义报表、显示图表等。大多使用在时序数据的监控方面,如同Kibana类似。Grafana的UI更加灵活,有丰富的插件,功能强大。界面简洁美观,支持自由定制,社区有丰富的Dashboard支持。

链路跟踪

SkyWalking:分布式追踪系统,国产链路跟踪、社区文档丰富!

日志采集

EFK:分布式服务日志处理,扩展方便。

组件类库

序列化

Jackson:Spring首选、稳定安全。

protobuf:Protocol Buffer( 简称Protobuf) 是google开源的一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,很适合做数据存储或RPC 数据交换格式。

工具

构建工具

Maven:主流的项目构建和管理工具,Maven是 Apache 下的一个纯 Java 开发的开源项目,是一个项目构建和管理的工具;它提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。

接口请求工具

postman:postman是一款功能强大的网页调试和模拟发送HTTP请求的Chrome插件,支持几乎所有类型的HTTP请求,操作简单且方便。

容器

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。使用Docker可以带来以下几个优势:1. 更快速的交付和部署;2. 高效的部署和扩容;3. 更高的资源利用率;4. 简单的管理

集群管理

Kubernetes:Kubernetes一个用于容器集群的自动化部署、扩容以及运维的开源平台。通过Kubernetes,你可以快速有效地响应用户需求;快速而有预期地部署你的应用;极速地扩展你的应用;无缝对接新应用功能;节省资源,优化硬件资源的使用。为容器编排管理提供了完整的开源方案。生态丰富,易扩展;功能丰富稳定,大公司背书;易上手。

运行环境

操作系统:

Linux<CentOS 7+>:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Web服务器

Tomcat<8+>:Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

Nginx:轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器

NodeJs:服务端JavaScript环境

软件的Alpha、Beta、GM、OEM、LTS等版本的含义

发表于 2020-09-13
字数统计: 538 字 | 阅读时长 ≈ 2 min

常用版本号:

Alpha:软件或系统的内部测试版本,会有很多Bug,仅内部人员使用

Beta:软件或系统的测试版本,这一版本通常是在Alpha版本后,会有很多新功能,同时也有不少Bug

Gamma:软件或系统接近于成熟的版本,只需要做一些小的改进就能发行

微软常用的版本号:

RC(Release Candidate):候选版本,这一版本不会增加新功能,多要进行Debug

GA(General Available):正式发布版本,这个版本就是正式的版本

RTM(Release to Manufacture):给工厂大量生产的压片版本,与正式版内容一样

OEM(Original Entrusted Manufacture):给计算机厂商的出场销售版本,不零售只预装

RVL:号称是正式版,其实RVL根本不是版本的名称。它是中文版/英文版文档破解出来的

EVAL:而流通在网络上的EVAL版,与“评估版”类似,功能上和零售版没有区别

RTL(Retail):零售版是真正的正式版,正式上架零售版

苹果常用的版本号:

GM(Gold Master):正式版前最后一个测试版,其实也就是正式版

谷歌Chrome浏览器常用的版本号:

Chromium:开源版本,迭代速度极快,数小时就会有新版本,有很多新功能,等待验证后会移植到Chrome

Canary:迭代速度相对于Chromium版稍慢一些,功能非常新但未经过验证,同时崩溃的概率非常高

Dev:基于Chromium开发,每周出新功能,并且这些功能还有一定的筛选,另外还修复了一些Bug和不稳定因素

Beta:基于Dev版,Chrome会基于这一版本进行改进,一般按月更新,功能更加完善

Stable:稳定版本,也就是Chrome的正式版本,这一版本基于Beta版,已知Bug都被修复,一般情况下,更新比较慢

Ubuntu系统常用的版本号:

LTS(Long Term Support):长期演进版,Ubuntu会对这一版本的支持时间更长。目前Java也在运用这种方式

Docker安装jenkins

发表于 2020-09-12
字数统计: 241 字 | 阅读时长 ≈ 1 min

查照jenkins 版本

1
2
3
4
5
 docker search jenkins
```
#### 拉取jenkins
```
docker pull jenkins:2.60.3

创建jenkins 的挂载目录

1
mkdir /mydata/jenkins

给jenkins挂载目录赋权

1
2
3
 chown -R 1000:1000 /mydata/jenkins
```
>注意:此步必须赋权限不然启动报错

touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

1
#### jenkins启动

docker run –name jenkins -p 9997:8080 -v /mydata/jenkins:/var/jenkins_home -d jenkins:2.60.3

1
2
3
4
 
#### 访问jenkin页面之后

#### 然后停止jenkins

dockers stop jenkins

1
#### 修改默认的插件下载地址 进入“{你的Jenkins工作目录}/updates/”目录下修改“default.json”

sed -i ‘s#http://updates.jenkins-ci.org/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' default.json && sed -i ‘s#http://www.google.com#https://www.baidu.com#g' default.json

1
####  然后启动jenkins

dockers start jenkins

1
#### 远程登录之后需要输入用户密码在

/var/jenkins_home/secrets/initialAdminPassword

1
#### 挂载之后在

/mydata/jenkins/secrets/initialAdminPassword

```

插件可以先不安装,之后进行安装

Nginx 安装禅道

发表于 2020-09-11
字数统计: 419 字 | 阅读时长 ≈ 2 min

静态友好方式(PATH_INFO)访问设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@test ~]# more /data/web/zendao/zentaopms/config/my.php 
<?php
$config->installed = true;
$config->debug = false;
$config->requestType = 'PATH_INFO'; // apache使用,nginx pathinfo方式路由
//$config->requestType = 'GET'; //nginx GET使用方式
$config->db->host = '192.168.1.189';
$config->db->port = '3306';
$config->db->name = 'zendao';
$config->db->user = 'zdadmin';
$config->db->password = 'zenDao.0420';
$config->db->prefix = 'zt_';
$config->webRoot = getWebRoot();
$config->default->lang = 'zh-cn';
$config->mysqldump = '/usr/local/mysql/bin/mysqldump';
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
server {
listen 80;
rewrite_log on;
server_name zd.tiger.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /data/web/zendao/zentaopms/www;
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$args;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root /data/web/zendao/zentaopms/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $request_uri;
include fastcgi_params;

}
}

GET访问方式设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@test ~]# more /data/web/zendao/zentaopms/config/my.php 
<?php
$config->installed = true;
$config->debug = false;
//$config->requestType = 'PATH_INFO'; //apache使用,nginx pathinfo方式路由
$config->requestType = 'GET'; //nginx get使用方式
$config->db->host = '192.168.1.189';
$config->db->port = '3306';
$config->db->name = 'zendao';
$config->db->user = 'zdadmin';
$config->db->password = 'zenDao.0420';
$config->db->prefix = 'zt_';
$config->webRoot = getWebRoot();
$config->default->lang = 'zh-cn';
$config->mysqldump = '/usr/local/mysql/bin/mysqldump';
    server {
        listen       80;
        rewrite_log on;
        server_name  zd.tiger.com;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root /data/web/zendao/zentaopms/www;
            index  index.html index.htm index.php;
            if (!-e $request_filename) {
                rewrite ^/(.*)$ /index.php/$1 last;
            break;
                }
        }  
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~ \.php$ {
            root           /data/web/zendao/zentaopms/www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;

        }
    }

禅道开发者api只能本地打开
http://localhost:8080/index.php?m=dev&f=api&module=user

1…282930…38

继开

一辈子很短,努力的做好两件事就好:第一件事是热爱生活,好好的去爱身边的人;第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱。

303 日志
171 标签
RSS
gitee E-Mail
0%
鲁ICP备18007712号
© 2025 继开 | 站点字数统计: 262.2k
博客使用 Hexo 搭建
|
主题 — NexT.Mist v5.1.4
人访问 次查看