记录一些常用的 CentOS 7 配置命令,大部分命令其他 Linux 分支系统也是通用的。
开放及查看端口
开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent # 开放8080端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent # 关闭8080端口
firewall-cmd --reload # 配置立即生效
查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
关闭防火墙
如果需要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估
systemctl stop firewalld.service
查看防火墙状态
firewall-cmd --state
查看监听的端口
netstat -lnpt
PS:CentOS 7 默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools
检查端口被哪个进程占用
netstat -lnpt |grep 80
查看进程的详细信息
ps 15965
中止进程
kill -9 15965
Swap 分区(虚拟内存)管理
Swap 是 Linux 中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的。它类似于 Windows 中的虚拟内存。
创建 Swap 分区
查看当前的内存和 Swap 空间大小(默认单位为k, -m 单位为M):
free -m
此处可以看到总内存是 3.7G 左右,Swap 不存在
查看 Swap 信息,包括文件和分区的详细信息,可以使用 swapon -s
或 cat /proc/swaps
命令,如果都没有可以选择手动添加交换分区。注意,OpenVZ 架构的 VPS 是不支持手动添加交换分区的。
- 使用 dd 命令创建一个 swap 交换文件
dd if=/dev/zero of=/home/swap bs=1M count=1024
这样就建立一个/home/swap
的分区文件,大小为 1G,可以自行倍增。建议 Swap 容量在真实内存容量的 1.5 倍左右,若服务器内存大于 4GB,可设 1-2GB 的固定值 制作为 swap 格式文件
mkswap /home/swap再用 swapon 命令把这个文件分区挂载 Swap 分区,完成后可以使用
free -m
命令看一下是否有交换分区
swapon /home/swap为防止重启后 Swap 分区变成 0,要修改
/etc/fstab
文件
vi /etc/fstab
在文件末尾(最后一行)加上
/home/swap swap swap default 0 0最后,赋予 swap 文件适当的权限
chown root:root /home/swap
chmod 600 /home/swap
修改 swappiness
如果内存够大,应当告诉 Linux 不必太多的使用 Swap 分区,可以通过修改 swappiness 的参数来设置。swappiness=0 的时候表示最大限度使用物理内存,然后才是 Swap 空间,swappiness=100 的时候表示积极的使用 Swap 分区,并且把内存上的数据及时的搬运到 Swap 空间里面。如你发现你对于 Swap 的使用极少,可以将值设为 0,这并不会禁止你对 Swap 的使用,而是使你的系统对于 Swap 的写入尽可能的少,同时尽可能多的使用你的实际内存。
- 在 CentOS 中,swappiness 的默认值是60。通过以下命令可以看到:
cat /proc/sys/vm/swappiness 我们可以调整 swappiness 的值到一个合适的参数,从而达到最优化使用 Swap 的目的,这里我将其设为 10。
sysctl vm.swappiness=10但是这只是临时性的修改,在你重启系统后会恢复默认的 60,要永久设置,还需要在 vim 中修改
sysctl.conf
:
vi /etc/sysctl.conf在这个文档最后加入一行
vm.swappiness=10
,保存即可。
删除 Swap 分区
先停止 Swap 分区
swapoff /home/swap删除 Swap 分区文件
rm -rf /home/swap删除自动挂载命令
删除sysctl.conf
文件中新增的那一行vm.swappiness=10
,最后保存即可。
修改 hostname(主机名)
在 CentOS 7 中有三种定义的主机名:静态的(static)、瞬态的(transient)、和灵活的(pretty)。静态主机名也称为内核主机名,是系统在启动时从 /etc/hostname
内自动初始化的主机名,瞬态主机名是在系统运行时临时分配的主机名,灵活主机名则允许使用特殊字符的主机名。
- 问题一:输入的大写的主机名怎么都变成了小写?
这是因为在修改静态/瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。一旦修改了静态主机名,/etc/hostname 将被自动更新。然而,/etc/hosts 不会更新以保存所做的修改,所以你需要手动更新 /etc/hosts。
如果只想修改特定的主机名(静态,瞬态或灵活),可以使用 “--static”,“--transient” 或 “--pretty” 选项。 问题二,如何修改主机名是永久生效的?
hostnamectl --static set-hostname hostname
注意,不必重启机器以激活永久主机名修改。上面的命令会立即修改内核主机名。注销并重新登入后在命令行提示来观察新的静态主机名。
- 问题三,如何查看到自己输入的大写主机名?
hostnamectl status --pretty
给系统安装中文字体
yum -y install fontconfig # 安装字体库配置工具
fc-list :lang=zh # 查看是否有中文字体,没有任何内容代表没有
mkdir /usr/share/fonts/chinese # 创建中文字体目录
在你的 Windows 的 C:\Windows\Fonts
目录下找到相应的字体文件 copy 到 chinese
目录下,这里添加雅黑和新宋体(msyh.ttc simsun.ttc)
fc-list :lang=zh
# 再次查看是否有中文字体
设置服务器默认语言
使用 vim 修改 /etc/locale.conf 文件
LANG=en_US.UTF-8 # 默认英文
LANG=zh_CN.UTF-8 # 中文
设置服务器时区
设置系统时间为中国时区并启用 NTP 同步,需要联网
yum install ntp # 安装 NTP 服务
systemctl enable ntpd # 开机启动服务
systemctl start ntpd # 启动服务
timedatectl set-timezone Asia/Shanghai # 更改时区
timedatectl set-ntp yes # 启用 NTP 同步
ntpq -p # 同步时间
Comments | NOTHING