HTML本身是静态标记语言,无法直接独立在服务器端持续运行,需要借助Web服务器软件或者后端运行时环境来托管HTML文件,实现服务的长期稳定运行。不同的部署方案适配不同的使用场景,下面介绍几种常用的实现方法。

使用Nginx托管静态HTML实现持续运行
Nginx是高性能的Web服务器,适合托管静态HTML文件,配置完成后可以长期稳定运行,是部署静态HTML的常用方案。
安装Nginx
以Ubuntu系统为例,执行以下命令安装:
# 更新软件源 sudo apt update # 安装Nginx sudo apt install nginx -y
配置HTML目录
将需要部署的HTML文件放到Nginx默认的静态资源目录/var/www/html,或者自定义目录并修改Nginx配置文件。假设自定义目录为/home/html_project,修改/etc/nginx/sites-available/default配置:
server {
listen 80;
server_name _;
# 静态资源根目录
root /home/html_project;
# 默认访问文件
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
启动并设置开机自启
修改配置后测试配置是否正确,然后重启Nginx并设置开机自启,保障服务器重启后服务自动运行:
# 测试Nginx配置 sudo nginx -t # 重启Nginx sudo systemctl restart nginx # 设置开机自启 sudo systemctl enable nginx
使用Node.js配合Express托管HTML
如果需要在服务端做一些简单的逻辑处理,也可以使用Node.js的Express框架托管HTML文件,同时需要配合进程守护工具保障服务持续运行。
初始化项目并安装依赖
执行以下命令初始化项目并安装Express:
# 初始化Node.js项目 npm init -y # 安装Express npm install express --save
编写服务代码
创建app.js文件,代码如下:
const express = require('express');
const path = require('path');
const app = express();
const port = 3000;
// 托管静态HTML目录,假设HTML文件放在当前目录的html文件夹下
app.use(express.static(path.join(__dirname, 'html')));
// 启动服务
app.listen(port, () => {
console.log(`HTML服务运行在端口 ${port}`);
});
使用PM2做进程守护
Node.js进程如果意外退出会导致服务中断,使用PM2工具可以守护进程,保障服务持续运行:
# 全局安装PM2 npm install pm2 -g # 用PM2启动服务 pm2 start app.js --name html_server # 设置PM2开机自启 pm2 startup pm2 save
使用Apache托管静态HTML
Apache也是常用的Web服务器,同样可以托管HTML实现持续运行,配置方式如下:
安装Apache
sudo apt update sudo apt install apache2 -y
部署HTML文件
将HTML文件放到Apache的默认静态目录/var/www/html即可,Apache默认会自动托管该目录下的文件。如果需要修改目录,可以修改/etc/apache2/sites-available/000-default.conf中的DocumentRoot配置。
启动并设置自启
# 重启Apache sudo systemctl restart apache2 # 设置开机自启 sudo systemctl enable apache2
注意事项
- 部署前需要确认服务器防火墙开放了对应的端口,比如Nginx默认使用80端口,Node.js示例中使用3000端口,需要提前放行对应端口访问权限。
- 如果使用云服务器,还需要在云服务商的安全组中开放对应端口,否则外部用户无法访问。
- 定期查看服务器日志,排查可能的访问异常或者服务中断问题,保障服务稳定运行。
- 静态HTML文件如果涉及更新,替换文件后如果是Nginx或Apache托管,一般无需重启服务即可生效,Node.js托管的话如果修改了静态文件也无需重启,修改了服务代码才需要重启进程。