All Projects → v55448330 → Lazy Balancer

v55448330 / Lazy Balancer

nginx for balancer web ui

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Lazy Balancer

portal
An api-driven, in-kernel layer 2/3 load balancer.
Stars: ✭ 101 (-79.76%)
Mutual labels:  load-balancer, balancer
Reading
整理阅读过的干货文章, 帖子
Stars: ✭ 318 (-36.27%)
Mutual labels:  tcp, nginx
jrinetd
Jrinetd is a network TCP port redirector/forward proxy (like rinetd) with extra features like connection Failover, LoadBalancing and Clustering. In pure Java (NIO)
Stars: ✭ 20 (-95.99%)
Mutual labels:  tcp, load-balancer
Django Celery Docker Example
Example Docker setup for a Django app behind an Nginx proxy with Celery workers
Stars: ✭ 149 (-70.14%)
Mutual labels:  django, nginx
Docker Django
A complete docker package for deploying django which is easy to understand and deploy anywhere.
Stars: ✭ 378 (-24.25%)
Mutual labels:  django, nginx
Docker Django
A project to get you started with Docker and Django.
Stars: ✭ 170 (-65.93%)
Mutual labels:  django, nginx
Awesome Programming Books
📚 经典技术书籍推荐,持续更新...
Stars: ✭ 3,472 (+595.79%)
Mutual labels:  tcp, nginx
Docker Nginx Postgres Django Example
Example using Docker, Django, multiple Postgres databases, NginX, Gunicorn, pipenv, GitLab CI and tox.
Stars: ✭ 110 (-77.96%)
Mutual labels:  django, nginx
Loadcat
NGINX load balancer configurator
Stars: ✭ 356 (-28.66%)
Mutual labels:  balancer, nginx
Autoops
linux资产管理,cmdb,django, webssh,运维管理平台,数据库操作平台 本项目已停止开发!因长时间未对代码进行维护,可能会造成项目在不同环境上无法部署、运行BUG等问题,请知晓!项目仅供参考!
Stars: ✭ 340 (-31.86%)
Mutual labels:  django, nginx
Dailyfresh
Django-天天生鲜电商学习项目
Stars: ✭ 127 (-74.55%)
Mutual labels:  django, nginx
Django React Boilerplate
DIY Django + React Boilerplate for starting your SaaS
Stars: ✭ 385 (-22.85%)
Mutual labels:  django, nginx
Django Microservices
UNMAINTAINED
Stars: ✭ 124 (-75.15%)
Mutual labels:  django, nginx
Opensa
资产管理、资产采集、灰度发布、反向代理、批量任务、任务编排、计划任务、日志审计、权限管理、角色管理、部门管理、运维自动化
Stars: ✭ 220 (-55.91%)
Mutual labels:  django, nginx
Hydroshare
HydroShare is a collaborative website for better access to data and models in the hydrologic sciences.
Stars: ✭ 117 (-76.55%)
Mutual labels:  django, nginx
Nixy
nixy - nginx auto configuration and service discovery for Mesos/Marathon
Stars: ✭ 259 (-48.1%)
Mutual labels:  load-balancer, nginx
Opman Django
💯✅自动化运维平台:CMDB、CI/CD、DevOps、资产管理、任务编排、持续交付、系统监控、运维管理、配置管理
Stars: ✭ 539 (+8.02%)
Mutual labels:  django, nginx
Generic django project
starting point for a new Django site (with FeinCMS, deployable on Nginx using Fabric)
Stars: ✭ 76 (-84.77%)
Mutual labels:  django, nginx
Docker Django Nginx Uwsgi Postgres Tutorial
Docker + Django + Nginx + uWSGI + Postgres 基本教學 - 從無到有 ( Docker + Django + Nginx + uWSGI + Postgres Tutorial )
Stars: ✭ 334 (-33.07%)
Mutual labels:  django, nginx
Notebook
🍎 笔记本
Stars: ✭ 381 (-23.65%)
Mutual labels:  tcp, nginx

Lazy-Balancer

