(Ubuntu)如何确保在显示桌面环境之前 Web 服务器已经启动?

(Ubuntu)如何确保在显示桌面环境之前 Web 服务器已经启动?

我正在尝试以 LiveCD 格式创建自己的 Linux 发行版。我已将 Web 服务器放入 Linux LiveCD 中,并使其在启动时自动启动。

我已经制作了 LiveCD 自动登录桌面环境,而不需要用户输入密码。

现在,我想配置 Web 浏览器,使其在启动时自动弹出并显示 Web 服务器的主页。

我尝试过不同的方法,但我发现当用户启动 LiveCD 时,大多数情况下桌面环境和 Web 浏览器会在 Web 服务器启动完成之前显示。因此,Web 浏览器将显示错误页面“网页未找到/不可用”。

几秒钟后(网络服务器启动完成后),如果用户点击刷新按钮,他们将能够看到主页。

如何确保在向用户显示桌面环境之前 Web 服务器已经启动?

谢谢。

答案1

例如,您可以使用如下脚本:

    #!/bin/bash

    # Check existence of webserver pidfile
    pidfile="/var/run/nginx.pid"

    if [ -f $pidfile ]; then
            echo "Pidfile exists"
            < OPEN BROWSER >
    else
            echo "Web Server isn't started"
    fi

答案2

与@hangover 发布的脚本类似的 shell 脚本可以起作用。

如果这只是一场大约几秒钟的比赛,那么另一种方法是创建一个本地 HTML 文件,并将其设置为 Web 浏览器的启动页,路径如下file:///var/www/html/localhost/startingup.html。页面本身会显示“请稍候,我正在完成启动,这只需要片刻”,然后在 30 秒后转发到您的实际网页。

<html>
<head>
     <title>Starting up...</title>
     <meta http-equiv="refresh" content="30; http://your.actual.page/">
</head>
<body>
     <h1>Please wait, I'm still starting up.</h1>
</body>
</html>

相关内容