杰瑞科技汇

Linux搭建服务器教程有哪些关键步骤?

目录

  1. 准备工作
  2. 第一步:安装 Ubuntu Server 系统
  3. 第二步:初始服务器配置
    • 1 更新系统
    • 2 设置静态 IP 地址
    • 3 配置主机名
    • 4 创建新用户并设置 SSH 密钥登录(安全重点)
    • 5 配置防火墙
  4. 第三步:搭建 LAMP/LEMP 环境(以部署网站为例)
    • 1 什么是 LAMP/LEMP?
    • 2 安装 Web 服务器 (Nginx)
    • 3 安装数据库服务器 (MySQL)
    • 4 安装 PHP 及相关扩展
  5. 第四步:部署一个网站(WordPress 示例)
    • 1 创建数据库和用户
    • 2 下载并配置 WordPress
    • 3 设置文件权限
  6. 第五步:常用维护与管理命令
  7. 总结与后续学习

准备工作

在开始之前,你需要准备以下几样东西:

Linux搭建服务器教程有哪些关键步骤?-图1
(图片来源网络,侵删)
  • 一台云服务器或物理机:
    • 云服务器(推荐): 可以从阿里云、腾讯云、AWS、Vultr、DigitalOcean 等平台购买,对于初学者,选择一个入门级的配置(如 1核CPU/2GB内存/40GB硬盘)就足够了。
    • 物理机: 如果你有一台闲置的电脑,可以安装 Ubuntu Server 版本。
  • 操作系统镜像:Ubuntu 官网 下载最新的 LTS (长期支持) 版本,Ubuntu 22.04.3 LTS。
  • SSH 客户端:
    • Windows 用户: 推荐使用 PuTTY (图形界面) 或 Windows 10/11 自带的 PowerShell/WSL (命令行)。
    • macOS / Linux 用户: 系统自带了强大的 ssh 命令行工具。
  • (可选但强烈推荐) SSH 密钥对: 为了安全,我们将使用 SSH 密钥而不是密码登录,你可以使用 PuTTY-Gen 或 ssh-keygen 命令来生成。

第一步:安装 Ubuntu Server 系统

这部分操作通常在云服务商的控制台或物理机上直接完成。

  1. 创建实例: 在云服务商控制台创建一个新的实例,选择 Ubuntu 22.04 LTS 镜像。
  2. 设置登录凭证: 强烈建议在这里设置 SSH 密钥,上传你之前生成的公钥,如果暂时没有,可以先设置一个强密码,之后立即在系统内修改。
  3. 配置网络: 确保安全组(防火墙)规则允许 SSH (22端口)HTTP (80端口)HTTPS (443端口) 的入站流量。
  4. 启动并连接: 启动实例后,获取它的公网 IP 地址。

使用 SSH 客户端连接到你的服务器:

# 格式: ssh 用户名@服务器IP地址
# 默认用户名为 'ubuntu'
ssh ubuntu@YOUR_SERVER_IP

首次连接会提示 The authenticity of host... can't be established,输入 yes 即可。


第二步:初始服务器配置

登录后,你会看到一个命令行界面,现在开始进行基础配置。

Linux搭建服务器教程有哪些关键步骤?-图2
(图片来源网络,侵删)

1 更新系统

确保所有软件包都是最新的,这是一个好习惯。

sudo apt update && sudo apt upgrade -y

2 设置静态 IP 地址

云服务器通常通过 DHCP 获取 IP,但为了稳定,最好在操作系统内部也设置一个静态 IP,编辑 Netplan 配置文件:

# 查找你的网络配置文件,通常是 ens 或 eth 开头
ls /etc/netplan/
# 假设文件是 01-netcfg.yaml
sudo nano /etc/netplan/01-netcfg.yaml
```如下,将 `addresses`、`gateway4` 和 `nameservers` 替换为你的实际网络信息:
```yaml
network:
  version: 2
  ethernets:
    ens33: # 替换为你的网卡名称
      dhcp4: no
      addresses:
        - 192.168.1.100/24 # 你想要的静态IP
      gateway4: 192.168.1.1 # 你的网关
      nameservers:
          addresses: [8.8.8.8, 1.1.1.1] # DNS服务器

