0Pricing
Linux Server Deployment & SSH Mastery · 课时

托管静态网站

配置您选择的 Web 服务器,使其提供静态 HTML、CSS 和 JavaScript 文件,让您的第一个网站能够访问。

托管静态网站 是 CoddyKit 上的免费 Linux Server Deployment & SSH Mastery 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Linux Server Deployment & SSH Mastery 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Linux Server Deployment & SSH Mastery 课程共包含 4 节课。

什么是静态 website

欢迎!本课将学习如何让您的简单 website 上线。

静态 website由 HTML、CSS 和 JavaScript 等文件组成,服务器会按照文件原样将它们发送到用户的浏览器。

  • 没有服务器端处理(例如 PHP 或 Python)。
  • 速度快、安全且易于托管。
  • 非常适合作品集、博客或简单的信息类网站。

创建您的第一个 HTML 文件

让我们创建一个非常简单的 index.html 文件。它将作为静态 website 的主页。

通常,您会在服务器上创建此文件,例如使用 nano 或 vim 等文本编辑器。

<!DOCTYPE html>
<html>
<head>
  <title>My First Static Site</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <h1>Hello CoddyKit!</h1>
  <p>This is my awesome static website.</p>
  <script src="script.js"></script>
</body>
</html>

添加 CSS 和 JavaScript

我们的 HTML 文件引用了 style.css 和 script.js。让我们也创建这两个文件,完成基础 website。

这些文件将与 index.html 位于同一目录中。

/* style.css */
body {
  font-family: sans-serif;
  background-color: #f0f0f0;
  text-align: center;
}
h1 {
  color: #333;
}

// script.js
document.addEventListener('DOMContentLoaded', () => {
  console.log('Website loaded!');
  alert('Welcome to my site!');
});

设置 Web 目录

我们需要在服务器上准备一个专用位置,用于存放这些 website 文件。常见位置是 /var/www/。

首先,为您的 website 创建一个目录。然后,将 index.html、style.css 和 script.js 文件复制到其中。

sudo mkdir -p /var/www/mywebsite
sudo cp index.html /var/www/mywebsite/
sudo cp style.css /var/www/mywebsite/
sudo cp script.js /var/www/mywebsite/

# Set proper permissions
sudo chown -R www-data:www-data /var/www/mywebsite
sudo chmod -R 755 /var/www/mywebsite

Nginx:服务器块基础

Nginx 使用服务器块(类似于 Apache 的虚拟主机)为特定 website 定义配置。

每个服务器块都会监听某个端口上的请求(例如 HTTP 使用的 80 端口),并根据域名做出响应。

  • 通常位于 /etc/nginx/sites-available/。
  • 通过创建指向 /etc/nginx/sites-enabled/ 的符号链接来启用。

Nginx:根目录与索引指令

在服务器块中,有两个关键指令用于告诉 Nginx 在哪里查找文件:

  • root:指定 website 文件的绝对路径,Nginx 会在此处查找内容。
  • index:定义请求目录时 Nginx 应提供的默认文件(例如,当有人访问 yourdomain.com/ 时,Nginx 会查找 index.html)。

Nginx:完整的静态网站配置

下面是静态 website 的完整 Nginx 服务器块配置。请将其保存为 /etc/nginx/sites-available/mywebsite.conf。

请记得将 your_domain.com 替换为您的实际域名或服务器 IP。

server {
  listen 80;
  listen [::]:80;

  server_name your_domain.com www.your_domain.com;

  root /var/www/mywebsite;
  index index.html index.htm;

  location / {
    try_files $uri $uri/ =404;
  }
}

Apache:对应的虚拟主机配置

如果您使用 Apache,则可以通过虚拟主机实现类似配置。您需要创建一个配置文件(例如 /etc/apache2/sites-available/mywebsite.conf)。

主要指令是 DocumentRoot(相当于 Nginx 的 root)和 DirectoryIndex(相当于 Nginx 的 index)。

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  ServerName your_domain.com
  ServerAlias www.your_domain.com

  DocumentRoot /var/www/mywebsite
  DirectoryIndex index.html index.htm

  <Directory /var/www/mywebsite>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

启用并重新加载服务器

创建配置文件后,您需要启用它并重新加载 Web 服务器,配置更改才会生效。

  • 对于 Nginx:创建符号链接并重新加载。
  • 对于 Apache:启用 website 并重新加载。
# For Nginx:
sudo ln -s /etc/nginx/sites-available/mywebsite.conf /etc/nginx/sites-enabled/
sudo nginx -t # Test config syntax
sudo systemctl reload nginx

# For Apache:
sudo a2ensite mywebsite.conf
sudo apache2ctl configtest # Test config syntax
sudo systemctl reload apache2

测试上线的 website

做得很好!您的静态 website 现在应该可以访问了。

打开 Web 浏览器,访问服务器的 IP 地址或您配置的域名。

您应该会看到“Hello CoddyKit!”消息!

快速检查:Nginx 指令

请考虑下面的 Nginx 服务器块片段:

server {
  listen 80;
  server_name example.com;
  root /var/www/html/blog;
  index landing.html index.htm;

  location / {
    try_files $uri $uri/ =404;
  }
}

如果用户访问 http://example.com/,Nginx 会首先尝试提供哪个文件?

回顾:托管静态网站

您已经成功学会了如何托管静态 website!

我们学习了:

  • 创建基础 HTML、CSS 和 JS 文件。
  • 为 website 内容设置专用目录。
  • 使用 root/DocumentRoot 和 index/DirectoryIndex 配置 Nginx 服务器块(或 Apache 虚拟主机)。
  • 启用并重新加载 Web 服务器。
  • 在浏览器中测试上线的 website。

接下来,我们将探索如何配置虚拟主机,以便在同一台服务器上托管多个 website!

常见问题解答

「托管静态网站」课时是免费的吗?

是的 — 「托管静态网站」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Linux Server Deployment & SSH Mastery 课程的其余内容,请升级到 CoddyKit PRO。 Linux Server Deployment & SSH Mastery 课程共包含 4 节课。

「托管静态网站」这节课中我会学到什么?

配置您选择的 Web 服务器,使其提供静态 HTML、CSS 和 JavaScript 文件,让您的第一个网站能够访问。 你通过在浏览器中直接运行的动手代码来练习 Linux Server Deployment & SSH Mastery,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Linux Server Deployment & SSH Mastery 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Linux Server Deployment & SSH Mastery 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「托管静态网站」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Linux Server Deployment & SSH Mastery 课中编写并运行代码吗?

能。每节 Linux Server Deployment & SSH Mastery 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 安装 Nginx/Apache
  2. 托管静态网站
  3. 虚拟主机基础配置
  4. 使用 Let's Encrypt 启用 HTTPS
← 返回 Linux Server Deployment & SSH Mastery