凌峰创科服务平台

云服务器Linux安装配置如何高效完成?

云服务器 Linux 安装与配置全流程指南

本指南将以最流行的 Ubuntu Server 22.04 LTS 为例进行讲解,但核心步骤和命令同样适用于 CentOS/Rocky Linux 8/9 等其他发行版。

云服务器Linux安装配置如何高效完成?-图1
(图片来源网络,侵删)

第一部分:准备工作与基础安装

购买并创建云服务器

在阿里云、腾讯云、AWS、华为云等平台购买云服务器实例时,请进行如下选择:

  • 镜像:
    • 新手推荐: 选择 Ubuntu Server 22.04 LTSCentOS 8/9,LTS (Long Term Support) 版本提供长期支持,更稳定。
    • 镜像市场: 如果您需要特定的环境(如宝塔面板、Docker、LNMP),可以直接选择预装好的镜像,可以跳过部分安装步骤。
  • 实例规格: 根据您的需求选择(如 1核2G, 2核4G),初期建议选择较低配置,后期可随时升级。
  • 存储: 选择 SSD 云硬盘,I/O 性能更好。
  • 网络: 默认即可,确保有公网 IP。
  • 安全组: 极其重要! 创建实例时,会自动创建一个安全组,这是服务器的防火墙,默认只允许 22 (SSH) 端口入站,请根据需要添加其他端口,
    • 80 (HTTP)
    • 443 (HTTPS)
    • 3306 (MySQL)
    • 6379 (Redis)

连接到服务器

服务器创建成功后,您会获得一个公网 IP 地址,使用 SSH 客户端连接到服务器。

  • Windows 用户:

    • 推荐使用: MobaXtermXshell,它们提供了强大的终端、文件传输和管理功能。
    • 系统自带: Windows 10/11 已内置 OpenSSH 客户端,可以直接在 PowerShell 或命令提示符中使用:
      ssh root@<你的公网IP地址>

      首次连接会提示 Are you sure you want to continue connecting (yes/no)?,输入 yes

      云服务器Linux安装配置如何高效完成?-图2
      (图片来源网络,侵删)
  • macOS / Linux 用户:

    • 打开终端,直接使用 ssh 命令:
      ssh root@<你的公网IP地址>

提示: root 用户是 Linux 的超级管理员,拥有最高权限,出于安全考虑,我们将在后续步骤中创建一个普通用户并禁用 root 远程登录。


第二部分:初始系统配置

登录后,您会看到命令行界面,这是您接下来所有操作的地方。

更新系统包

这是第一步,也是最关键的一步,确保系统软件包都是最新的。

# 对于 Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
# 对于 CentOS/Rocky Linux
sudo dnf update -y

设置主机名

为服务器设置一个易于识别的主机名。

# 设置主机名,my-web-server
sudo hostnamectl set-hostname my-web-server
# 验证设置
hostname

配置网络(可选但推荐)

云服务器的网络通常是自动配置的,但为了管理方便,可以编辑 /etc/hosts 文件,将本地 IP 和主机名绑定。

sudo nano /etc/hosts

在文件中添加或修改如下内容(将 <你的公网IP地址><你的主机名> 替换为实际值):

0.0.1   localhost
<你的公网IP地址>   my-web-server

Ctrl + X,然后按 Y,最后按 Enter 保存并退出。

创建新用户并授权(安全最佳实践)

永远不要直接使用 root 用户进行日常操作!

  1. 创建一个新用户(deploy):

    sudo adduser deploy
  2. 为新用户设置密码:

    sudo passwd deploy
  3. 将新用户添加到 sudo 组,使其拥有管理员权限:

    # Ubuntu/Debian
    sudo usermod -aG sudo deploy
    # CentOS/Rocky Linux
    sudo usermod -aG wheel deploy
  4. 退出当前 SSH 会话,然后用新用户重新登录:

    exit
    ssh deploy@<你的公网IP地址>

配置 SSH 密钥登录(更安全)

使用密码登录容易受到暴力破解攻击,使用 SSH 密钥是更安全的方式。

  1. 在您的本地电脑上生成 SSH 密钥对(如果还没有的话):

    • Windows (MobaXterm/Xshell): 通常有图形化界面生成。
    • macOS/Linux: 在终端中运行:
      # 一路回车即可,不需要设置密码
      ssh-keygen -t ed25519 -C "your_email@example.com"
    • 公钥默认保存在 ~/.ssh/id_ed25519.pub
  2. 将公钥复制到服务器

    # 将 <你的公钥内容> 替换为 id_ed25519.pub 文件中的内容
    ssh-copy-id deploy@<你的公网IP地址>

    系统会提示您输入 deploy 用户的密码,成功后,您就可以免密码登录了。

  3. (可选但强烈推荐)禁用 root 密码登录

    • deploy 用户登录后,编辑 SSH 配置文件:

      sudo nano /etc/ssh/sshd_config
    • 找到并修改以下两行:

      # 将 PermitRootLogin yes 改为
      PermitRootLogin prohibit-password
      # 找到 PasswordAuthentication,确保是
      PasswordAuthentication no
    • 保存文件 (Ctrl+X, Y, Enter),然后重启 SSH 服务:

      sudo systemctl restart sshd

