由于CentOS8已经在2022年01月01日停止维护,CentOS7也将在2024年06月30日停止维护,选择一个新的服务器操作系统变得迫在眉睫。CentOS Stream变成的滚动发行版(可认为是小白鼠版),稳定性不再,已经不在服务器的考虑范围内。
CentOS之所以受到广大服务器用户的青睐,主要是因为它的稳定性和长时间的维护周期。CentOS的维护周期长达十年,覆盖了服务器硬件的生命周期。也就是说一台服务器安装上CentOS后,可以一直使用到这台服务器退役也不用重装系统或跨大版本升级系统(通常比较困难且有可能失败),这对于运维人员来说,是一个巨大的福音。
目前各大云服务器厂商都推出了自己的操作系统,用于代替CentOS。比如腾讯云的OpenCloudOS和TencentOS Server,阿里云的Alibaba Cloud Linux和Anolis OS,华为云的Huawei Cloud EulerOS和EluerOS。这些操作系统都宣称100%兼容CentOS7或CentOS8,且维护周期也都继承了CentOS的十年超长维护周期。TencentOS Server 2(完全兼容CentOS7)甚至延长维护至2032年12月31日。这简直是一个系统要用十八年的节奏。
目前各云服务器商各自为战,也不知后续发展前景如何,其它主流的Linux发行版也是一个不错的选择。国际上比较流行的有Ubuntu Server和Debian。Ubuntu主攻方向是个人桌面系统,且由商业公司控制。而Debian是完全由开源社区掌控的,且是Ubuntu的上游,占用资源小且稳定,是作为服务器的首选发行版。需要注意的是,Debian每2年发布一个大版本,每个版本总共只有5年的维护期,也就是说每3-5年必须升级一次系统。不过Debian升级大版本通常比较容易。
宝塔面板对服务器发行版兼容程度的排序,也可以作为选择的一个参考:Centos7.x > Debian10 > Ubuntu 20.04
源配置。如果是云服务器的操作系统镜像,通常已经设置好了云服务器内部源。可查看以下文件:
vim /etc/apt/sources.list
更新
# 查看版本号
cat /etc/debian_version
# 更新
apt update && apt upgrade
CentOS系统习惯的鼠标右键粘贴功能在Debian里需要自行设置。
修改文件vim /usr/share/vim/vim**/defaults.vim
将 set mouse=a
改为:set mouse-=a
默认的vim颜色方案太难看了,注释根本看不清,不改没法用。
查看vim颜色方案:
ls /usr/share/vim/vim**/colors
修改vim /etc/vim/vimrc
,末尾加上以下代码:
colorscheme desert
可以将服务器名改为自己喜欢的,看着舒服。
vim /etc/hostname
Debian登录后一连串的提示信息,修改以下文件,删除里面的内容。
vim /etc/motd
修改时区
# 查看默认时区
timedatectl
# 修改时区(如果已经是上海时区,就不需要修改)
timedatectl set-timezone Asia/Shanghai
安装ntpdate同步工具
apt install ntpdate -y
增加定时任务
crontab -e
增加以下配置,没一个小时同步一次时间
*/60 * * * * /usr/sbin/ntpdate cn.pool.ntp.org
adduser foo //创建用户。useradd命令需要更多参数,懒得记就用adduser
passwd foo //修改密码
给普通用户ROOT权限
vim /etc/sudoers
增加以下代码
root ALL=(ALL) ALL //原有代码
foo ALL=(ALL) ALL //新增代码
可以使用以下命令切换到root用户
sudo -i
# 也可使用以下命令
su - root
远程登录端口默认是22。
# 注意不是 ssh_config 而是 sshd_config
vim /etc/ssh/sshd_config
修改
#Port 22
Port 34567 //修改端口号
PermitRootLogin no //禁止root用户登录
重启ssh
systemctl restart sshd
# 查看内存和swap交换区
free -h
# 创建交换分区文件8G,一般为物理内存1倍
fallocate -l 6G /swapfile
# 上面代码如果无法执行,可执行下面这条
#dd if=/dev/zero of=/swapfile bs=4096 count=2097152
#更改权限
chmod 600 /swapfile
# 设置交换分区文件
mkswap /swapfile
#启用交换分区文件
swapon /swapfile
修改文件vim /etc/fstab
,增加以下代码:
/swapfile swap swap defaults 0 0
查看swap使用策略,默认为30,即当物理内存使用到70%的时候,开始使用交换区
cat /proc/sys/vm/swappiness
# 临时设置
sysctl vm.swappiness=5
永久设置,修改vim /etc/sysctl.conf
。增加以下内容:
vm.swappiness=5
删除swap:
swapoff /swapfile ; rm -f /Application/swap
wget https://udomain.dl.sourceforge.net/project/openofficeorg.mirror/4.1.14/binaries/zh-CN/Apache_OpenOffice_4.1.14_Linux_x86-64_install-deb_zh-CN.tar.gz
tar -xvzf Apache_OpenOffice_4.1.14_Linux_x86-64_install-deb_zh-CN
cd DEBS
dpkg -i *.deb
下载jdk8
,并解压到/opt/java/jdk8/default
下载jdk11
,并解压到/opt/java/jdk11/default
# 从源服务器导出MySQL数据库
apt install openssh-clients // 安装ssh客户端
mysqldump -umyname -p mydatabase > data.sql // 导出数据库
tar -czvf data.tar.gz data.sql // 压缩文件。
# 可以使用 --exclude 排除部分目录
#tar -czvf web.tar.gz * --exclude=lib
scp -P22 data.tar.gz myname@111.222.333.444:/home/myname // 传输文件。-P是端口号,默认为22
# 到目标服务器导入MySQL数据库
tar -xzvf data.tar.gz // 解压文件
mysql -umyname -p // 登录数据库
use mydatabase; // 切换数据库
source /home/myname/data.sql; // 导入数据库
exit; // 退出数据库
服务器间传输大文件,需要使用断点续传,否则中断后必须重新传输。
使用断点续传,传输的双方都必须安装rsync
。
apt install rsync
# 其中 -p22 是端口号
rsync -avzP data.tar.gz -e 'ssh -p22' myname@43.138.32.168:/home/myname
云服务器一般都支持内网连接,使用内网连接可以有更快的速度。具体请查看各云服务器的帮助文档。