保存并退出(Ctrl+XYEnter),然后应用配置:

sudo netplan apply

3 配置主机名

为主机设置一个易于识别的名称。

# 设置主机名
sudo hostnamectl set-hostname my-server
# 编辑 hosts 文件,确保 localhost 指向 127.0.0.1
sudo nano /etc/hosts
# 在文件中添加或修改 127.0.1.1 这一行
127.0.1.1 my-server

4 创建新用户并设置 SSH 密钥登录(安全重点)

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

  1. 创建新用户: 假设我们创建一个名为 deploy 的用户。

    sudo adduser deploy

    按照提示设置密码和用户信息。

  2. 赋予管理员权限:

    sudo usermod -aG sudo deploy

    这将把 deploy 用户添加到 sudo 组,使其能够执行需要管理员权限的命令。

  3. 设置 SSH 密钥登录(最关键的安全步骤):

    • 在本地机器上,将你的公钥(通常是 ~/.ssh/id_rsa.pub 文件内容)复制到服务器的 ~/.ssh/authorized_keys 文件中。
    • 在服务器上,为 deploy 用户创建 .ssh 目录和文件:
      # 切换到新用户
      su - deploy
      # 创建 .ssh 目录
      mkdir -p ~/.ssh
      # 创建并编辑 authorized_keys 文件
      nano ~/.ssh/authorized_keys
    • 将你的公钥粘贴到 authorized_keys 文件中,然后保存退出。
    • 设置正确的权限: 这一步非常重要,否则 SSH 密钥登录会失败。
      chmod 700 ~/.ssh
      chmod 600 ~/.ssh/authorized_keys
  4. 禁用 root SSH 登录:

    • 切换回 ubuntu 用户或直接使用 sudo
    • 编辑 SSH 配置文件:
      sudo nano /etc/ssh/sshd_config
    • 找到 PermitRootLogin 这一行,将其值改为 no
      PermitRootLogin no
    • 保存并退出,然后重启 SSH 服务:
      sudo systemctl restart sshd
  5. 测试新用户登录:

    • 退出当前 SSH 会话 (exit)。
    • 使用新用户名和密钥重新登录:
      ssh deploy@YOUR_SERVER_IP

      如果成功,说明安全配置已完成。

5 配置防火墙

使用 UFW (Uncomplicated Firewall) 来管理端口。

# 允许 SSH 连接 (默认已允许,但显式声明是好习惯)
sudo ufw allow OpenSSH
# 允许 HTTP (用于网站)
sudo ufw allow 'Apache Full' # 或者 'Nginx Full'
# 启用防火墙
sudo ufw enable
# 输入 'y' 确认

第三步:搭建 LEMP 环境

LEMP 是指 Linux + Nginx + MySQL + PHP,是目前最流行的 Web 服务器环境组合。

1 什么是 LAMP/LEMP?

  • LAMP: Linux + Apache + MySQL + PHP
  • LEMP: Linux + Nginx + MySQL + PHP
    • Nginx 比 Apache 在处理高并发静态资源时性能更优,配置也更灵活,我们选择 Nginx。

2 安装 Web 服务器

安装 Nginx:

sudo apt install nginx -y

安装完成后,Nginx 会自动启动,你可以通过浏览器访问你的服务器 IP 地址,如果看到 "Welcome to nginx!" 页面,说明安装成功。

3 安装数据库服务器

安装 MySQL:

sudo apt install mysql-server -y

安装完成后,运行安全脚本:

sudo mysql_secure_installation

按照提示操作:

  • 设置 root 用户的密码? -> Y,然后设置一个强密码。
  • 移除匿名用户? -> Y
  • 不允许 root 用户远程登录? -> Y (更安全)
  • 移除测试数据库? -> Y
  • 重新加载权限表? -> Y

4 安装 PHP 及相关扩展

安装 PHP 和一些常用的扩展(特别是 WordPress 需要的):

sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y
  • php-fpm (FastCGI Process Manager) 是 Nginx 与 PHP 通信的桥梁。

第四步:部署一个网站(WordPress 示例)

现在我们来搭建一个真正的网站。

