首页
归档
友链
关于
Search
1
网易云音乐黑胶会员月月免费赠送
2,969 阅读
2
十年之约RSS聚合订阅服务上线
2,531 阅读
3
工资发放日的区别
2,215 阅读
4
rsyslogd内存占用过高解决方案
2,167 阅读
5
Nginx反代MinIO后,上传文件签名异常
2,071 阅读
零碎
标本
码海
工具
其他
登录
Search
标签搜索
北京
摄影
Java
旅行
生活
学习笔记
教程
Linux
服务器
软件
SpringBoot
日记
Windows
服务
数据库
福利
Spring
系统
SQL
前端
萧瑟
累计撰写
190
篇文章
累计收到
1,268
条评论
首页
栏目
零碎
标本
码海
工具
其他
页面
归档
友链
关于
搜索到
20
篇与
Linux
的结果
2023-09-24
Hyper-V虚拟机硬盘压缩
突然发现家里私有云磁盘不足了,停服后,使用Hyper-V自带的磁盘管理压缩一下磁盘,发现并没有什么变化。网上通用的都是使用自带工具,翻了翻很多资料,才发现可以使用 powershell 工具执行命令附加到Windows自带磁盘管理器,然后再压缩才会清理调占用的磁盘。Linux 虚拟机磁盘压缩linux 回收系统上未使用的空间操作前先清理系统中的垃圾文件,然后执行以下命令后再关闭虚拟机或者保存虚拟机(建议关闭虚拟机)fstrim -aHyper-V 服务器打开powershell执行以下命令(建议以管理员权限执行)# 只读方式附加到本地磁盘 Mount-VHD 'D:\Hyper-V\Virtual Hard Disks\TestNode.vhdx' -ReadOnly # 压缩硬盘空间 Optimize-VHD 'D:\Hyper-V\Virtual Hard Disks\TestNode.vhdx' -Mode Full # 卸载附加的磁盘 Dismount-VHD 'D:\Hyper-V\Virtual Hard Disks\TestNode.vhdx'Windows 虚拟机磁盘压缩操作前先清理系统中的垃圾文件,关闭虚拟机然后在hyper-v服务器执行以下命令Hyper-v 服务器打开 powershell 执行以下命令# 只读方式附加到本地磁盘 Mount-VHD "D:\Hyper-V\Virtual Hard Disks\ServiceServer.vhdx" -ReadOnly # 压缩硬盘空间 Optimize-VHD -Path "D:\Hyper-V\Virtual Hard Disks\ServiceServer.vhdx" -Mode Full # 卸载附加的磁盘 Dismount-VHD "D:\Hyper-V\Virtual Hard Disks\ServiceServer.vhdx"
2023年09月24日
240 阅读
2 评论
2022-08-17
Linux配置nginx开机自启动
今天部署服务,不小心搞坏服务器,后来重置了,从新部署了相关服务,其中重启了一次,发现Nginx没有启动,想起来没有配置开机自启,来做个记录,水篇文章。创建开机自启脚本cd /etc/systemd/system vi nginx.service内容:[Unit] Description=nginx service After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.targetNginx相关命令设置开机自启动systemctl enable nginx启动nginx服务systemctl start nginx.service重新启动服务systemctl restart nginx.service查看服务当前状态systemctl status nginx.service停止开机自启动systemctl disable nginx.service
2022年08月17日
370 阅读
12 评论
2022-07-11
Nacos集群部署
Nacos集群部署需提前准备 Nginx 服务和 MySQL 服务,Nginx的作用是做反向代理和负载均衡;本文档基于NACOS 2.1.0版本 服务器配置建议 2核 CPU / 4G 内存 及其以上,三个节点(官方建议)网络拓扑图其实 Nginx 应该部署到一台对外环境,而不是部署到节点中。 部署集群1.导入初始化默认SQL:将下载好的软件解压,在conf目录中有一个 nacos-mysql.sql 文件,导入到数据库中2.修改集群配置 将部署的三台节点的配置都修改成一样的 ## 当前位于解压后的nacos目录下 cd conf cp cluster.conf.example cluster.conf vi cluster.conf ## 将实例的删除或注释 替换成部署的节点地址 必须IP+端口 10.10.84.226:8848 10.10.84.229:8848 10.10.84.234:8848 ## 修改完保存配置3.修改数据库配置 将部署的三台节点的配置都修改成一样的 ## 当前位于解压后的nacos目录下 cd conf vi application.properties ## 找到 Config Module Related Configurations 将数据库修改为正式数据库地址和账号密码4.启动各节点服务## 当前位于解压后的nacos目录下 cd bin ## 直接执行启动脚本,无需添加任何参数 sh startup.sh5.查看服务环境默认账号密码:nacos/nacos 请勿将Nacos内部系统暴露到公网.集群管理→节点列表 各节点IP状态为UP则部署完成配置负载进入Nginx配置文件目录,修改nginx.conf文件,在server标签上 添加以下代码upstream nacos-cluster{ server 10.10.84.234:8848; server 10.10.84.226:8848; server 10.10.84.229:8848; }在80端口http标签内添加管理端反代location /nacos/{ proxy_pass http://nacos-cluster; }新建一个server标签监听指定端口,用于转发请求server { listen 8048; server_name localhost; location / { proxy_pass http://nacos-cluster/; } }这样配置就可以了。程序中直接配置 10.10.84.234:8048 可以将应用注册到Nacos集群中 8048端口会将请求均衡分散在三个节点上。
2022年07月11日
155 阅读
2 评论
2022-05-30
文件hash值校验,防止文件被篡改
现在互联网越来越发达,宽带也越来越快,但是也会有丢包情况,下载的文件在解压的时候可能会提示损坏,前段时间在度盘上经常发生。本文汇总了博主自己常用的hash值校验方法,覆盖Windows和Linux系统。Windows哈希值校验以前我们经常自己下载一些软件来校验文件的Hash值,后来我发现Windows也自带了一个校验Hash的工具certutil命令。certutil支持:MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512而使用方法也特别简单certutil -hashfile 文件名 校验值类型例如:Linux哈希值校验而Linux环境下也自带了Hash校验命令,我常用的命令如下md5sum sha1sum sha256sum例如:一般window和Linux我常用的都是使用MD5来校验。这样两边也都可以互相对比。
2022年05月30日
453 阅读
10 评论
2022-01-05
SQLServer for Linux安装
前段时候,自己搭建了一个内网虚拟机,准备部署一下之前的项目,发现还缺少数据库,后来整理了一下,发现没必要使用Windows Server来部署,完全可以使用Liunx,包括IIS也是有软件可以替换。本文整理了一下SQL Server for Linux安装教程
2022年01月05日
292 阅读
0 评论
2021-11-14
利用GitHub520提供hosts文件定时更新本地hosts文件
之前自己利用 Gitea 搭建了一个Git私服,镜像 GitHub 项目的时候经常无法访问,导致镜像失败。后来发现了一个不错的项目 GitHub520 ,只要去修改本地 hosts 文件就可以访问GitHub了。但是每次去修改服务器的 hosts 文件,就有些繁琐了。后来写一个脚本,并配合 Linux 的 Crontab 定时更新,完美解决问题。脚本内容#!/bin/bash # 定时更新GitHub Host内容 # 利用项目GitHub520提供Host文件定时更新本地Host # # # Author: xiaose # Email: qingshanking@vip.qq.com # Github: https://github.com/qingshanking # Date: 2021/08/23 sed -i '3,$d' /etc/hosts # 上述作用是从第三行开始 进行修改,保留系统自带的hosts内容 curl https://raw.hellogithub.com/hosts >> /etc/hosts # 拉取hosts文件 写入本地hosts项目详情Crontab定时任务[root@localhost ~]# crontab -e ## -e: 编辑crontab定时任务 ## -l: 查询crontab任务 ## -r: 删除当前用户所有的crontab任务12345 ## 每30分钟执行一次ModifyHost 修改hosts文件 */30 * * * * /root/ModifyHost.sh更多用法,可参考Linux Crontab 定时任务
2021年11月14日
1,090 阅读
1 评论
2021-10-13
rsyslogd内存占用过高解决方案
今天产品经理告诉我项目打不开了,让我解决一下问题。经过短暂的排除,发现 docker 运行四个月,容器日志把 50G 磁盘占用完了,导致项目网站部分服务不可用。重启 docker ,重新部署后,偶然发现服务器的内存使用率也达到 85% ,我记得之前 docker 优化后才占用 30% ,所以这个问题也需要排除一下。查看服务器状态使用top命令查看服务器各个程序占用CPU、内存情况。查看消耗内存最多的前40个进程ps auxw|head -1;ps auxw|sort -rn -k4|head -40通过结果看到rsyslogd日志管理服务占用了10%左右的内存。修改rsyslogd服务配置文件vim /usr/lib/systemd/system/rsyslog.service在Service配置中添加 MemoryAccounting=yes、MemoryMax=80M、MemoryHigh=8M 三项如下所示。[Unit] Description=System Logging Service ;Requires=syslog.socket Wants=network.target network-online.target After=network.target network-online.target Documentation=man:rsyslogd(8) Documentation=http://www.rsyslog.com/doc/ [Service] Type=notify EnvironmentFile=-/etc/sysconfig/rsyslog ExecStart=/usr/sbin/rsyslogd -n $SYSLOGD_OPTIONS Restart=on-failure UMask=0066 StandardOutput=null Restart=on-failure MemoryAccounting=yes MemoryMax=80M MemoryHigh=8M [Install] WantedBy=multi-user.target ;Alias=syslog.service通常情况下rsyslogd大小只有5M,所以将内存上限设置为8M,然后将绝对内存限制为80M。重启服务后systemctl daemon-reload systemctl restart rsyslog至此问题算是解决,还是需要后期继续跟进排查。
2021年10月13日
2,167 阅读
2 评论
2021-09-29
Linux配置swap交换分区
swap交换分区Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。 用于当物理内存不足时,调用硬盘的一部分来充当内存使用,这个就是所谓的虚拟内存。其类似Windows的pagesfile.sys.swap分区大小分区时一般设定:swap分区的大小=1.5*物理内存容量。当内存比较小的时候(8G或8G以下),可以为内存的1.5-2倍(因为内存小时候,内存很容易被充满,这个时候就要把交换分区分大点)。 正常情况下,当内存充足的时候,swap分区是不会被使用的,因此,一旦发生内存充足时,而swap使用了很多,说明应用程序等进程有内存泄露,此时就要和开发程序人员一起来分析哪里内存泄露,当系统使用swap分区用的越多,系统性能反而会下降,某些大型数据库也可能不使用swap分区,也是可以考虑的,不过,这也会带来内存耗尽,服务直接挂掉的风险。而swap是内存不够时的一个缓冲地带。虽然慢,服务器不会挂掉,这点就仁者见仁了。配置教程1.检查当前的分区情况## 使用free -m 或cat /proc/swaps [root@localhost ~]# free -m total used free shared buff/cache available Mem: 3789 1368 1037 0 1383 2129 Swap: 0 0 0 2.增加交换分区文件及大小 检查没有swap,下面就需要增加: 判定新交换文件的大小,将大小乘以1024来判定块的大小。例如,大小为64MB的交换文件的块大小为65536,在 shell 提示下以根用户身份键入以下命令,其中的 count 等于想要的块大小。[root@localhost ~]# dd if=/dev/zero of=/var/swap bs=1024 count=4096000 [root@localhost ~]# ll /var/swap -rw-r--r-- 1 root root 4194304000 Sep 29 01:02 /var/swap [root@localhost ~]# ll -h /var/swap -rw-r--r-- 1 root root 4.0G Sep 29 01:02 /var/swap 3.使用以下命令来设置交换文件[root@localhost ~]# mkswap /var/swap no label, UUID=fe9d1189-aaa7-4744-a056-5126ee051632 4.启用交换分区文件 要立即启用交换文件而不是在引导时自动启用,使用以下命令[root@localhost ~]# swapon /var/swap 检查增加后的交换情况[root@localhost ~]# free -m total used free shared buff/cache available Mem: 3789 1368 1037 0 1383 2129 Swap: 4096 0 05.配置开机挂载 要在引导时启用,编辑 /etc/fstab 文件来包含以下行/var/swap swap swap defaults 0 0 ## 操作挂载文件时,一定要备份,否则修改失败时,会造成不能开机的危险。 [root@localhost ~]# cp /etc/fstab /etc/fstab.bak ## 备份完毕后,检查是否备份成功 [root@localhost ~]# ll /etc/fstab* -rw-r--r-- 1 root root 407 Sep 29 01:06 /etc/fstab -rw-r--r-- 1 root root 350 Sep 29 01:03 /etc/fstab.bak ## 修改完挂载文件后查看 [root@localhost ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Thu Mar 7 06:38:37 2019 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=4b499d76-769a-40a0-93dc-4a31a59add28 / ext4 defaults 1 1 /var/swap swap swap defaults 0 0至此 swap 配置完成,重启也不会失效。实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置 swap 的值。而 swap 分区并不是等所有的物理内存都消耗完毕之后,才去使用,什么时候使用是由 swappiness 参数值控制。# 该值在centos 7上默认值是30,在Centos 6上是60,可以看出新版本的linux已经在根据内存大小趋势做出一定的调整。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间;swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。 cat /proc/sys/vm/swappiness修改swappiness参数## 临时性修改 sysctl vm.swappiness=10 cat /proc/sys/vm/swappiness ## 永久修改: vim /etc/sysctl.conf vm.swappiness=30
2021年09月29日
406 阅读
4 评论
2021-09-28
Linux编译安装Nginx
在Linux下安装Nginx,首先需要安装 gcc-c++编译器。然后安装Nginx相关依赖包,最后安装Nginx即可。安装教程## 安装编译器和相关依赖包软件 [root@localhost ~]# yum install gcc-c++ [root@localhost ~]# yum install -y openssl openssl-devel [root@localhost ~]# yum install -y pcre pcre-devel [root@localhost ~]# yum install -y zlib zlib-devel ## 创建Nginx 安装位置目录 [root@localhost ~]# mkdir /usr/local/nginx ## 在线下载最新1.20.1安装包 [root@localhost ~]# wget https://nginx.org/download/nginx-1.20.1.tar.gz ## 解压并进入nginx目录 [root@localhost ~]# tar -zxvf nginx-1.20.1.tar.gz [root@localhost ~]# cd nginx-1.20.1 ## 编译Nginx安装包 ## 此处编译pcre、zlib、ssl、http2相关依赖 [root@localhost nginx-1.20.1]# ./configure \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_v2_module \ --with-http_stub_status_module \ --with-http_ssl_module \ --with-http_gzip_static_module \ --with-stream \ --with-stream_ssl_module ## 编译安装 [root@localhost nginx-1.20.1]# make [root@localhost nginx-1.20.1]# make install ## 查找安装路径 [root@localhost nginx-1.20.1]# whereis nginx nginx: /usr/local/nginx ## 启动Nginx [root@localhost nginx-1.20.1]# cd /usr/local/nginx/sbin [root@localhost sbin]# ./nginx隐藏Nginx版本号在配置文件nginx.conf中http类别里加入server_tokens off;配置文件在:/usr/local/nginx/conf 内Nginx相关命令## 启动命令 ./nginx ## 重启服务 ./nginx -s reload ## 停止服务 ./nginx -s stop更加详细教程可参考:nginx编译安装和模块配置详解
2021年09月28日
336 阅读
0 评论
2021-09-12
TongWeb下乱码问题解决思路
TongWeb下乱码问题解决思路,解决乱码问题主要看以下几项配置,重点要了解这些编码设置所起的作用;乱码问题看TongWeb的server.log日志基本没用,重点是看应用采用的编码以及操作系统、TongWeb的编码设置。
2021年09月12日
331 阅读
0 评论
1
2