Ubuntu Server 22.04 系统性能优化

ubuntu 系统是非常流行和常用的系统,但是在安装系统完毕后系统默认参数可能不太适合物理机性能和并发情况,本篇文章重点介绍通用的性能优化和简单的安全方案。

1、更换系统镜像源

将系统自带的镜像源更新为阿里的镜像源,可以提高软件下载速度。

1)先备份原有系统镜像源文件:

mv /etc/apt/sources.list /etc/apt/sources.listbak

2)创建新的镜像源文件并写入阿里镜像源

cd /etc/apt/
vi /etc/apt/sources.list

写入下方代码

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

2、更新升级系统软件包

定期更新升级系统软件包,可以修复系统漏洞、提高系统稳定性和性能,同时能够获取系统新发布的功能和特性。

# 获取最新的所有可更新的软件清单命令
sudo apt update
# 列出本次可更新的软件包及版本信息
# !!!注意:本次可能有内核更新或者大版本的软件更新,会有需要重启服务器或者对应的软件不需要升级的情况
apt list --upgradeable
# 如果不需要升级某软件,例如docker,可以参考如下命令
sudo apt-mark hold docker*
# 升级所有软件
sudo apt upgrade

3、设置 ulimit 的 open files:

先备份limit.conf文件

cp /etc/security/limits.conf /etc/security/limits.conf.bak

执行如下命令,写入文件更新配置,注意:验证时需要断开原ssh连接,重新打开新的连接验证;root用户需要显式配置

echo '* soft noproc 65535'>>/etc/security/limits.conf
echo '* hard noproc 65535'>>/etc/security/limits.conf
echo '* soft nofile 409600'>>/etc/security/limits.conf
echo '* hard nofile 409600'>>/etc/security/limits.conf
# 注意:以下是root用户的配置,ubuntu 系统root用户必须显式指定配置
echo 'root soft noproc 65535'>>/etc/security/limits.conf
echo 'root hard noproc 65535'>>/etc/security/limits.conf
echo 'root soft nofile 409600'>>/etc/security/limits.conf
echo 'root hard nofile 409600'>>/etc/security/limits.conf

然后,在下面的两文件中加入:DefaultLimitNOFILE=204800

echo "DefaultLimitNOFILE=204800" >> /etc/systemd/user.conf
echo "DefaultLimitNOFILE=204800" >> /etc/systemd/system.conf

4、core文件设置

正确设置core文件的必要性:corefile 是Linux系统程序崩溃时生成的文件,可以用来分析程序崩溃的原因,因为它包含了程序崩溃时的内存堆栈信息。

1)设置生成core文件

echo "* soft core 4194304" >> /etc/security/limits.conf
echo "* hard core 4194304" >> /etc/security/limits.conf

2)设置core文件命名方式

/proc/sys/kernel/core_uses_pid 文件是用来控制生成的core文件的文件名中是否添加应用程序pid作为名称的扩展。

  • 值为1:表示添加pid作为文件名一部分,生成的core文件格式为core.pid;
  • 值为0:表示生成的core文件都是同一名称,新的core文件会覆盖旧的core文件。

可通过以下命令修改此文件:

echo "1" > /proc/sys/kernel/core_uses_pid

3)设置core文件保存位置和文件命名格式

proc/sys/kernel/core_pattern 文件可以控制core文件保存位置和文件名格式。
可通过以下命令修改此文件,可以将core文件统一生成到/data/corefile目录下,产生的文件名为core-命令名-pid-时间戳

echo "/data/corefile/core-%e-%p-%t" > /proc/sys/kernel/core_pattern

5、关闭防火墙ufw

如果没有特殊要求,防火墙可以不使用,毕竟防火墙就是起一个端口过滤作用,并且服务器机房单独配置的防火墙已经能搞定绝大部分,如果搞不定,估计ufw也够呛。
这里摘抄ubuntu官网的一段话,大家自行理解:

