Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wgrape/ngxway
A high-performance and lightweight Nginx gateway service / 高性能轻量级的Nginx网关服务
https://github.com/wgrape/ngxway
api-gateway gateway lua nginx openresty
Last synced: 3 months ago
JSON representation
A high-performance and lightweight Nginx gateway service / 高性能轻量级的Nginx网关服务
- Host: GitHub
- URL: https://github.com/wgrape/ngxway
- Owner: WGrape
- License: mit
- Created: 2022-10-24T09:12:28.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-16T11:34:44.000Z (7 months ago)
- Last Synced: 2024-10-22T15:59:11.152Z (3 months ago)
- Topics: api-gateway, gateway, lua, nginx, openresty
- Language: Shell
- Homepage: https://wgrape.github.io/ngxway/
- Size: 3.35 MB
- Stars: 27
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
## 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](https://wgrape.github.io/ngxway/html/benchmark.html). How was it generated? Please refer to the [benchmark document](./doc/benchmark.md) if necessary.
### (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.
```bash
# 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
bash bin/ngxway start
```### (2) Stop server
Execute the following command to stop the ngxway server.```bash
bash bin/ngxway stop
```### (3) Restart server
Execute the following command to restart the ngxway server.```bash
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](./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](https://github.com/WGrape/ngxway/wiki/).## 6. Contribution
In the process of using this project, if you encounter any problems, please refer to [Q&A](https://github.com/WGrape/ngxway/wiki/Q&A) document.Welcome your [Issues](https://github.com/WGrape/ngxway/issues/new) and [Pull Requests](https://github.com/WGrape/ngxway/pulls).