自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(214)
  • 资源 (4)
  • 收藏
  • 关注

原创 SSL证书公钥长度显示问题

在最终核对信息时,在windows上确认发现公钥对不上,经再三确认,证书原始信息无误,但其在MAC系统上显示的公钥信息和windows上显示的公钥信息并不一致,而证书序列号、指纹信息等都是一致的。经过更进一步的检查可知,两个公钥是一致的,只不过windows平台默认的证书查看器在公钥的起始位置和末端位置填充了一些未知用途的数据。而系统默认的证书查看器显示的公钥长度则为270字节。经仔细查看,公钥的长度为2048位,但在两个平台上显示的公钥长度有差别。是否256字节的公钥和270字节的公钥为两个不同的公钥?

2024-04-01 15:48:33 256

原创 Linux升级openssl

运行acme.sh更新SSL证书时出现报错:Register account Error具体错误为:重装acme.sh无效,后面怀疑为openssl版本问题,升级openssl后问题解决,本文简述openssl升级步骤。

2024-03-06 15:33:39 624

原创 使用acme.sh遇到的一些错误

卸载acme.sh,清理acme.sh缓存信息,重装acme.sh,重新生成证书。openssl版本过低,升级openssl即可。

2024-03-06 15:32:18 455

原创 Ubuntu apt下载缓慢的解决办法

由于apt-get默认的软件源位于国外,如欧洲等,因此默认情况下使用apt安装软件往往下载速度极慢。在Ubuntu和所有其他基于Debian的发行版中,apt软件存储库在/etc/apt/sources.list文件中或者在/etc/apt/sources.list.d/目录下使用单独文件定义。国内用户通常需要对其进行调整,将软件源修改为国内的服务器,这是一个基本操作,本文不再赘述。

2023-10-31 17:09:14 1244

原创 有关GPU主机的一些故障

该GPU主机,其内存为32G,已要求商家安装ubuntu 20.04操作系统,并安装好nvidia显卡驱动。由于主机内存偏小,在启动主机前,我首先给主机增加了一条内存,将内存扩展至64G,然后再开机。开机后,执行nvidia-smi命令出现了以上报错。难道商家忘了安装显卡驱动,那就自行安装吧。

2023-10-25 11:20:24 1752

原创 Linux开机自动挂载文件系统的几种方式

在Digitalocean上,给主机添加硬盘时,为了免去分区、格式化、挂载等麻烦,可以选择让运营商帮忙自动完成以上操作。查看文档可知,运营商在添加硬盘时,在挂载阶段自动执行了以下脚本:1). 创建挂载目录。2). 挂载硬盘(临时挂载,主机重启后失效)。3). 修改/etc/fstab,使得挂载持久化,主机重启后将自动挂载硬盘。随后,当计划按照需要将修改挂载目录/mnt/volume修改为/mnt/data时,只需要创建新的挂载目录,修改/etc/fstab的相关内容即可:/mnt/data。

2023-06-15 21:18:32 14040

原创 Linux之chattr和lsattr命令简介

与平常所说的文件属性的管理命令chmod不同,chmod只是改变文件的读写、执行这些基础属性,chattr则可以控制更底层的文件属性。chattr命令的一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux系统都是2.6以上内核了。通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令用来显示chattr命令设置的文件属性。

2023-05-31 18:00:44 146

原创 Exchange 2013升级以及域名绑定等若干问题

Exchange 2013服务器位于ad域中,系统为Windows server 2012 R2,其内部域名为:mail.ad.com 在域中部署Exchange服务器后,除了可以通过outlook、foxmail等邮件客户端来使用邮箱功能,也可以直接通过浏览器来访问。 对于普通邮件收发,访问地址为owa:https://mail.ad.com/owa 对于邮箱后台管理,访问地址为ecp:https://mail.ad.com/ecp 以我的经验,曾经部署过几次Exchange服务器,都遇到同样的问题。那就

2023-02-17 10:18:17 1448 1

原创 GPU并行效率问题——通过MPS提升GPU计算收益

Nvidia针对多进程并发执行的场景推出了多进程服务解决方案-MPS,该方案可以做到空分复用。MPS的运行模式为一个MPS Server和多个MPS Client。

2023-02-16 15:39:19 3685 1

原创 Docker迁移以及环境变量问题

简单分析可以认为,在docker容器中,bash能够正常找到执行程序,而在docker外部,bash找不到执行程序,所以还是环境变量的PATH变量的问题,并且是PATH变量的值在容器中是正确的,而在容器外部调用bash执行命令时,PATH变量失效。将docker容器通过docker export命令打包,传输到另外的服务器,再通过docker import命令导入后,发现在docker容器外部无法执行docker容器中的命令,而原始的,export之前的docker,则不存在此问题。

