All Projects → mahmud-ridwan → Loadcat

mahmud-ridwan / Loadcat

Licence: bsd-3-clause
NGINX load balancer configurator

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Loadcat

Ansible Role Nginx
Ansible Role - Nginx
Stars: ✭ 632 (+77.53%)
Mutual labels:  balancer, nginx
Lazy Balancer
nginx for balancer web ui
Stars: ✭ 499 (+40.17%)
Mutual labels:  balancer, nginx
Docker Lnmp
😒 Deploy lnmp(Linux, Nginx, MySQL, PHP7) using docker.
Stars: ✭ 310 (-12.92%)
Mutual labels:  nginx
Autoops
linux资产管理,cmdb,django, webssh,运维管理平台,数据库操作平台 本项目已停止开发!因长时间未对代码进行维护,可能会造成项目在不同环境上无法部署、运行BUG等问题,请知晓!项目仅供参考!
Stars: ✭ 340 (-4.49%)
Mutual labels:  nginx
Apioak
Full Lifecycle Management API Gateway.
Stars: ✭ 335 (-5.9%)
Mutual labels:  nginx
Config
Armbian configuration utility
Stars: ✭ 317 (-10.96%)
Mutual labels:  nginx
Proxygateway
Proxy Gateway基于openresty(nginx lua module)开发,可以作为接口网关(api gateway)使用,整合业务模块接口,微服务治理聚合,通过web配置界面,能够轻松进行代理配置管理,支持负载均衡,服务器状态检测等
Stars: ✭ 335 (-5.9%)
Mutual labels:  nginx
Foshttpcache
Integrate your PHP application with your HTTP caching proxy
Stars: ✭ 308 (-13.48%)
Mutual labels:  nginx
Nginx Build
Seamless nginx builder
Stars: ✭ 352 (-1.12%)
Mutual labels:  nginx
Wordpress Nginx
WordPress specific Nginx configuration templates and best practices!
Stars: ✭ 332 (-6.74%)
Mutual labels:  nginx
Studynotes
📚JAVA、Spring、SpringMVC、SpringBoot、Mybatis、Vue、MySQL、MongoDB、Radis、Docker、Nginx、......笔记
Stars: ✭ 337 (-5.34%)
Mutual labels:  nginx
Devilbox
A modern Docker LAMP stack and MEAN stack for local development
Stars: ✭ 3,598 (+910.67%)
Mutual labels:  nginx
Reading
整理阅读过的干货文章, 帖子
Stars: ✭ 318 (-10.67%)
Mutual labels:  nginx
Ngx php7
ngx_php7 - Embedded php7 scripting language for nginx module. Mainline development version of the ngx_php.
Stars: ✭ 337 (-5.34%)
Mutual labels:  nginx
Slickstack
SlickStack is a free LEMP stack automation script written in Bash designed to enhance and simplify WordPress provisioning, performance, and security.
Stars: ✭ 311 (-12.64%)
Mutual labels:  nginx
Nginx Opentracing
NGINX plugin for OpenTracing
Stars: ✭ 341 (-4.21%)
Mutual labels:  nginx
Nginx Proxy Manager
Docker container for managing Nginx proxy hosts with a simple, powerful interface
Stars: ✭ 5,221 (+1366.57%)
Mutual labels:  nginx
Gather Deployment
Gathers scalable tensorflow and infrastructure deployment
Stars: ✭ 326 (-8.43%)
Mutual labels:  nginx
Docker Django Nginx Uwsgi Postgres Tutorial
Docker + Django + Nginx + uWSGI + Postgres 基本教學 - 從無到有 ( Docker + Django + Nginx + uWSGI + Postgres Tutorial )
Stars: ✭ 334 (-6.18%)
Mutual labels:  nginx
Stacker
Stacker - The environment for local web development, ready for use.
Stars: ✭ 356 (+0%)
Mutual labels:  nginx

Loadcat

Loadcat is an Nginx configurator that allows you to use Nginx as a load balancer. The project is inspired by the various Nginx load balancing tutorial articles available online and also the existence of Linode's load balancer service NodeBalancers. So far the tool covers some of HTTP and HTTPS load balancing features, such as SSL termination, adding servers on the fly, marking them as unavailable or backup as necessary, and setting their weights to distribute load fairly.

Installation

Arch Linux

Install Loadcat using a pre-built .pkg file:

$ wget https://github.com/hjr265/loadcat/releases/download/v0.1-alpha.1/loadcat-0.1_alpha.1-1-x86_64.pkg.tar.xz
# pacman -U loadcat-0.1_alpha.1-1-x86_64.pkg.tar.xz

Or, from AUR using Yaourt:

$ yaourt loadcat

Or, manually:

$ git clone https://aur.archlinux.org/loadcat.git
$ cd loadcat
$ makepkg
# pacman -U loadcat-0.1_alpha.1-1-x86_64.pkg.tar.xz

From Source

Install Loadcat using the go get command:

$ go get github.com/hjr265/loadcat/cmd/loadcatd

Usage

If you installed Loadcat using the distribution specific package, you can start it as a service using systemctl:

# systemctl start loadcat.service

If you installed Loadcat from source, you can launch it with:

$ cd $GOPATH/src/github.com/hjr265/loadcat
# $GOPATH/bin/loadcatd

Loadcat parses a TOML encoded configuration file. In case one is not found, Loadcat will create one with same sane defaults. The location of the configuration file can be specified with the -config flag.

Loadcat works by generating Nginx configuration files under a particular directory (a directory named "out" under Loadcat's working directory, as set in loadcat.conf). Nginx must be configured to load configuration files from this directory. For example on Arch Linux, when installed from AUR, Loadcat uses /var/lib/loadcat/out as the directory where generated Nginx configuration files are stored. You must include the following line inside the http {} block of /etc/nginx/nginx.conf to load configuration files generated by Loadcat:

include  /var/lib/loadcat/out/*/nginx.conf

Once Loadcat is running, you can navigate to http://{host}:26590 on your web browser, where {host} is the domain name or IP address of the machine where Loadcat is running (for example http://localhost:26590 when running locally). To save a thousand words, here is a (kind of big) picture:

4 steps primer

Make sure that Nginx is running as a systemd service and is configured to load generated configuration files from the appropriate directory.

Caution

As this is a very young project, and pretty experimental, you may encounter bugs and issues here and there. It would be really appreciated if you could open an issue outlining details of the bug or issue, or any feature that you would like to request. Any contribution or criticism (constructive or destructive) is really appreciated.

A lot of Nginx load balancing features is still not covered by this tool and at this moment that makes this rather limited in context of practical applications. However, solving this problem is just a matter of time. Although Nginx Plus specific features may have to wait for a while - at least until I get my hands on an instance or someone else with access to Nginx Plus starts contributing.

Documentation

Resources

Contributing

Contributions are welcome.

License

Loadcat is available under the BSD (3-Clause) License.

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].