Ubuntu 配有 Uncomplicated Firewall(ufw),但默认情况下不会启动此防火墙。由于 Ubuntu 没有任何开放式网络服务(基本网络架构除外),在默认安装状态下,您并不需要通过防火墙来阻止有恶意企图的连接。(https://people.ubuntu.com/~happyaron/ubuntu-docs/precise-html/net-firewall-on-off.html)

sudo ufw disable # 停止并禁用自动启动
sudo ufw status # 查看防火墙状态,会输出结果:Status: inactive

6、 修改Linux主机hostname

修改主机hostname和host可以加快内网网络速度,没必要每次本地主机名解析都走网络。

  1. 使用hostnamectl修改主机名,同时更新/etc/hostname文件中的主机名
sudo hostnamectl set-hostname your_name
  1. 如果是云实例上运行Ubuntu,并且已安装cloud-init软件包,则还需要编辑/etc/cloud/cloud.cfg文件。
sudo vim /etc/cloud/cloud.cfg

在文件中搜索preserve_hostname,并将值从false更改为true:

# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true
  1. 按如下修改host
vi /etc/hosts
192.168.110.22 test01
192.168.110.33 test02
192.168.110.44 test03

7、sshd安全性优化

编辑ssh配置文件

vi /etc/ssh/sshd_config

如果文件中没有这两个配置则添加,如果有则需要修改为下面的配置值,配置完成后重启sshd服务

Ciphers aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha1

重启sshd服务

systemctl restart sshd
<think>好的,我现在需要帮助用户解决如何安装和配置Ubuntu 22.04 Server版的问题。首先,我要回忆一下相关的步骤,确保信息准确。用户提到了参考引用中的内容,其中引用[1]是关于桌面版的安装和静态IP设置,而引用[2]包含了一些安装软件的命令。但用户现在需要的是Server版的安装,这可能与桌面版有所不同。 首先,我应该分步骤来指导用户。安装Ubuntu Server通常涉及下载ISO镜像、创建启动盘、启动安装程序、分区、设置用户和网络等。需要注意Server版默认没有图形界面,所以安装过程是通过命令行界面进行的。 第一步,下载镜像。用户需要去官网获取正确的Server版ISO文件,确保是22.04版本。这里要提供正确的下载链接,避免用户下载错误。 第二步,制作启动盘。常用的工具如Rufus或balenaEtcher,可能需要指导用户如何使用这些工具将ISO写入U盘。特别是要提醒用户备份U盘数据,因为制作启动盘会格式化U盘。 第三步,启动安装程序。用户需要进入BIOS/UEFI设置启动顺序,从U盘启动。这里可能会遇到不同电脑的进入方式不同,可能需要一般性的提示,比如按F12、ESC等键。 安装过程中的关键步骤包括选择语言、配置网络、分区磁盘。分区部分可能需要详细说明,特别是对于新手,建议使用默认的LVM分区,或者手动分区的基本步骤。用户如果之前有桌面版的静态IP设置经验(引用[1]),在Server版中配置网络可能需要类似的步骤,但通过命令行工具netplan,这里需要详细说明如何编辑YAML配置文件,应用配置。 然后,设置用户账户,建议创建普通用户并设置sudo权限,同时可以启用SSH服务以便远程管理。这部分可能需要提醒用户记住密码,并确保安全设置。 安装完成后,系统会提示重启,并移除安装介质。之后,用户需要进行基础配置,比如更新系统,安装必要软件如gcc、g++(引用[2]中的命令),但需要根据Server版调整,比如使用apt而不是apt-get,或者确认命令是否适用。 此外,用户可能需要配置防火墙,安装SSH服务器,设置静态IP(参考引用[1]的方法,但需调整为Server版适用的netplan配置)。这部分需要给出具体的命令和配置文件示例,比如编辑/etc/netplan/00-installer-config.yaml,设置静态IP后应用更改。 最后,生成相关问题时要考虑用户可能的后续需求,比如性能优化、服务管理、常见问题解决等。 需要检查所有步骤是否符合最新Ubuntu 22.04 Server的实际情况,避免过时的信息。例如,确认netplan的配置路径和语法是否正确,安装软件的命令是否需要调整。同时,确保引用正确,用户提到的引用[1]和[2]中的部分内容可能需要适配到Server版,比如安装软件的命令在Server版同样有效,但需要确保用户安装了正确的软件源。 总结来说,步骤应该是:准备安装介质、启动安装、配置系统选项、基础设置和安装后配置。每个步骤要简明扼要,避免遗漏关键点,如分区、用户创建、网络配置等。同时,注意命令的正确性,比如使用sudo apt update而不是sudo apt-get update,但实际两者都可以,不过保持一致性更好。 可能还需要提醒用户在安装过程中可能遇到的问题,比如无法识别硬盘、网络配置失败等,并提供基本的故障排除建议,比如检查硬件连接,确认ISO完整性等。 最后,确保回答结构清晰,分步骤说明,使用中文,并且正确应用LaTeX格式(虽然在这个问题中可能用不上数学公式,但如果有相关配置参数可能需要使用行内代码块或命令格式)。但根据用户的要求,所有行内数学表达式需要用$...$,但在这里主要是命令行和配置文件,所以应使用代码块或命令符号。</think>### Ubuntu 22.04 Server 安装与配置指南 #### **一、准备工作** 1. **下载镜像** 访问 [Ubuntu 22.04 Server 官方下载页面](https://ubuntu.com/download/server),获取 ISO 镜像文件。 2. **制作启动盘** - 使用工具如 [Rufus](https://rufus.ie/)(Windows)或 [balenaEtcher](https://www.balena.io/etcher/)(跨平台)将 ISO 写入 U 盘。 - 确保 U 盘已备份,制作过程会格式化存储设备。 --- #### **二、启动安装程序** 1. **进入 BIOS/UEFI** 重启电脑,按 `F2`/`F12`/`ESC`/`Delete` 键(因主板而异)进入启动菜单,选择从 U 盘启动。 2. **开始安装** - 选择语言后进入安装界面,选择 **Install Ubuntu Server**。 --- #### **三、关键配置步骤** 1. **网络配置** - 安装程序会自动检测网络,建议选择动态 IP(DHCP)完成初步安装。 - **静态 IP 配置**(可选,安装后修改): 编辑 Netplan 配置文件: ```bash sudo nano /etc/netplan/00-installer-config.yaml ``` 示例配置: ```yaml network: ethernets: ens33: dhcp4: no addresses: [192.168.1.100/24] routes: - to: default via: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] ``` 应用配置: ```bash sudo netplan apply ``` [^1] 2. **磁盘分区** - 新手建议选择 **Use an entire disk**(自动分区)。 - 高级用户可选 **Custom storage layout**,手动划分 `/boot`、`/`、`swap` 等分区。 3. **用户设置** - 输入服务器名称,创建管理员账户(用户名和密码)。 - 建议勾选 **Install OpenSSH server** 以支持远程登录。 4. **选择软件包** - 按需选择预装服务(如 Docker、LAMP 等),或留空后续手动安装。 --- #### **四、安装后配置** 1. **系统更新** ```bash sudo apt update && sudo apt upgrade -y ``` 2. **安装常用工具** ```bash sudo apt install -y gcc g++ cmake curl net-tools ``` [^2] 3. **防火墙配置** ```bash sudo ufw allow ssh # 允许 SSH 连接 sudo ufw enable # 启用防火墙 ``` 4. **设置默认启动模式** ```bash systemctl set-default multi-user.target # 仅命令行模式 ``` --- #### **五、验证安装** 1. 重启系统并登录,检查网络和 SSH 是否正常: ```bash ip a # 查看 IP 地址 systemctl status sshd # 检查 SSH 服务状态 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fire_in_java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值