2023-02-15 21:21:10 2756

原创 Linux设置网络代理

这里的两个http可能会引起误解,简单解释就是:环境变量http_proxy指明了为哪种网络协议配置代理,这里是http协议。即只有http协议的网络请求会使用该环境变量配置的代理,其它网络协议,sftp等,则不会使用该环境变量配置的代理。而其取值中的http,则表示的是代理服务器的服务协议,即系统与代理服务通信时使用的协议,比较常见的代理协议有http://https://socks://另外还有ss://ssr://vmess://等。

2022-11-25 21:54:40 16820

原创 Linux eval命令——关于空格那些事

eval 属 Shell 内建命令,通过连接参数构造命令。其使用空格分隔每个参数,构造的命令应由 Shell 读取和执行。eval 会对后面的命令进行两遍扫描。如果第一遍扫描后,命令是个普通命令,则执行此命令;如果命令中含有变量的间接引用,则保证间接引用的语义。也就是说,eval 命令将会首先扫描命令行进行所有的置换,然后再执行该命令。使用示例以上命令读取文本文档cmd.txt中的内容,并将内容作为命令行来执行。例如cmd.txt的内容如下:”执行结果为:非常直观。

2022-11-17 21:32:57 829

原创 iis站点https绑定

由于部分内网web服务器使用的是微软的iis,并且iOS设备访问内网web服务器时需要使用https协议,因此需要将iis上的网站绑定到https域名。已经拥有外网域名:该域名在外网不为具体的业务服务;在内网DNS上,将该域名解析至内网的指定服务器,即iis服务器;也就是说,在公司的内网,使用该域名访问的将是内网的服务器,而在公司之外,使用该域名访问到的将是没有具体业务内容外网服务器。

2022-11-10 15:05:05 2414

原创 ubuntu安装nvidia显卡驱动

即内核编译所使用的gcc版本和当前系统中的gcc版本不一致,如果系统中的gcc版本不是太古老的话,可以尝试忽略该错误,看安装程序能够执行成功,如果安装程序无法安装成功,则需要安装匹配的gcc,本文不再赘述。根据cuda版本号、系统环境,找到并下载需要的CUDA Toolkit版本,这里官方直接提供了runfile、deb包的下载命令,我们选择runfile的方式来安装cuda。ubuntu默认的root用户没有固定密码,root密码随机产生,动态改变,即每次开机都有一个新的root密码。

2022-10-25 17:32:35 10961

原创 不同的命令行风格

最近计划编写一个命令行解析程序,已知命令行的编写格式比较自由,例如:ls -l -als -lals -l –all以上3个命令的用途是完全一致的,都是列出当前目录下所有文件的详细信息,但是写法却有很大差别,如何去解析呢。为了做到这一点,有必要系统地去了解一下命令行的格式标准,命令行的一般格式为:命令 [选项1] [选项2] [选项2参数] [命令参数]下面以命令为例,作出概念解释。...

2022-08-09 11:55:43 1346

原创 Ubuntu安装docker和nvidia-container-toolkit

当前的docker称为Docker Engine-Community软件包docker-ce,Docker的旧版本称为docker,docker.io或docker-engine,如果已安装旧版本,请执行卸载:2. 更新apt包索引3. 安装apt依赖包安装apt依赖包,用于通过HTTPS来获取仓库:4. 添加Docker的官方GPG密钥5. 设置稳定版仓库6. 更新apt包索引7. 安装docker7.1. 安装最新版docker7.2

2022-07-08 23:06:02 4499 3

原创 Linux系统用户配置文件/etc/passwd简介以及Ubuntu默认Shell问题

Linux系统中的/etc/passwd文件,是系统用户配置文件。打开这个文件,可以看到其包含如下内容:可以看出,/etc/passwd文件中存储的是一些系统用户信息,每行记录对应一个用户,包括root用户,以及普通用户dancen。这里大家可能会有疑问,除了前面指出的两个用户之外,并没有为在系统中添加过其他用户,这里为什么会有这么多用户呢?事实上,/etc/passwd包括了系统中所有用户的基本信息,除root用户之外,其中的大多数用户并非系统管理员手动添加的普通用户,而是系统或者其它软件正常运行所

2022-07-07 19:15:28 3485

原创 Ubuntu apt-get public key报错

原文地址:Fix apt-get update “the following signatures couldn’t be verified because the public key is not available” :: Chris Jean在Ubuntu中执行apt-get update命令时,有时候会显示如下错误信息:如果不修复这个报错,apt在后续将不能正常执行软件包的安装和升级等操作,例如:仔细查看报错,其提示系统缺失了一些PUBKEY。Apt软件包管理系统内置了一个密钥集合,只

