Finer04's Blog
首页
乱写一通
脑洞破文
随便谈谈
当前播放.page
我常用的服务器或应用的配置
Finer04
February 2, 2024
3217 字
文章目录
现在我的工作所接触的服务器和操作系统都是国产信创环境的,用起来跟用 CentOS 没什么不同。由于一直在用堡垒机来来部署环新系统的环境,玩不了 ansible(都白名单了)也不敢玩脚本,所以很多配置基本都是手敲(手敲好啊,我最喜欢在办公室敲键盘比大家说话还大声,慢慢部署还能凑工时)。但我记性不是很好,有新的云主机布置环境还要查这查那,所以还是写一份备忘录比较好。 ## 操作系统 我一般都在用 `银河麒麟服务器端 V10 SP3` 做底层系统,操作上跟 CentOS 没有明显区别。 ```bash # 关闭图形化界面(有些同事分配机器默认给我装了图形化界面,但我不需要) systemctl set-default multi-user.target reboot # 设置文件最大数(防某些业务 too many open files) vi /etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 * soft nproc 4096 * hard nproc 4096 :wq echo "vm.max_map_count=262144" >> /etc/sysctl.conf echo "fs.file-max=655350" >> /etc/sysctl.conf echo "fs.nr_open=655340" >> /etc/sysctl.conf sysctl -p # 关闭虚拟内存(防内存 OOM 拖慢性能) swapoff -a # 临时 vi /etc/fstab 用 dd 剔掉有 swap 分区的一行 # 或者直接设置需要使用 swap 的内存阈值 echo "vm.swappiness = 0">> /etc/sysctl.conf sysctl -p # 自动同步时间(业务对时间的准确性比较重视) vi /etc/chronyd.conf # 如果是公网环境就直接退吧,我要配置内网 NTP 服务器 在第二行插入 server ntp服务器IP iburst :wq systemctl start chronyd systemctl enable chronyd # 挂载数据库的分区,用noatime 可以提升性能(但我觉得心理作用) vi /etc/fstab UUID=xxxxxxxxxx /data xfs defaults,noatime 0 0 # 由于纯内网用不上 IPv6,所以禁用 IPv6 (以前同事说 ipv6 用不上也有被渗透的风险,不知真假) echo "net.ipv6.conf.all.disable_ipv6 = 1">> /etc/sysctl.conf sysctl -p # 内网环境下基本用不上域名解析,SSH 连接很慢,因为SSH在别名解析所以登录很慢 vi /etc/ssh/sshd_config 找到以下内容,取消注释 GSSAPIAuthentication no UseDns no 重启 sshd 服务 # 关闭我用不上的默认服务(麒麟默认不开启的) systemctl stop postfix && systemctl disable postfix ``` ## 容器 很可惜,我还是没玩过 k8s,所以一直在用容器。我这边还是没有公网环境,所以需要离线部署 docker。 ```bash # 在 https://download.docker.com/linux/static/stable/x86_64/ 找一个比较新版本的 tgz 包,解压到目录。 tar -xvzf docker-25.0.2.tgz cp docker/* /usr/bin/ # 测试命令是否正常 docker version # 添加服务 vi /usr/lib/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=infinity LimitNPROC=infinity TimeoutStartSec=0 Delegate=yes KillMode=process Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target # 别急,我提前把容器日志限额和容器网卡的默认网段改了,因为网内也有 IP 跟容器的IP是冲突的 mkdir /etc/docker vi /etc/docker/daemon.json { "default-address-pools":[ { "base":"172.100.0.0/16", "size":24 } ], "log-driver":"json-file", "log-opts":{ "max-size":"500m", "max-file":"3" } } :wq # 开服务 systemctl daemon-reload systemctl start docker systemctl enable docker # 看一眼 IP,如果 IP 端没变的话,就删网卡重启容器进程 ip link delete docker0 systemctl restart docker ``` 由于我自己开发有时候会打包容器成镜像,所以。 ```bash # 编写 Dockerfile,然后自动创建新镜像 docker build -t 定一个镜像名 . # 导出镜像,windows 不加 -o 的话导出的 tar 是有问题的。 docker save -o 文件名.tar 镜像名 # 导入镜像 docker load -i 文件名.tar ``` 使用第三方容器的话,需要经常用的参数(为什么不用 docker-composer,主要是不想折腾) ```bash docker run -d --name xxxx \ -v /etc/localtime:/etc/localtime:ro \ # 同步系统时间 --restart=unless-stopped \ # 避免故障来了频繁重启 镜像名 ``` 另外如果我用映射端口的话,容器就不受 firewalld 的策略控制,需要在 `iptables -L DOCKER-USER` 中加策略才行。 ## 待补全 下班了,懒得上堡垒机了,下次部署的时候再写吧
评论已关闭
▲ Top
评论已关闭