最简单的内网导航网站

随着业务系统的增长,运维工具的增多,我们经常需要访问监控页面、ssh登录机器,需要记住很多常用信息,但是这些信息不值得占用宝贵的大脑资源,只需要存储下来用的时候访问即可。

我们需要一个超简单的导航网站。

最简单的静态网站实现

如何最简单地实现一个静态的网站?不要任何多余的东西。

最好几行代码实现服务,向外提供一个html文件访问服务。新增内容时候,只需要添加到html文件即可。

这时候就要介绍一下python3的HTTP server。

在控制台执行:

1
python -m http.server

就可以看到Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) … ,python启动了一个http server端口默认是8000。访问loalhost:8000可以看到当前目录的文件列表。

我们就通过pyhton 的http server 来实现这个最简单的内网导航。

小项目就叫my123吧,项目只有2个文件,server.py和index.html。

服务代码server.py很简单:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#coding=utf-8

from http.server import HTTPServer, BaseHTTPRequestHandler
from os import curdir, sep

class MyRequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
if self.path=="/index.html" or self.path=='/':
file = open(curdir+sep +'index.html')
self.send_response(200)
self.send_header('Content-Type', 'text/html;charset=utf-8')
self.end_headers()
self.wfile.write(bytes(file.read(),'utf-8'))
file.close()

server = HTTPServer(('0.0.0.0', 8123), MyRequestHandler)
server.serve_forever()

主要逻辑就有访问/index.html或者/的时候,读取当前目录下的index.html文件,将内容返回。

index.html文件的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html>

<head>
<meta charset="UTF-8">
<title>常用网址导航</title>
</head>

<body>

<h2>监控</h2>

<a href="http://your.server.name.com" target="view_window">A服务监控</a>
</br>

<a href="http://your.server2.name.com" target="view_window">B服务监控</a>
</br>

...

</br></br></br></br>

</body>
</html>

就是简单的html内容,连CSS都没有。简单粗暴。

调用命令启动:

1
python server.py

搞定。