如何建立返回服务器列表?

要返回服务器列表,通常涉及后端API开发、数据库设计以及前端展示,以下是一个完整的实现方案,包括技术选型、数据库设计、API开发和前端调用:

一、技术栈选择

返回服务器列表怎么建

1、后端框架:Python Flask(轻量级,适合快速开发)

2、数据库:SQLite(简单)或 MySQL(生产环境推荐)

3、前端:HTML + JavaScript(使用Fetch API调用接口)

二、数据库设计(SQLite示例)

创建servers 表存储服务器信息:

CREATE TABLE servers (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    ip_address TEXT NOT NULL,
    status TEXT CHECK(status IN ('online', 'offline', 'maintenance')) DEFAULT 'online',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

三、后端实现(Flask)

安装依赖

pip install flask flask-sqlalchemy

创建 `app.py`

from flask import Flask, jsonify, request
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///servers.db'
db = SQLAlchemy(app)
定义数据模型
class Server(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), nullable=False)
    ip_address = db.Column(db.String(15), nullable=False)
    status = db.Column(db.String(20), default='online')
创建数据库表
@app.before_first_request
def create_tables():
    db.create_all()
获取所有服务器列表
@app.route('/api/servers', methods=['GET'])
def get_servers():
    servers = Server.query.all()
    return jsonify([{
        'id': s.id,
        'name': s.name,
        'ip_address': s.ip_address,
        'status': s.status
    } for s in servers])
添加新服务器(可选)
@app.route('/api/servers', methods=['POST'])
def add_server():
    data = request.json
    new_server = Server(
        name=data['name'],
        ip_address=data['ip_address'],
        status=data.get('status', 'online')
    )
    db.session.add(new_server)
    db.session.commit()
    return jsonify({'message': 'Server added!'}), 201
if __name__ == '__main__':
    app.run(debug=True)

四、前端调用示例

创建index.html 展示服务器列表:

返回服务器列表怎么建
<!DOCTYPE html>
<html>
<head>
    <title>服务器列表</title>
    <style>
        table { border-collapse: collapse; width: 80%; margin: 20px auto; }
        th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
        .online { color: green; }
        .offline { color: red; }
        .maintenance { color: orange; }
    </style>
</head>
<body>
    <h1 style="text-align: center;">服务器列表</h1>
    <table id="serverTable">
        <thead>
            <tr>
                <th>ID</th>
                <th>服务器名称</th>
                <th>IP地址</th>
                <th>状态</th>
            </tr>
        </thead>
        <tbody></tbody>
    </table>
    <script>
        // 从API获取服务器数据
        fetch('http://localhost:5000/api/servers')
            .then(response => response.json())
            .then(servers => {
                const tbody = document.querySelector('#serverTable tbody');
                servers.forEach(server => {
                    const row = document.createElement('tr');
                    row.innerHTML = `
                        <td>${server.id}</td>
                        <td>${server.name}</td>
                        <td>${server.ip_address}</td>
                        <td class="${server.status}">${server.status}</td>
                    `;
                    tbody.appendChild(row);
                });
            })
            .catch(error => console.error('Error:', error));
    </script>
</body>
</html>

五、运行步骤

1、启动后端

   python app.py

访问接口:http://localhost:5000/api/servers

2、访问前端页面

直接打开index.html 文件(需与后端同源或解决跨域问题)

六、高级功能扩展

1、分页查询:在API中添加?page=1&per_page=10 参数

返回服务器列表怎么建

2、状态过滤/api/servers?status=online

3、身份验证:使用JWT保护API

4、实时更新:WebSocket推送服务器状态变化

5、部署生产:使用Nginx + Gunicorn部署Flask应用

七、解决跨域问题(如需要)

在Flask中添加CORS支持:

from flask_cors import CORS
CORS(app)  # 允许所有域名跨域

最终效果

- 访问index.html 页面将展示表格形式的服务器列表

- 不同状态(online/offline/maintenance)显示不同颜色

- 后端API提供数据支持,可自由扩展功能

通过以上步骤,你已实现了一个完整的服务器列表系统!

文章摘自:https://idc.huochengrm.cn/fwq/13335.html

评论

精彩评论
  • 2025-08-16 10:22:24

    如何建立返回服务器列表?需先确定服务器信息,再编写查询接口,最后实现接口调用以返回服务器列表。