Ubuntu服务器配置新手如何高效完成基础搭建?

Ubuntu服务器配置是企业级应用和个人项目部署的基础,涉及系统初始化、安全加固、服务部署等多个环节,本文将详细讲解从基础环境到核心服务的完整配置流程,帮助用户快速搭建稳定、安全的Ubuntu服务器环境。

ubuntu服务器配置

系统初始化与基础更新

服务器首次启动后,需先完成系统初始化配置,首先更新软件包列表和已安装的软件包,确保系统组件为最新版本,避免因版本过旧导致的安全漏洞或兼容性问题,执行以下命令:

sudo apt update && sudo apt upgrade -y

更新完成后,清理本地缓存释放磁盘空间:

sudo apt autoremove -y && sudo apt autoclean

接下来设置服务器主机名,便于网络识别和管理:

sudo hostnamectl set-hostname your-server-name

最后检查系统内核版本和硬件信息,确保系统正常运行:

uname -r  # 查看内核版本
lscpu     # 查看CPU信息
free -h   # 查看内存使用情况
df -h     # 查看磁盘分区及使用情况

网络配置

服务器网络配置是稳定运行的核心,通常需要设置静态IP地址,避免DHCP动态分配导致的IP变动,以Ubuntu 22.04为例,网络配置文件位于/etc/netplan/目录下,假设配置文件为01-netcfg.yaml如下:

network:
  version: 2
  ethernets:
    eth0:  # 根据实际网卡名称修改,如ens33
      dhcp4: no
      addresses: [192.168.1.100/24]  # 静态IP及子网掩码
      gateway4: 192.168.1.1          # 网关地址
      nameservers:
          addresses: [8.8.8.8, 114.114.114.114]  # DNS服务器

配置完成后执行sudo netplan apply使配置生效,并通过ip a查看IP地址是否生效,不同Ubuntu版本的netplan配置语法略有差异,以下是常见版本对比:

Ubuntu版本 网络配置文件路径 配置语法特点
04 /etc/netplan/50-cloud-init.yaml 使用ethernets定义网卡,addresses为CIDR格式
04/22.04 /etc/netplan/01-netcfg.yaml 支持dhcp4: no/off,明确指定gateway4和nameservers
04 LTS /etc/netplan/00-installer-config.yaml 新增renderer参数,可选systemd或networkd

用户与权限管理

为避免直接使用root用户,建议创建新用户并赋予sudo权限,执行以下命令创建用户(例如deploy):

ubuntu服务器配置

sudo adduser deploy

将用户添加至sudo组(默认已存在sudo组):

sudo usermod -aG sudo deploy

验证sudo权限:切换至新用户su - deploy,执行sudo ls -la /root,输入密码后若能查看root目录内容,则权限配置成功。
若需禁用root SSH登录(提升安全性),修改SSH配置文件/etc/ssh/sshd_config,将PermitRootLogin yes改为PermitRootLogin no,保存后执行sudo systemctl restart sshd重启SSH服务。

SSH安全加固

SSH是远程管理服务器的核心入口,需通过以下配置提升安全性:

  1. 修改默认端口:避免默认22端口被暴力破解,编辑/etc/ssh/sshd_config,找到#Port 22,取消注释并修改为Port 2222(自定义端口,建议使用1024-49151之间的高位端口)。
  2. 禁用密码登录,启用密钥认证:生成SSH密钥对(本地机器执行):
    ssh-keygen -t rsa -b 4096 -f ~/.ssh/server_key

    将公钥上传至服务器:

    ssh-copy-id -i ~/.ssh/server_key.pub deploy@your-server-ip

    服务器端修改/etc/ssh/sshd_config,设置PasswordAuthentication noPubkeyAuthentication yes,重启SSH服务。

  3. 限制登录用户:在/etc/ssh/sshd_config中添加AllowUsers deploy admin(仅允许deploy和admin用户登录),拒绝其他用户访问。

防火墙配置

Ubuntu默认使用UFW(Uncomplicated Firewall)管理防火墙,启用后需开放必要端口(如SSH、HTTP、HTTPS),执行以下命令:

sudo ufw enable  # 启用防火墙(默认拒绝所有入站连接)
sudo ufw allow 2222/tcp  # 允许自定义SSH端口
sudo ufw allow 80/tcp    # 允许HTTP
sudo ufw allow 443/tcp   # 允许HTTPS
sudo ufw default deny incoming  # 默认拒绝入站
sudo ufw default allow outgoing  # 默认允许出站

查看防火墙状态:sudo ufw status,以下是常用端口及服务对应表:

ubuntu服务器配置

端口号 服务 用途
22/2222 SSH 远程服务器管理
80 HTTP 网站访问(HTTP协议)
443 HTTPS 加密网站访问(SSL/TLS)
3306 MySQL 数据库连接
6379 Redis 缓存服务连接
8080 Tomcat/Nginx Web应用服务端口

核心服务部署

安装Web服务器(以Nginx为例)

sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx  # 设置开机自启