2022-07-06 20:07:01 945

原创 Docker停电事件未解之谜

周末出现了一次偶然的停电事故,供电恢复后,按照惯例重启服务器,并重新运行各项服务。然而,一台Ubuntu 16.04服务器的Docker容器无法启动了……错误信息指出:cgroup的挂载点不存在!从网络查询可知,很多用户都遇到过该错误,一个临时的解决办法是执行以下两条命令:由于这仅仅是一个临时处理办法,系统重启后失效。因此,重启系统后,需要再次执行以上命令,才能正常启动容器,目前暂时没有找到可行的持久化解决方案。参考资料:https://github.com/docker/for-linux/i

2022-07-05 20:09:51 1959 1

原创 Linux时间同步服务NTP和Chrony

NTP全称Network Time Protocol网络时间协议,用于同步计算机时间,帮助计算机与时间服务器的时间保持一致,并支持使用加密确认的方式防止恶意协议攻击。在Linux上,NTP并非默认安装,但其使用仍然非常简单,以CentOS为例:安装:yum install ntp启动:systemctl start ntpd查看状态:systemctl status ntpd设置开机启动:systemctl enable ntpd然而,在某些系统上,你可能无法安装NTP。这是因为传统的NTP已经成为过

2022-07-05 19:53:10 1324

原创 Tomcat崩溃排查

Tomcat运行过程中出现崩溃现象,所幸服务器监控程序自动对其执行了重新启动,因此对生成环境没有造成太久的服务中断。 崩溃问题首次出现,考虑为偶然情况。然而在几日之内,Tomcat再次崩溃,因此需要调查具体崩溃原因,初步考虑后,推测是由于Tomcat运行所占内存过大,因此被系统kill,准备升级服务器。假设是系统所为,一般会有系统日志:cat /var/log/messages查看后没有发现kill、mem相关日志。如果Jvm遇到致命错误而崩溃,应当会在程序目录生成hs_err_pid.log等错误报告文件

2022-06-21 12:06:22 3846

原创 Jenkins凭据导出

Jenkins在调用svn、ssh等第三方工具时需要账号密码等信息。如果在调用第三方工具时在流水线脚本中直接传递这些敏感信息,既不方便,也有安全隐患。基于此,Jenkins可以将这些敏感信息存储为凭据,然后在项目中通过凭据ID引用,安全且便于复用。作为Jenkins管理员,某些情况下你可能面临账号密码等信息遗失的情况,或者你压根不知道其中的某些敏感信息,例如该信息由另外的系统管理员配置。此时,由于信息已被加密,你无法通过Jenkins的凭据管理直接查看到相关信息。如果需要查看这些敏感信息,需要借助Jenki

2022-06-09 21:17:09 1311 1

原创 CDN与重定向循环

ERR_TOO_MANY_REDIRECTS与CDN

2022-06-09 12:01:53 1264

原创 Exchange 2013接收连接器以及邮件客户端若干问题介绍

一. 什么是接收连接器?上图显示出了Exchange 2013完整安装后默认的5种接收连接器。接收连接器用于控制发送到Exchange组织的入站邮件流,不同的接收连接器负责监听不同的网络端口,独立控制客户的认证等。接收连接器的作用域限于单台服务器,及每个接收连接器都属于单台服务器,其设置仅对此台服务器生效。例如,我们在域中部署了多台Exchange服务器,每台服务器都拥有独立的5种接收连接器。接收连接器按角色分只有两类,分别为:FrontendTran...

2022-03-10 15:03:42 3979 1

原创 阿里云企业邮箱标准版多域名绑定

在购买了阿里云企业邮箱标准版之后,即可使用自己的域名作为邮箱后缀。当名下有多个域名,想使用不同的域名作为邮箱后缀时,该怎么办呢?首先想到的是,是否应该对应不同的域名购买多个企业邮箱。然而,在阿里云后台可以看到,一旦购买了企业邮箱,购买入口就消失了,无法购买多个企业邮箱;但是在已有的企业邮箱管理界面,可以选择更换域名,这是不是意味着,一个用户只能使用其中一个域名作为邮箱后缀呢?事实上,阿里云企业邮箱标准版是可以支持多域名后缀的,但其管理不在阿里云后台,而是在阿里云邮箱后台:

2022-03-07 11:26:31 2511

原创 Win 10间歇性卡顿问题