项目起源于好哥们需要一个 7 层负载均衡器,无奈商业负载均衡器成本高昂,操作复杂。又没有特别喜欢(好看,好用)的开源产品,作为一名大 Ops 怎么能没有办法?正好最近在看 Django 框架,尝试自己给 Nginx 画皮,项目诞生!非专业开发,代码凑合看吧。

  • 项目基于 Django + AdminLTE 构建,在 Ubuntu 18.04 上测试通过;为了保证良好的兼容性,请使用 Chrome 浏览器。
  • 为了后续扩展方便,请大家使用 Tengine 替代 Nginx 服务

项目地址

更新(2020-01-21)

  • 从该版本开始,将尝试部分功能 API 化,更多 API 文档见 /api/docs
  • 尝试将 Python 更新至 Python3
  • 修复 TCP 模式下端口占用检测无效的问题

更新(2019-11-22)

  • 新增 TCP 负载均衡支持
  • 新增配置同步功能
  • 支持后端服务器为 HTTPS 协议,当后端为 HTTPS 协议时,HTTP 健康检测将使用发送 SSL Hello 包的方式
  • 支持域名后端,配置为域名后端时禁用节点配置
  • 新增 HTTP/2,Gzip 等配置
  • 增加 Docker 支持
  • 去除原 iptables 防火墙管理功能
  • 当协议为 HTTP/HTTPS 时,允许用户自定义 Server 级别 Nginx 配置
  • 当协议为 HTTP/HTTPS 时,可以在列表页预览后端节点状态
  • 当协议为 HTTP/HTTPS 时,允许用户自定义后端节点域名,当未定义时,转发用户输入的域名
  • 当协议为 HTTPS 时,可以在列表页预览证书过期状态,及获取证书信息
  • 允许后端节点为域名格式
  • 增加 HTTP/80,HTTPS/443 的默认规则,禁止直接 IP 访问(返回444),证书路径在 /etc/nginx/default.*,可自行更换
  • 新增允许非标准 HTTP Header 转发(如下划线_)
  • 修复其他 Bug

更新

  • 将 Nginx 更换为 Tengine 以提供更灵活的功能支持以及性能提升
  • 新增 HTTP 状态码方式检测后端服务器,默认 TCP 方式
  • 新增 HTTP 状态码方式支持查看后端服务器状态
  • 修复因前方有防火墙导致无法获取后端服务器状态
  • 修复因主机头导致后端服务器探测失败
  • 新增自定义管理员用户
  • 新增配置通过文件备份和还原
  • 新增实时查看访问日志和错误日志
  • 新增实时请求统计
  • 更新 Vagrantfile
  • 修复其他 Bug

功能

  • Nginx 可视化配置
  • Nginx 负载均衡(反向代理)配置
  • Nginx 证书支持
  • 系统状态监测
  • 支持 TCP 被动后端节点宕机检测
  • 支持 HTTP 主动后端节点宕机检测
  • 日志实时查询
  • 请求统计

运行

容器

  • 编译镜像
docker build -t <lazy-balancer>:<v1.3.5beta>

也可以 DockerHub https://hub.docker.com/r/v55448330/lazy-balancer

  • 启动命令
docker run -d --restart=always --net=host --name=lazy_balancer \
    -v <db_dir>:/app/lazy_balancer/db \
    -v <log_dir>:/var/log/nginx \
    <lazy-balancer>:<v1.3.5beta> or v55448330/lazy-balancer:latest
  • 初始化数据库
docker exec lazy_balancer python manage.py makemigrations --noinput 2>/dev/null
docker exec lazy_balancer python manage.py migrate --run-syncdb

主机

  • 部署

部署方式参照 deploy.sh 脚本

  • 初始化数据库
python manage.py makemigrations --noinput 2>/dev/null
python manage.py migrate --run-syncdb 
  • 启动服务
supervisord -c /app/lazy_balancer/service/supervisord_docker.conf

or

supervisorctl start webui
supervisorctl start nginx
  • 登录系统
http://[IP]:8000/  

首次登陆会要求创建管理员用户,如需修改,可在系统配置中重置管理员用户

演示

image image image image image image image image image image image image image image

授权

本项目由 小宝 维护,采用 GPLv3 开源协议。欢迎反馈!欢迎贡献代码!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].