第三部分:安装常用软件

安装 Nginx (Web 服务器)

Nginx 是一款高性能的 Web 服务器和反向代理。

# Ubuntu/Debian
sudo apt install nginx -y
# CentOS/Rocky Linux
sudo dnf install nginx -y
# 启动并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx

在浏览器中访问您的公网 IP,应该能看到 Nginx 的欢迎页面。

安装 MySQL/MariaDB (数据库)

# Ubuntu/Debian
sudo apt install mysql-server -y
# CentOS/Rocky Linux
sudo dnf install mariadb-server -y
# 启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql
# 运行安全脚本
sudo mysql_secure_installation

mysql_secure_installation 会引导您进行一系列安全设置,包括:

  • 设置 root 密码(建议设置)
  • 移除匿名用户
  • 禁止 root 远程登录(推荐)
  • 移除测试数据库
  • 重新加载权限表
  • 全部选择 Y (Yes) 是最安全的选择。

安装 PHP (后端语言)

如果您需要运行 WordPress、Laravel 等应用,需要安装 PHP。

# Ubuntu/Debian
sudo apt install php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-zip php-intl -y
# CentOS/Rocky Linux
sudo dnf install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-xmlrpc php-zip php-intl -y
# 启动并设置开机自启
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

第四部分:安全加固

配置防火墙 (UFW / Firewalld)

  • 对于 Ubuntu/Debian (使用 UFW):

    # 允许 SSH 连接 (如果之前没开)
    sudo ufw allow OpenSSH
    # 允许 HTTP (80) 和 HTTPS (443)
    sudo ufw allow 'Nginx Full'
    # 启用防火墙
    sudo ufw enable
    # 查看状态
    sudo ufw status
  • 对于 CentOS/Rocky Linux (使用 Firewalld):

    # 启动并设置开机自启
    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    # 添加永久规则
    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    # 重新加载防火墙使规则生效
    sudo firewall-cmd --reload
    # 查看状态
    sudo firewall-cmd --list-all

使用 Fail2ban 防止暴力破解

Fail2ban 可以监控系统日志,并自动封禁恶意 IP 地址。

# Ubuntu/Debian
sudo apt install fail2ban -y
# CentOS/Rocky Linux
sudo dnf install fail2ban -y
  • 配置 Fail2ban:
    • 复制一份配置文件作为自定义模板:
      sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    • 编辑 jail.local 文件:
      sudo nano /etc/fail2ban/jail.local
    • 找到 [DEFAULT] 部分,设置 bantime (封禁时间), findtime (发现时间窗口), maxretry (最大重试次数)。
    • 确保 [sshd] 部分是启用的 (enabled = true)。
    • 保存并退出,然后重启 Fail2ban 服务:
      sudo systemctl restart fail2ban

第五部分:部署一个简单的网站

创建网站目录

假设我们的网站域名是 example.com

# 创建网站根目录
sudo mkdir -p /var/www/example.com/html
# 设置目录所有者为当前用户
sudo chown -R $USER:$USER /var/www/example.com/html
# 设置正确的权限
sudo chmod -R 755 /var/www/example.com

创建一个测试页面

nano /var/www/example.com/html/index.html
<!DOCTYPE html>
<html>
<head>Welcome to example.com!</title>
</head>
<body>
    <h1>Hello, World!</h1>
    <p>Your Nginx server is working.</p>
</body>
</html>

保存并退出 (Ctrl+X, Y, Enter)。

创建 Nginx 服务器块配置文件

sudo nano /etc/nginx/sites-available/example.com
```并替换 `<你的公网IP地址>`:
```nginx
server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com/html;
    index index.html index.htm index.nginx-debian.html;
    location / {
        try_files $uri $uri/ =404;
    }
}

启用配置

创建一个符号链接来启用这个站点配置。

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

测试并重启 Nginx

# 测试配置文件语法是否正确
sudo nginx -t
# 如果显示 successful,则重启 Nginx
sudo systemctl restart nginx

在浏览器中访问 http://<你的公网IP地址>,您应该能看到 "Hello, World!" 页面了。


总结与后续

至此,您已经拥有一个基础配置良好、安全加固的 Linux 云服务器。

后续可以做的事情:

  • 配置域名解析: 将您的域名(如 example.com)的 A 记录指向服务器的公网 IP。
  • 配置 HTTPS: 使用 Let's Encrypt 免费签发 SSL 证书,并通过 Nginx 配置 HTTPS,可以使用 Certbot 工具自动完成。
  • 部署应用: 部署 WordPress, Docker, Node.js 应用等。
  • 监控: 使用 Prometheus + Grafana 或云服务商自带的监控工具来监控服务器状态。
  • 备份: 设置定期的自动备份策略,备份数据库和网站文件。

这份指南为您提供了一个坚实的基础,祝您使用愉快!

分享:
扫描分享到社交APP
上一篇
下一篇