问题描述:最近两周电脑总是一阵一阵的卡顿,仿佛得了“间歇性”头痛~在使用电脑时,每隔几分钟,电脑就卡住一会,然后恢复正常,写代码时简直抓狂……电脑不算旧,最近也没有安装奇怪的软件,查看电脑资源管理器,CPU、内存等性能指标也没有异常。解决办法:由于最近冬奥会,下载了开幕式的24节气图片作为桌面背景,幻灯片播放,启用了“主题色自动选取”,并且幻灯片播放速度较快,因此造成了系统卡顿。解决办法很简单,关闭幻灯片播放,或者降低幻灯片播放速度,或者关闭“主题色自动选取”即可。不得不说,

2022-02-21 21:47:10 2694

原创 Java线程池爆满原因调查

在服务器监控程序ServerDog运行过程中,偶尔收到过几次运行错误报告,报告内容为线程池已满,无法接收新任务:造成线程池爆满的原因自然是某些线程执行耗时太久,一直占用线程池。起初,我粗略估计造成这一问题的原因有以下可能:1. ServerDog与远程服务器的ssh命令执行操作缺少超时设定。2. ServerDog与远程服务器的ftp/sftp文件传输操作缺少超时设定。鉴于此,我分别给ssh和ftp/sftp都增加了超时处理。然而,今天,线程池已满的运行错误再次出

2021-11-03 20:58:42 3541

原创 acme.sh简单教程

简介官网:Github: https://github.com/acmesh-official/acme.shWiki: https://github.com/acmesh-official/acme.sh/wikiacme.sh用于生成免费的ssl证书,其完整实现了acme协议,并且由纯Shell脚本语言编写,没有过多的依赖项,安装和使用都非常方便。1. 支持的CA> ZeroSSL.com CA(default):90天> Letsencrypt.or...

2021-10-29 23:44:35 35797 3

转载 数字签名是什么?

数字签名是什么?作者:David Youd翻译:阮一峰英文原文网址:http://www.youdzone.com/signature.html中文翻译网址:http://www.blogjava.net/yxhxj2006/鲍勃有两把钥匙,一把是公钥,另一把是私钥:公钥加密的数据,只有私钥能解密;私钥加密的数据,只有公钥能解密。鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可

2021-10-27 11:47:50 144

原创 证书链简介

说明:除非特别指明,本文所述之证书,特指X.509 V3证书。一. 什么是证书链?当客户端发起https请求时,web服务端会返回https证书,客户端将对证书进行验证,验证通过之后客户端和服务端之间才能继续进行通信。严格来说,web服务端所返回的https证书不是一个单一的证书,而是一组有序的证书,称为证书链。证书链由终端证书开始,然后是签署颁发该终端证书的中间CA证书,再然后是签署颁发前一个中间CA证书的另一个中间CA证书…中间CA证书的数量可以是0个到多个,一直链接下去,在证书链的末端,是根证书

2021-10-26 20:20:14 8965

原创 Nginx之location若干注意事项

一. root与alias的区别Nginx中可以通过root和alias两个属性指定web资源文件的路径,但二者的配置范围和解释方式是有区别的。配置范围的差异很明确,即alias属性只能用于location配置段,而root属性还可以用于server、http等配置段。但root属性和alias属性的解释方式的差异则有些隐蔽,理解有误容易掉坑,造成404错误等。[root]语法:root path默认值:root html配置段:http、server、location、if[alias]

2021-10-14 20:22:25 2323

原创 Exchange报错:452 4.3.1 Insufficient system resources

在 Exchange 2013 上发送邮件或者 telnet 其 25 端口均报错:452 4.3.1 Insufficient system resources(系统资源不足)经资料查询,Exchange 具有 Back Pressure 的功能,就是监测 Exchange 的磁盘空间和内存使用量等,如磁盘空间不足 4G、内存使用超过 94% 就会报这个错。但查看服务器情况时,发现硬盘和内存剩余空间充足!!!因此出现该报错的原因并不确切。解决方法:一. 在 Exchange 安装目录C:\P..

2021-08-04 11:51:27 2789

原创 如何删除Word中的边框线

Word中具有一些智能功能,然而很多时候,这些所谓的智能功能不过是自作聪明,不但没有帮助编辑者提交效率,反而制造了不少麻烦,以下是一个例子。当在word中一行的起始位置连续键入3个“——”或“-”字符,然后回车时,这3个横线会自动拉伸并充满整行。这或许不是一个大问题,但是,当你后来想删除这些线条的时候问题来了:● 横线无法通过Backspace键或Delete键删除。● 在横线之上输入文字,文字换行时横线也自动下移一行。● 横线无法选中。● 同时选中横线的上下文并

2021-07-15 19:36:20 7639 2