访问服务器IP地址,若看到Nginx欢迎页面,则安装成功,配置文件位于/etc/nginx/sites-available/,可创建新配置文件(如project.conf)部署网站。

安装数据库(以MySQL为例)

sudo apt install mysql-server -y
sudo mysql_secure_installation  # 安全配置(设置root密码、移除匿名用户等)

登录MySQL:sudo mysql -u root -p,创建数据库和用户:

CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

安装PHP(以PHP 8.1为例)

sudo apt install php8.1-fpm php8.1-mysql php8.1-xml php8.1-gd -y
sudo systemctl restart nginx  # 重启Nginx以加载PHP模块

系统监控与日志管理

安装监控工具

  • htop:增强版进程监控工具
    sudo apt install htop -y
  • nmon:系统资源监控(CPU、内存、磁盘、网络)
    sudo apt install nmon -y
    nmon  # 运行后按c查看CPU,m查看内存,d查看磁盘,t查看网络

日志管理

系统日志默认存储在/var/log/目录,关键日志包括:

  • /var/log/syslog:系统日志
  • /var/log/auth.log:认证日志(SSH登录、sudo操作)
  • /var/log/nginx/error.log:Nginx错误日志
    配置日志轮转(自动清理旧日志),编辑/etc/logrotate.conf,添加自定义规则:

    /var/log/myapp/*.log {
      daily
      missingok
      rotate 7
      compress
      delaycompress
      notifempty
      create 644 deploy deploy
    }

相关问答FAQs

Q1:忘记root密码如何重置?
A:重置root密码需重启服务器进入恢复模式:

  1. 重启时按住Shift键(或根据GRUB菜单提示选择高级选项);
  2. 选择“root shell”进入命令行;
  3. 执行mount -o rw,remount /重新挂载根分区为可读写;
  4. 使用passwd root修改root密码,输入两次新密码;
  5. 执行exec /sbin/init或重启服务器,即可用新密码登录root账户。

Q2:配置静态IP后无法联网,如何排查?
A:按以下步骤排查:

  1. 检查IP配置是否正确:cat /etc/netplan/*.yaml确认IP、网关、DNS无误;
  2. 检查网卡状态:ip a查看网卡是否UP,ip link show eth0(替换为实际网卡名);
  3. 检查网关连通性:ping 192.168.1.1(替换为实际网关地址),若不通检查网线或网络设备;
  4. 检查DNS解析:ping 8.8.8.8若通但ping google.com不通,修改DNS为8.8.8.8或1.1.1.1;
  5. 应用配置:sudo netplan try测试配置,若有错误会提示,修复后执行sudo netplan apply

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/19894.html

(0)
酷番叔酷番叔
上一篇 2025年8月29日 23:32
下一篇 2025年8月29日 23:43

相关推荐

  • VPS和云服务器到底有啥区别?

    在数字化转型的浪潮中,企业和个人开发者对计算资源的需求日益增长,虚拟专用服务器(VPS)与云服务器作为两种主流的托管解决方案,凭借其灵活性和可扩展性成为众多用户的选择,尽管两者在功能上存在重叠,但在技术架构、适用场景和资源管理等方面存在显著差异,理解这些差异有助于用户根据自身需求做出最优选择,技术架构与资源隔离……

    2025年11月25日
    4600
  • ftp服务器地址在哪里查看和配置?

    FTP服务器地址是用于标识和定位文件传输协议(FTP)服务器的网络标识符,它是用户通过FTP客户端连接服务器、进行文件上传、下载或管理操作的核心依据,FTP服务器地址相当于FTP服务的“网络门牌号”,没有正确的地址,用户无法找到并访问目标FTP服务器,也就无法完成文件传输任务,FTP服务器地址的组成部分FTP服……

    2025年9月15日
    7600
  • 免费服务器体验,真能不花钱吗?

    在数字化时代,服务器作为支撑各类应用运行的基础设施,其重要性不言而喻,对于个人开发者、初创团队或希望进行技术学习的人群而言,免费服务器体验无疑是一个降低成本、快速上手的绝佳途径,本文将围绕免费服务器的选择、使用场景、注意事项及实用技巧展开,帮助读者全面了解如何高效利用免费资源,免费服务器的核心价值与适用场景免费……

    2025年12月14日
    4200
  • LSP服务器是什么?如何搭建与使用?

    LSP服务器,全称为语言服务器协议(Language Server Protocol)服务器,是一种为集成开发环境(IDE)和代码编辑器提供语言支持的技术工具,它的核心目标是通过标准化的协议,将语言相关的功能(如代码补全、语法检查、导航等)从编辑器中分离出来,形成独立的服务,从而提升开发效率和代码质量,LSP服……

    2025年12月2日
    5300
  • 自建DNS服务值得投入吗?

    自建DNS服务器可提升网络性能、增强隐私控制并实现灵活解析,但需应对维护复杂性和安全风险,实施关键在于合理配置与持续防护。

    2025年6月24日
    11400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信