在 Debian 上部署 sqladmin(通常指基于 Web 的 SQL 管理工具,如 sql-admin / SQLAdmin / Adminer / phpMyAdmin 等)有几种常见方式。下面我以两种最典型场景说明,你可以按需选择。
Adminer 是一个单文件的数据库管理工具,支持 MySQL / PostgreSQL / SQLite 等。
sudo apt update
sudo apt install -y nginx php-fpm php-mysql
sudo mkdir -p /var/www/sqladmin
cd /var/www/sqladmin
sudo wget https://www.adminer.org/latest.php -O adminer.php
sudo nano /etc/nginx/sites-available/sqladmin
示例配置:
server {
listen 80;
server_name sqladmin.example.com;
root /var/www/sqladmin;
index adminer.php;
location / {
try_files $uri $uri/ /adminer.php;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
}
启用站点:
sudo ln -s /etc/nginx/sites-available/sqladmin /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
访问:
http://服务器IP/adminer.php
SQLAdmin 是基于 FastAPI + SQLAlchemy 的 Admin 面板。
sudo apt update
sudo apt install -y python3 python3-venv python3-pip nginx
mkdir sqladmin && cd sqladmin
python3 -m venv venv
source venv/bin/activate
pip install fastapi uvicorn sqladmin sqlalchemy
from fastapi import FastAPI
from sqladmin import Admin, ModelView
from sqlalchemy import create_engine
from sqlalchemy.orm import declarative_base
app = FastAPI()
engine = create_engine("sqlite:///./test.db")
Base = declarative_base()
admin = Admin(app, engine)
@app.get("/")
def home():
return {"msg": "SQLAdmin running"}
uvicorn app:app --host 0.0.0.0 --port 8000
location / {
proxy_pass http://127.0.0.1:8000;
}
如果你能告诉我:
我可以给你更精确的部署方案。