Инициализация проекта
Стабильный рабочий проект.
This commit is contained in:
46
Backend/admin/go/admin_server.go
Normal file
46
Backend/admin/go/admin_server.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
command "vServer/Backend/admin/go/command"
|
||||
config "vServer/Backend/config"
|
||||
tools "vServer/Backend/tools"
|
||||
)
|
||||
|
||||
var adminServer *http.Server
|
||||
|
||||
// Запуск Admin сервера
|
||||
func StartAdmin() {
|
||||
|
||||
// Получаем значения из конфига во время выполнения
|
||||
port_admin := config.ConfigData.Soft_Settings.Admin_port
|
||||
host_admin := config.ConfigData.Soft_Settings.Admin_host
|
||||
|
||||
if tools.Port_check("ADMIN", host_admin, port_admin) {
|
||||
return
|
||||
}
|
||||
|
||||
// Создаем оптимизированный мультиплексор для админ сервера
|
||||
mux := http.NewServeMux()
|
||||
|
||||
// Регистрируем специализированные обработчики (быстрая маршрутизация)
|
||||
mux.HandleFunc("/api/", command.ApiHandler) // API эндпоинты
|
||||
mux.HandleFunc("/json/", command.JsonHandler) // JSON данные
|
||||
mux.HandleFunc("/service/", command.ServiceHandler) // Сервисные команды POST
|
||||
mux.HandleFunc("/", command.StaticHandler) // Статические файлы
|
||||
|
||||
// Создаем Admin сервер (только localhost для безопасности)
|
||||
adminServer = &http.Server{
|
||||
Addr: host_admin + ":" + port_admin,
|
||||
Handler: mux,
|
||||
}
|
||||
|
||||
tools.Logs_file(0, "ADMIN", "🛠️ Admin панель запущена на порту "+port_admin, "logs_http.log", true)
|
||||
|
||||
if err := adminServer.ListenAndServe(); err != nil {
|
||||
// Игнорируем нормальную ошибку при остановке сервера
|
||||
if err.Error() != "http: Server closed" {
|
||||
tools.Logs_file(1, "ADMIN", "❌ Ошибка запуска админ сервера: "+err.Error(), "logs_http.log", true)
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user