当前位置: 代码网 > 服务器>服务器>Linux > 在Linux系统上搭建Web服务器的方法步骤

在Linux系统上搭建Web服务器的方法步骤

2025年10月24日 Linux 我要评论
摘要对于许多开发者和技术爱好者而言,拥有一个属于自己的 web 服务器是迈向更广阔技术世界的第一步。它不仅是学习网络知识、托管个人博客、展示作品集的平台,更是理解互联网工作原理的绝佳实践。然而,面对

摘要

对于许多开发者和技术爱好者而言,拥有一个属于自己的 web 服务器是迈向更广阔技术世界的第一步。它不仅是学习网络知识、托管个人博客、展示作品集的平台,更是理解互联网工作原理的绝佳实践。然而,面对 linux 的命令行,许多新手可能会望而却步。本文旨在打破这一壁垒,提供一份超详细、步骤清晰、真正零门槛的 linux web 服务器搭建指南。我们将以当前最主流的两种 web 服务器软件 nginx 和 apache 为例,分别在两大主流 linux 发行版家族(基于 debian/ubuntu 和基于 rhel/centos)上进行实战演示。从系统更新、软件安装、防火墙配置,到部署第一个网页,每一步都配有详尽的命令和解释,确保即便您是第一次接触 linux,也能轻松跟上,成功点亮您的第一个网站。

一、引言:为何要在 linux 上搭建 web 服务器?

在当今这个时代,云服务器已经触手可及,价格也日益亲民。拥有一台 linux 云服务器,就如同拥有了一块数字世界的“自留地”,您可以在上面自由地构建和实验。而搭建 web 服务器,就是在这块土地上盖起第一座房子的过程。

为什么选择 linux?

  • 开源与免费:linux 内核及其上绝大多数的软件都是开源的,这意味着您可以免费使用,并且可以深入研究其源代码。
  • 稳定与安全:linux 以其卓越的稳定性和强大的安全模型著称,是全球绝大多数服务器的首选操作系统。
  • 高性能:linux 对系统资源的有效管理使其能够提供优异的性能,非常适合运行需要7x24小时不间断服务的 web 应用。
  • 强大的社区支持:遇到任何问题,您都可以在庞大的全球社区中找到答案和帮助。

本文将聚焦于两款最受欢迎的 web 服务器软件:

  1. nginx:发音为 “engine-x”,以其高性能、高并发和低资源消耗而闻名,特别擅长处理静态文件和作为反向代理。
  2. apache http server:一款老牌、稳定且功能极其丰富的 web 服务器,拥有庞大的模块生态系统,配置灵活,兼容性好。

我们将分别介绍如何在以下两种主流 linux 发行版上安装它们,您可以根据自己的服务器系统选择对应的教程:

  • ubuntu 22.04 (代表 debian 家族)
  • centos stream 9 (代表 rhel/fedora 家族)

准备好了吗?让我们开始这段激动人心的旅程吧!

二、准备工作:连接并更新你的服务器

在开始安装任何软件之前,我们需要先通过 ssh (secure shell) 登录到您的 linux 服务器,并执行一次全面的系统更新。这是一个至关重要的好习惯,可以确保系统中的所有软件包都处于最新状态,修复已知的安全漏洞。

通过 ssh 连接服务器

您需要一个 ssh 客户端。在 windows 10/11 上,您可以使用 powershell 或命令提示符;在 macos 和 linux 上,可以直接使用终端。命令格式如下:

ssh username@your_server_ip

首次连接时,系统会提示您确认主机的真实性,输入 yes 并回车即可。然后输入您的密码,登录成功后,您将看到服务器的命令行欢迎信息。

  • username:通常是 root 或您在创建服务器时设置的用户名。
  • your_server_ip:您服务器的公网 ip 地址。

更新系统软件包

  • 在 ubuntu / debian 上:
# 更新可用软件包列表
sudo apt update

