ngxway

GitHub release (latest by date)

A high-performance and lightweight Nginx gateway service.

Document :中文 / English   Wiki :English

1. Introduction

ngxway is a high-performance, containerized and lightweight nginx gateway.

2. Features

(1) High-performance

This gateway service is mainly implemented in Lua and, with built-in Nginx configuration and Linux parameter optimizations, it can achieve an average QPS of 50,000 even without any tuning, on an 8c16G machine.

For more information on performance, you can refer to the detailed performance report. How was it generated? Please refer to the benchmark document if necessary.

image

(2) Containerized

Built on Docker and decoupled from the underlying Nginx configuration, this gateway eliminates 90% of the setup process. With just one command, you can automatically set up your own Nginx gateway.

(3) Lightweight

Compared to complex gateway implementations, this project is much lighter. You can freely modify various configurations of the project, as well as modify and add various Lua scripts to improve the overall performance of ngxway for your business.

3. Installation

To reduce installation costs and facilitate quick setup, simply execute the following command.

# install
git clone https://github.com/WGrape/ngxway.git && cd ngxway && bash install.sh

# uninstall
cd ngxway && bash uninstall.sh

4、Usage

(1) Start the server

Execute the following command to start the ngxway server. If you can successfully open the 127.0.0.1:8090 page, it means that the server has started successfully.

bash bin/ngxway start

(2) Stop server

Execute the following command to stop the ngxway server.

bash bin/ngxway stop

(3) Restart server

Execute the following command to restart the ngxway server.

bash bin/ngxway restart

(4) Server log

The logs of ngxway will be recorded in the local_volume_logs_dir log directory defined in the ./ngxway.conf file, the default is /tmp /logs directory.

(5) To Integrate

Congratulations on successfully installing and starting the ngxway server! However, before you make any modifications to the project, it is not yet ready to provide gateway services for you. If you need to integrate, please refer to the Wiki.

6. Contribution

In the process of using this project, if you encounter any problems, please refer to Q&A document.

Welcome your Issues and Pull Requests.