服务器维护管理笔记

Posted by saltyfishyjk on 2023-03-27
Words 1.4k and Reading Time 5 Minutes
Viewed Times

服务器维护管理笔记

Part 0 前言

服务器的维护和管理是一件重要但是琐碎的工作,其中涉及很多细节处理。这些工作本身可能没有很高的技术门槛,但是却需要耗费相当的精力。因此,本笔记专门用于记录这方面的知识踩过的坑

本博客初稿的背景是2023敏捷软件工程课程,无特殊说明时,以下以此为背景。

Part 1 服务器选购

厂商

课程组提供了500元额度的经费,我们结合服务器租用、域名租用、DNS解析等服务最终选择了腾讯云这一高性价比厂商(不过还是得通过新人优惠才便宜)。

配置

这里主要借用一下课程组的图,方便快速锚定配置范围:

image-20230328221814986

也可以参考文章:如何选择云服务器配置?

域名

参考资料:

主要流程包括:

  • 腾讯云实名认证
  • 使用DNSPod(已被腾讯云收购)查询想要注册的域名是否可用,在此界面可以购买域名和(可选)DNS解析服务
  • 创建实名信息模板交由注册局审核
  • 根据域名所属进行备案(须和腾讯云实名认证一致)

操作系统

由于熟悉且资料较多,因此选用Ubuntu 20.04 LTS。后文在不强调时也以此为默认配置

Part 2 GitHub Actions

参考资料:

加密

参考资料:

Part 3 Conda

参考资料:

Part 4 NPM

避免直接使用apt-get安装nodejs,而采用NPM进行nodejs环境管理

安装

参考资料:

Part 5 Vue

Part 6 Django

Part 7 腾讯云与Ubuntu

生成ssh key

使用ed25519算法生成密钥

参考资料:

Part 8 创建与管理用户

为服务器上的每个用户配置账户是服务器管理的基本任务,特别是涉及到较多用户同时使用时(毕竟你不能允许每个人都登录 root 账户,这太危险混乱了)

本节以 Ubuntu 22.04 为例,且都在管理员账户和权限下进行

创建用户账户

默认方式创建用户

创建名为 username 的账户,家目录为默认目录(多数为/home/username),需要根据提示设置用户密码(不能包含用户名)等信息

1
sudo adduser username

指定家目录位置创建用户

创建用户 username,并设置其家目录为 /mnt/data/username

1
sudo adduser --home /mnt/data/username username

设置用户对其家目录有合适的权限

1
2
sudo chown -R username:username /mnt/data/username
sudo chmod 700 /mnt/data/username

远程终端登录遇到 /usr/bin/xauth: file /mnt/data/username/.Xauthority does not exist

在下述目录创建空的 .Xauthority 并设置合适的权限

1
2
touch /mnt/data/username/.Xauthority
chmod 600 /mnt/data/username/.Xauthority

删除用户账户

仅删除用户账户,不删除家目录等

1
sudo userdel username

删除用户以及家目录

1
sudo userdel -r username

将用户添加到 sudo 组

当希望用户具有 sudo 权限,且不想直接赋予 root 权限

Ubuntu

可以使用 sudo 组管理

1
sudo usermod -aG sudo username

CentOS

CentOS 使用 wheel 组关联

1
sudo usermod -aG wheel username

切换用户身份

需要有切换的用户密码

1
su - username

无参数时默认切换到 root

1
sudo su

Part 9 查看配置信息

查看操作系统

1
lsb_release -a

查看内存

1
free -h

查看文件系统与磁盘

显示文件系统的磁盘空间使用情况

1
df -h
  • -h 表示以人类可读的格式显示结果

查看磁盘分区

1
fdisk -l
  • -l 表示列出系统上所有的磁盘分区

Part 10 挂载数据盘到文件系统

Step 1 创建挂载点

Linux 中,/mnt 通常被作为手动挂载的临时挂载点,/mnt/data 则表示挂载的数据目录

1
sudo mkdir /mnt/data

Step 2 挂载数据盘

使用 mount 将数据盘挂载到刚才创建的挂载点

这里的 /dev/sdb 是通过 fdisk -l 查到的

1
sudo mount /dev/sdb /mnt/data

Step 3 更新 /etc/fstab 使挂载永久生效

打开 /etc/fstab

1
sudo nano /etc/fstab

在文件末尾添加以下行:

1
/dev/sdb   /mnt/data   ext4   defaults   0   0

Step 4 设置合适的权限

1
sudo chmod 755 /mnt/data

Part 11 SSH登录

设置SSH密钥登录

参考:Linux系列 | SSH 如何使用密钥登录服务器

  1. 生成本机密钥:在本机生成 ssh-key
  2. 手动上传公钥:在服务器的 .ssh/authorized_keys 文件中添加一行,内容为本机的公钥(.pub文件)

配置完成后即可使用 SSH 登录

关闭密码登录

参考:Linux 禁止密码登录,使用私钥登录

  1. 修改 /etc/ssh/sshd_config ,添加行:

    1
    PasswordAuthentication no

    默认情况下 sshd_config 中存在一行 #PasswordAuthentication yes,将这行拷贝去掉注释并改为 no 即可

  2. 重启 sshd 服务

    1
    systemctl restart sshd

    需要 sudo 权限和认证


This is copyright.