# 升级所有已安装的软件包到最新版本
sudo apt upgrade -y

sudo 命令用于以管理员(root)权限执行命令。-y 标志会自动对所有提示回答“是”。

  • 在 centos / rhel / fedora 上:
# 更新所有已安装的软件包到最新版本
sudo dnf update -y

在较旧的 centos 7 等版本中,使用的命令是 yum 而不是 dnf

完成以上步骤后,您的服务器就已经处在一个干净且最新的状态,可以开始安装 web 服务器软件了。

三、方案一:搭建 nginx web 服务器

nginx 是现代 web 架构的宠儿,我们将先介绍如何安装和配置它。

3.1 在 ubuntu 22.04 上安装 nginx

ubuntu 的官方软件仓库中包含了 nginx,安装过程非常直接。

安装 nginx

sudo apt install nginx -y

配置防火墙

ubuntu 默认使用 ufw (uncomplicated firewall) 作为防火墙管理工具。我们需要允许外部流量访问 web 服务器的端口。

# 查看 ufw 为 nginx 预设的配置方案
sudo ufw app list

您会看到类似 nginx http, nginx https, nginx full 的选项。

# 仅允许 http 流量 (端口 80)
sudo ufw allow 'nginx http'

# 启用防火墙 (如果尚未启用)
sudo ufw enable

# 查看防火墙状态,确认规则已生效
sudo ufw status

输出应该会显示 nginx http 规则处于 allow 状态。

管理 nginx 服务

安装完成后,nginx 服务通常会自动启动。您可以使用 systemctl 命令来管理它。

# 检查 nginx 服务状态
sudo systemctl status nginx

# 如果服务未运行,手动启动
# sudo systemctl start nginx

# 设置 nginx 开机自启
sudo systemctl enable nginx

验证安装

现在,打开您的本地浏览器,在地址栏输入您服务器的公网 ip 地址:http://your_server_ip。如果一切顺利,您将看到 nginx 的默认欢迎页面!

3.2 在 centos stream 9 上安装 nginx

在 centos stream 9 上安装 nginx 同样简单。

安装 nginx

sudo dnf install nginx -y

配置防火墙

centos 默认使用 firewalld 作为防火墙。

# 永久允许 http (端口 80) 和 https (端口 443) 流量
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

# 重新加载防火墙配置以使规则生效
sudo firewall-cmd --reload

管理 nginx 服务

# 启动 nginx 服务
sudo systemctl start nginx

# 设置 nginx 开机自启
sudo systemctl enable nginx

# 检查服务状态
sudo systemctl status nginx

验证安装

同样地,在浏览器中访问 http://your_server_ip。您应该能看到 centos 上的 nginx 欢迎页面。

四、方案二:搭建 apache web 服务器

apache 历史悠久,社区庞大,资料丰富,是新手入门的另一个绝佳选择。

4.1 在 ubuntu 22.04 上安装 apache

安装 apache

在 ubuntu 上,apache 的软件包名为 apache2

sudo apt install apache2 -y

配置防火墙

ufw 同样为 apache 提供了预设配置。

# 查看预设方案
sudo ufw app list

# 允许 apache 的 http 流量
sudo ufw allow 'apache'

# 查看防火墙状态
sudo ufw status

管理 apache 服务

# 检查 apache 服务状态
sudo systemctl status apache2

# 设置开机自启
sudo systemctl enable apache2

验证安装

打开浏览器,访问 http://your_server_ip。您将看到 apache 在 ubuntu 上的默认页面,它会告诉您配置文件的位置等信息。

4.2 在 centos stream 9 上安装 apache

安装 apache

在 centos/rhel 家族中,apache 的软件包名为 httpd

sudo dnf install httpd -y

配置防火墙

这与 nginx 在 centos 上的防火墙配置完全相同。如果您之前已经为 nginx 配置过,则无需重复操作。

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

管理 apache 服务

# 启动 httpd 服务
sudo systemctl start httpd

