终于,还是给黑色自由加上了https

原本黑色自由一直都是不带https的,懒得操作,也懒得操心。

起因是某天凌晨,在手机上打开黑色自由的时候,发现页面下方被加了一条广告。本来是习以为常的事情,但出现在了这里,就顿时觉得不爽,电信运营商猥琐这事早几年就知道,但没想到的是居然轮到了黑色自由的头上,无奈就只能套个https在上面了,加了ssl,总比裸http强吧。

操作方法就很简单,使用let’s encrypt的证书,certbot安装,它会自动帮你找到nginx配置文件里的站点,全程提问式,几分钟就搞定,然后自己写个crontab隔一个月跑一次自动更新一下就行,操作方法我就不写出来了,给个地址自己去看好了:

https://certbot.eff.org/lets-encrypt/debianbuster-nginx

jenkins ssh发布时提示nohup: failed to run command `java’: No such file or directory

新环境的jar包通过jenkins ssh发布,结果jar包推送到服务器上以后,提示nohup: failed to run command `java’: No such file or directory。这可让我有点意外。

本来在/etc/profile里都已经写好了java的路径,这怎么会提示找不到java命令呢?

随后,又在jenkins ssh发布账号的个人profile里编辑了一下,添加上java的路径,后来想了一下,干脆省事点,直接source一下算了,最后还是在启动脚本里添加了source /etc/profile,这个是比较简单粗暴的。

网上还有一种方法,是直接给java做一个链接,到你真实的java路径,这个就算了,不想去修改了,如果你的启动脚本比较多,还是可以使用这种方法的,毕竟是一劳永逸,方法如下:

ln -s /your_java_path/bin/java /usr/bin/java

Centos 7 使用key登陆SSH

首先,你要新建一个用户,权限可以最小,用来ssh登陆系统。

useradd

1、ssh-keygen -t rsa

使用新建的用户执行这条命令。

会让你输入密码,根据个人需要,我是没填密码,因为使用方便。

然后会在你当前用户的home目录下生成.ssh,里面有id_rsa,id_rsa.pub,id_rsa.pub就是公钥:

2、cat id_rsa.pub >> authorized_keys

因为ssh默认是会去读取authorized_keys里面的数据。

id_rsa是私钥,拖回本地来。

3、修改/etc/ssh/sshd_config

PermitRootLogin no

PubkeyAuthentication yes

PasswordAuthentication no

systemctl restart sshd

4、vi /etc/sudoers

在%wheel ALL=(ALL) NOPASSWD: ALL这一行上添加:

youruser ALL=(ALL) NOPASSWD:ALL

至此,就可以用新建的用户加id_rsa来登陆系统了。需要root权限直接sudo -s就可以。

PS:在实施过程中因为偷懒,直接使用ssh-copy-id来把key分发到其它服务器上,其中一台始终无法登陆,提示:

Authentication refused: bad ownership or modes

后来发现是.ssh目录权限问题,直接给700,问题解决。

ubuntu16.04配置openvpn服务器

首先声明,这是一篇转载,原作者写的很清晰,为了防止原作者关站,我就给转载过来了,原地址如下:

https://www.jzfu.cc/2018/09/04/Ubuntu16-04%E6%90%AD%E5%BB%BAOpenVPN/

因为原作者是把客户端配置文件放在WEB目录下,这里我就不贴出来了,毕竟每个人的NGINX配置不一样,感兴趣的可以去原作者处查看。

前提条件
拥于公网固定IP地址的Ubuntu 16.04服务器。具有sudo权限的非root用户,当然如果你就是root更好。达到这些条件之后,用你的sudo用户登录到你的Ubuntu服务器,然后继续按照以下步骤进行。

阅读详细 »

MinIO集群CPU占用太高

之前搭建的MinIO集群,用来测试公司的业务图片。今天登陆上去一看,发现集群的CPU占用很高,被Minio全占完了,100%。

因为集群平时不做其它事情,负载也完全很低,出现CPU 100%的情况非常异常。检查了一圈也没啥可疑的,唯有CPU一直处于100%。

无奈只能更换MinIO了,去他们官网上又重新下了一份回来,当前版本为:minio version RELEASE.2020-10-28T08-16-50Z,重新启动集群后,CPU立马降下来了。

之前在他们的github上看到也有人提出CPU占用问题,官方回复都予以修复,看来之前也确实出现过同样问题,只是时间节点跟我的情况对不上,所以干脆重新下载了一份新的回来,没想到问题就解决了。

MinIO集群搭建部署

环境:VMware虚拟机
节点1:10.0.0.1
节点2:10.0.0.2
节点3:10.0.0.3
节点4:10.0.0.4

因为MinIO官方建议最少4个节点,这里是测试,所以就一个节点一块盘。
在第一次实施过程中遇到了个坑,其实也不算是坑,而是没有仔细操作,只是想偷懒。MinIO要求的是盘,而我这里使用的是一个目录,单机运行的时候没有问题,但是在集群的时候就不行了,提示

Disk /data/minio_data is a root disk. Please ensure the disk is mounted properly, refusing to use root disk.


主要问题就是MinIO数据存储使用的是目录,而不是重新挂载的硬盘。
重新在VMware里添加一块硬盘挂载上系统就可以解决这个问题。


大概的步骤就是:
1、lsblk查看硬盘名称,比如/dev/sdb b在这里是个序号,你系统硬盘多,就顺延,比如到e之类。
2、新硬盘创建分区:fdisk /dev/sdb,根据提示输入n,然后后面只管确认就行,整块sdb就会被分为一个区。
3、格式化新分区,我这里使用的是centos7,格式为xfs,mkfs.xfs /dev/sdb,具体什么格式,你可以查看原系统的,lsblk -f,或者df -Th都可以看到分区格式。
4、挂载:mount /dev/sdb /data1

阅读详细 »

jenkins增加sonarqube检查java代码

准备工作:

1、jenkins

jenkins的工作方法有两种,这里随意,哪种都可以,我是选择放在了tomcat里面,便于管理。

2、sonarqube6.7.7 LTS

这里说明一下为什么要选6.7.7这个版本,因为后来从7版本开始,好像就不支持MySQL了,只支持Oracle,PostgreSQL,MSSQL。之前的版本启动的时候又提示什么版本太旧,不是Long Team Support版,所以干脆就选择了6.7.7这个LTS版。

3、MySQL5.6

手上只有这个版本的包,又懒得去下载,就用这个了。

CentOS自带的Mariadb版本太低,SonarQube不支持,不然就用自带的了。

阅读详细 »