原创 删除域中的Exchange服务器

系统环境:Windows Server 2012 R2 DatacenterExchange Server 2013需求:域中启用了新的Exchange服务器,用户数据已从旧的Exchange服务器迁移至新的Exchange服务器。旧的Exchange服务器由于年老力衰,于是弃用。在这之后,是不是将旧的Exchange服务器直接关闭就行了呢?将旧的Exchange服务器关闭后,虽然邮件收发等一切正常,但有用户反馈邮件接收缓慢,以及配置用户邮箱时自动发现执行缓慢等问题。初步..

2021-07-12 21:10:19 1785

原创 域控之DNS转发器

系统环境:Windows Server 2012 R2 Datacenter现象:将域环境中的主机的DNS服务器地址指向网关时,访问外网正常;将DNS服务器地址指向指向域控后,可能出现无法访问外网或者访问外网缓慢的现象。原因:1. 域控上的DNS服务器未配置DNS转发器当域控上的DNS服务器未配置DNS转发器时,DNS服务器只能对内网上的域名执行解析,无法解析外网域名,从而导致访问内网正常,但无法通过域名访问外网。以下为DNS转发器配置步骤:1). 在域控上找到D..

2021-07-12 17:49:42 10089 2

原创 域名WHOIS信息隐私保护

今日在查询一个域名的WHOIS信息时,发现能够看到域名注册者的个人信息:包括注册者名称和注册者邮箱等。在如今不断提高隐私保护要求的大环境下,这就显得很离谱。借助WHOIS查询,WHOIS反查,域名注册者的隐私安全受到严重威胁。不仅仅包括垃圾邮件和电话的骚扰问题。在某些情况下,域名注册者信息的暴露还会令看起来毫不相干的不同的域名之间产生关联,而域名注册者原本可能正是基于商业、业务等的考虑,为了避免这些明面上的关联才专门注册的不同的域名。既然域名注册者有保护隐私的需求,那么域名注册服务商应当有提供相应的

2021-06-21 20:13:23 1540

原创 Linux 之 kill 命令

一. kill命令简介在Linux系统中,kill命令用于向运行中的进程发送信号,默认发送的信号是终止信号,会请求进程退出。kill(杀)可能会引起误解,实际上发送的信号可能与杀死进程无关。我们最常使用到的kill命令为:kill PIDkill -9 PID前者为请求目标进程退出,后者为强制杀死目标进程。1. kill PIDkill命令默认发送的信号是SIGTERM。该信号会被目标进程捕获,在收到这个信号以后目标进程可以做一些有用的操作(如保存数据),然后退...

2021-05-26 17:44:18 22186

原创 ssh登录缓慢问题

不知从何时起,ServerDog与一台CentOS服务器的ssh连接变得很不稳定,时不时收到报错:com.dancen.serverdog.handler.server.ServerRunnable > run > 54java.io.IOException: connect ssh[[email protected]:22] failed一. 查找原因,有以下现象1. 查看ServerDog日志发现,ServerDog已经无法与该服务器建立ssh连接。2. 通过XS.

2021-04-09 21:52:22 5062 2

转载 Systemd 入门教程:实战篇

作者:阮一峰日期:2016年3月 8日原文地址:http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html上一篇文章,我介绍了 Systemd 的主要命令,今天介绍如何使用它完成一些基本的任务。一、开机启动对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件。如果你想让该软件开机启动,就执行下面的命令(以httpd.se...

2021-04-09 16:12:39 175

转载 Systemd 入门教程:命令篇

作者: 阮一峰日期: 2016年3月 7日原文地址:http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.htmlSystemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。本文介绍它的基本用法,分为上下两篇。今天介绍它的主要命令,下一篇介绍如何用于实战。一、由来历史上,Linux 的启动一直采用init进程。下面的命令用来启动服务。$ sudo...

2021-04-09 16:09:50 303

分布式三子棋游戏系统

2009年学期末作业,由Java编写的一个分布式系统,内置三子棋和五子棋游戏,并具有聊天功能。本系统基本满足了老师的要求,但还有许多需要改进之处,给需要的同学参考一下,系统的使用方法可参照文件夹根目录的readme。

2010-06-16

类似QQ截图的MFC截图软件C++源码

一个类似于QQ截图的屏幕截图软件的源码,由VS2008 MFC编写,给大家参考一下。

2010-06-12

MFC全屏截图软件C++源码

由VS2008 MFC编写的一个简单的全屏截图软件的源代码,给大家参考一下。

2010-06-12

MFC交互绘图程序C++源码

windows编程,利用MFC编写的一个简单的交互绘图程序,由VS2008编写。

2010-06-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除