1 创建数据库和用户

  1. 登录 MySQL:
    sudo mysql
  2. 执行以下 SQL 命令(请替换 wordpress_db, wordpress_user, 'your_strong_password' 为你自己的信息):
    CREATE DATABASE wordpress_db DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'your_strong_password';
    GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;

2 下载并配置 WordPress

  1. 下载 WordPress:

    cd /tmp
    wget https://wordpress.org/latest.tar.gz
    tar -xzvf latest.tar.gz
  2. 移动文件到网站根目录: Nginx 的默认网站根目录是 /var/www/html,我们将 WordPress 文件移动进去。

    sudo mv /tmp/wordpress/* /var/www/html/
  3. 配置 Nginx 虚拟主机: 创建一个新的配置文件来托管我们的 WordPress 站点。

    sudo nano /etc/nginx/sites-available/wordpress

    粘贴以下配置:

    server {
        listen 80;
        server_name YOUR_SERVER_IP; # 替换为你的域名或IP
        root /var/www/html;
        index index.php index.html index.htm;
        location / {
            try_files $uri $uri/ /index.php?$args;
        }
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # 注意:PHP版本号可能不同,如 php8.0-fpm.sock
        }
        location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
            expires max;
            log_not_found off;
        }
    }
    • server_name 可以是你的 IP 地址,也可以是已解析到该 IP 的域名。
    • fastcgi_pass 中的路径需要与你的 PHP 版本匹配,可以通过 ls /var/run/php/ 查看。
  4. 启用站点并测试配置:

    # 创建符号链接以启用站点
    sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
    # 删除默认站点(可选)
    sudo rm /etc/nginx/sites-enabled/default
    # 测试 Nginx 配置是否正确
    sudo nginx -t
    # 如果测试通过,重启 Nginx
    sudo systemctl restart nginx

3 设置文件权限

Web 服务器需要读取和写入 WordPress 文件。

# 将 /var/www/html 的所有权赋予 www-data 用户(Nginx 运行用户)
sudo chown -R www-data:www-data /var/www/html
# 设置正确的文件权限
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;

第五步:完成 WordPress 安装

打开浏览器,访问你的服务器 IP 地址,WordPress 的安装向导将会出现,按照提示操作:

  1. 选择语言。
  2. 在数据库设置页面,填入我们之前创建的信息:
    • 数据库名:wordpress_db
    • 用户名:wordpress_user
    • 密码:your_strong_password
    • 数据库主机:localhost
    • 表前缀:wp_ (默认即可)
  3. 点击“现在运行”。
  4. 设置站点标题、管理员用户名和密码,然后登录。

恭喜!你的 Linux Web 服务器已经成功搭建并运行了 WordPress!


常用维护与管理命令

  • 查看系统资源:

    htop # 需要安装 sudo apt install htop -y
    free -h
    df -h
  • 查看服务状态:

    sudo systemctl status nginx
    sudo systemctl status mysql
    sudo systemctl status php8.1-fpm # 根据你的版本号
  • 查看日志:

    # Nginx 访问日志
    sudo tail -f /var/log/nginx/access.log
    # Nginx 错误日志
    sudo tail -f /var/log/nginx/error.log
    # MySQL 错误日志
    sudo tail -f /var/log/mysql/error.log
  • 重启服务:

    sudo systemctl restart nginx

总结与后续学习

你已经成功完成了 Linux 服务器的搭建!这是一个坚实的基础,接下来的路还很长,你可以探索:

  • 域名与 HTTPS: 购买一个域名,并配置 DNS 指向你的服务器,然后使用 Let's EncryptCertbot 为你的网站免费安装 SSL 证书,实现 HTTPS 访问。
  • 性能优化: 配置 OPcache、启用 Nginx 的 Gzip 压缩、配置 Nginx 缓存等。
  • 备份策略: 定期备份你的网站文件和数据库。
  • 监控: 使用工具如 Prometheus + Grafana 或简单的 fail2ban 来监控系统状态和安全。
  • 容器化: 学习使用 DockerDocker Compose 来部署和管理你的应用,这是现代运维的必备技能。

希望这份教程对你有帮助!祝你玩得开心!

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