Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04 中的服务器 —— 知识点详解 (22)

Ubuntu 22.04 中的服务器 ------ 知识点详解

1. 安装 Ubuntu 服务器

1.1 安装方式概述

Ubuntu Server 22.04 提供 ISO 镜像安装和云镜像(如 AWS、Azure)部署两种主流方式。本节以本地 ISO 安装为例。

1.2 安装步骤(简要)

  1. 下载官方 ISO:https://releases.ubuntu.com/22.04/
  2. 使用 Rufus / balenaEtcher 制作启动 U 盘。
  3. 启动服务器并从 U 盘引导。
  4. 选择语言 → 键盘布局 → 安装类型(正常安装或最小安装)。
  5. 配置网络(自动 DHCP 或手动 IP)。
  6. 设置主机名、用户名、密码。
  7. 选择是否安装 OpenSSH server(建议勾选)。
  8. 完成安装后重启。

注意:安装过程中可选择 LVM 分区,便于后续动态调整磁盘空间。


2. 调整网络配置

Ubuntu 22.04 默认使用 Netplan 管理网络。

2.1 Netplan 配置文件位置

bash 复制代码
/etc/netplan/*.yaml

2.2 静态 IP 配置示例

案例:将 ens33 接口配置为静态 IP
yaml 复制代码
# 文件路径: /etc/netplan/00-installer-config.yaml
network:
  version: 2
  ethernets:
    ens33:                         # 网卡名称(可通过 ip a 查看)
      dhcp4: false                 # 关闭 DHCP
      addresses:
        - 192.168.1.100/24         # 静态 IP 和子网掩码
      gateway4: 192.168.1.1        # 默认网关
      nameservers:
        addresses:
          - 8.8.8.8                # DNS 服务器
          - 114.114.114.114
应用配置:
bash 复制代码
sudo netplan apply

语法说明

  • version: 2 表示 Netplan v2 语法。
  • ethernets 定义以太网接口。
  • addresses 支持 IPv4/IPv6 列表。
  • gateway4 在 Ubuntu 22.04 中已弃用,推荐使用 routes(见下文进阶)。
进阶:使用 routes 替代 gateway4(推荐)
yaml 复制代码
network:
  version: 2
  ethernets:
    ens33:
      dhcp4: false
      addresses: [192.168.1.100/24]
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]

3. 通过 SSH 远程登录服务器

3.1 安装 OpenSSH Server(若未在安装时勾选)

bash 复制代码
sudo apt update
sudo apt install openssh-server -y

3.2 启动并设置开机自启

bash 复制代码
sudo systemctl enable --now ssh

3.3 配置 SSH(安全加固)

编辑配置文件:

bash 复制代码
sudo nano /etc/ssh/sshd_config
常用安全配置项:
conf 复制代码
# 禁用 root 登录(提高安全性)
PermitRootLogin no

# 仅允许特定用户登录(可选)
AllowUsers alice bob

# 修改默认端口(可选,防扫描)
Port 2222

# 禁用密码登录,仅用密钥(推荐)
PasswordAuthentication no
PubkeyAuthentication yes
重载 SSH 服务:
bash 复制代码
sudo systemctl reload sshd

客户端连接示例(Linux/macOS):

bash 复制代码
ssh -p 2222 alice@192.168.1.100

4. 基于 Web 界面远程管理 Ubuntu 服务器

4.1 安装 Cockpit(轻量级 Web 管理工具)

bash 复制代码
sudo apt install cockpit -y
sudo systemctl enable --now cockpit.socket

4.2 访问 Web 管理界面

浏览器访问:

复制代码
https://<服务器IP>:9090

支持:系统监控、日志查看、用户管理、容器管理、网络配置等。


5. 动态调整磁盘存储空间(LVM 示例)

假设安装时使用了 LVM,可动态扩展逻辑卷。

5.1 查看当前磁盘与卷组

bash 复制代码
sudo lvdisplay
sudo vgdisplay

5.2 扩展逻辑卷(例如扩展 root 分区)

步骤 1:扩展底层磁盘(虚拟机中先增加硬盘容量)
步骤 2:通知系统识别新空间
bash 复制代码
sudo pvresize /dev/sda2   # 假设 PV 在 sda2
步骤 3:扩展逻辑卷并调整文件系统
bash 复制代码
# 扩展 LV 到最大可用空间
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

# 调整 ext4 文件系统大小(在线扩容)
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

若使用 XFS 文件系统,则用:

bash 复制代码
sudo xfs_growfs /

6. LAMP 服务器安装与配置

LAMP = Linux + Apache + MySQL + PHP

6.1 安装 LAMP 套件

bash 复制代码
sudo apt update
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql -y

6.2 验证安装

  • Apache:浏览器访问 http://<服务器IP>,应看到 "Apache2 Ubuntu Default Page"
  • PHP:创建测试文件
bash 复制代码
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

访问 http://<IP>/info.php 查看 PHP 信息。


7. 在 Ubuntu 上配置 Apache

7.1 主配置文件路径

  • 主配置:/etc/apache2/apache2.conf
  • 站点配置:/etc/apache2/sites-available/

7.2 创建虚拟主机示例

案例:部署一个名为 example.com 的站点
bash 复制代码
# 创建网站目录
sudo mkdir -p /var/www/example.com

# 设置权限
sudo chown -R $USER:$USER /var/www/example.com
sudo chmod -R 755 /var/www/example.com

# 创建测试页面
echo "<h1>Welcome to Example.com!</h1>" | sudo tee /var/www/example.com/index.html
创建虚拟主机配置文件:
apache 复制代码
# 文件: /etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com

    <Directory /var/www/example.com>
        Options Indexes FollowSymLinks
        AllowOverride All           # 允许 .htaccess
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example_error.log
    CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>
启用站点并重载 Apache:
bash 复制代码
sudo a2ensite example.com.conf
sudo systemctl reload apache2

语法说明

  • ServerName:主域名
  • DocumentRoot:网站根目录
  • AllowOverride All:启用 .htaccess 重写规则(需 mod_rewrite
  • Require all granted:Apache 2.4+ 的访问控制语法

8. 在 Ubuntu 上配置 PHP

8.1 PHP 配置文件

  • 主配置:/etc/php/8.1/apache2/php.ini(Ubuntu 22.04 默认 PHP 8.1)

8.2 常用配置项修改示例

ini 复制代码
; /etc/php/8.1/apache2/php.ini

; 最大上传文件大小
upload_max_filesize = 64M

; POST 数据最大值
post_max_size = 128M

; 启用错误显示(开发环境)
display_errors = On

; 时区设置(重要!)
date.timezone = Asia/Shanghai

; 启用常用扩展(如 mysqli, curl)
extension=mysqli
extension=curl
重启 Apache 生效:
bash 复制代码
sudo systemctl restart apache2

9. 在 Ubuntu 上配置和管理 MySQL

9.1 初始化安全设置

bash 复制代码
sudo mysql_secure_installation

按提示:

  • 设置 root 密码(若未设置)
  • 移除匿名用户
  • 禁止 root 远程登录(生产环境建议)
  • 删除测试数据库
  • 重载权限表

9.2 创建数据库和用户(案例)

sql 复制代码
-- 登录 MySQL
sudo mysql -u root

-- 创建数据库
CREATE DATABASE myapp_db;

-- 创建用户并授权
CREATE USER 'myapp_user'@'localhost' IDENTIFIED BY 'StrongPass123!';

-- 授权
GRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

-- 退出
EXIT;

9.3 允许远程访问 MySQL(谨慎操作)

编辑配置文件:

bash 复制代码
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到并注释掉:

conf 复制代码
# bind-address = 127.0.0.1

然后重启 MySQL:

bash 复制代码
sudo systemctl restart mysql

安全建议:配合防火墙(如 ufw)限制 IP 访问,并使用强密码。


总结

本章覆盖了 Ubuntu 22.04 服务器从安装到 LAMP 部署的完整流程,包括:

  • 网络配置(Netplan)
  • SSH 安全远程登录
  • Web 管理(Cockpit)
  • LVM 磁盘动态扩容
  • Apache 虚拟主机配置
  • PHP 参数调优
  • MySQL 用户与权限管理

所有操作均提供可直接运行的命令和带注释的配置代码,适用于学习、实验及生产环境部署参考。

相关推荐
慎独41317 小时前
记忆力革命:学习力的核心与其目脑力的科技探索
科技·学习
次元工程师!17 小时前
Sa-Token完成路由鉴权
java·服务器·前端
摸鱼仙人~17 小时前
RAG 系统中的 TOC Enhance:用“目录增强”提升检索与生成效果
linux·运维·服务器
_Kayo_17 小时前
Node.js 学习笔记6
笔记·学习·node.js
Autumn729917 小时前
【 jupyter 】PyCharm配置服务器连接jupyter
服务器·jupyter·pycharm
汽车通信软件大头兵17 小时前
Autosar--ETAS Isolar能够自由学习啦!
网络·学习·安全·汽车·etas·uds·isoalr
好奇龙猫17 小时前
【人工智能学习-AI-MIT公开课第 17.-学习:boosting 算法】
人工智能·学习·boosting
周而复始 否极泰来17 小时前
深入了解指针(1)
c语言·学习
De-Alf17 小时前
Megatron-LM学习笔记(8)DDP Model,Optimizer,Scheduler
笔记·学习