# 设置开机自启
sudo systemctl enable httpd

# 检查服务状态
sudo systemctl status httpd

验证安装

浏览器访问 http://your_server_ip,您会看到由 centos 提供的 apache 测试页面。

五、部署你的第一个网页

现在服务器已经运行起来了,但它只显示默认页面。让我们用一个自定义的 “hello, world!” 页面来替换它。

web 服务器从一个特定的目录中读取文件并将其提供给访问者,这个目录被称为 web 根目录 (web root)

  • nginx 的默认 web 根目录: /usr/share/nginx/html/
  • apache (ubuntu) 的默认 web 根目录: /var/www/html/
  • apache (centos) 的默认 web 根目录: /var/www/html/

创建 html 文件

我们将使用 nano 这个简单易用的命令行文本编辑器来创建一个 index.html 文件。当然,您也可以使用 vim

首先,为了避免权限问题,我们直接切换到 root 用户操作(实际生产环境不推荐,但对于初学者练习来说最简单)。

sudo -i

现在,根据您安装的服务器和系统,进入对应的目录并创建文件。

示例:以 nginx on ubuntu 为例

# 进入 web 根目录
cd /usr/share/nginx/html/

# (可选) 备份默认文件
mv index.nginx-debian.html index.nginx-debian.html.bak

# 创建并编辑新的 index.html 文件
nano index.html

编写 html 内容

在打开的 nano 编辑器中,粘贴以下简单的 html 代码:

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>welcome to my server!</title>
    <style>
        body { 
            font-family: sans-serif; 
            display: flex; 
            justify-content: center; 
            align-items: center; 
            height: 100vh; 
            background-color: #2c3e50; 
            color: #ecf0f1; 
            margin: 0;
        }
        h1 { 
            font-size: 3em; 
            text-shadow: 2px 2px 4px #000;
        }
    </style>
</head>
<body>
    <h1>hello, world! my web server is running!</h1>
</body>
</html>

保存并退出

  • nano 中,按下 ctrl + x
  • 它会询问您是否保存,按下 y
  • 最后按下 enter 确认文件名。

刷新浏览器

现在,回到您的浏览器,刷新 http://your_server_ip 页面。您应该能看到您刚刚创建的 “hello, world!” 页面了!

总结

恭喜你!通过遵循本指南,您已经成功地在 linux 服务器上搭建起了自己的 web 服务器,并部署了第一个自定义网页。我们回顾一下核心步骤:

  1. 连接与准备:通过 ssh 登录服务器,并使用 aptdnf 更新系统,这是保证系统安全和稳定的基础。
  2. 选择与安装:我们演示了如何在 ubuntu 和 centos 上安装 nginx 和 apache 这两款主流的 web 服务器软件。
  3. 防火墙配置:学习了如何使用 ufwfirewalld 为 web 服务打开必要的 http/https 端口,这是让外界能够访问您网站的关键一步。
  4. 服务管理:掌握了使用 systemctl 来启动、停止、重启、设置开机自启和检查服务状态,这是服务器日常运维的基本技能。
  5. 内容部署:了解了 web 根目录的概念,并成功创建并部署了一个简单的 html 页面。

这仅仅是一个开始。从这里出发,您可以继续探索更多高级主题,例如:

  • 配置虚拟主机,在同一台服务器上托管多个不同的网站。
  • 安装 php、mysql/mariadb,搭建经典的 lamp 或 lemp 环境以支持动态 网站(如 wordpress)。
  • 申请并配置 ssl 证书,启用 https,保障网站数据传输安全。
  • 学习 nginx/apache 的高级配置,实现负载均衡、反向代理等功能。

希望这篇指南能为您打开一扇通往 linux 和 web 开发世界的大门。记住,动手实践是最好的学习方式。不断尝试,不断探索,您将收获更多。

以上就是在linux系统上搭建web服务器的方法步骤的详细内容,更多关于linux搭建web服务器的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com