chronolaw / Ngx_cpp_dev
Licence: bsd-2-clause
Nginx cpp development kit
Stars: ✭ 118
Projects that are alternatives of or similar to Ngx cpp dev
Pyblog
Pyblog 是一个简单易用的在线 Markdown 博客系统,它使用 Python 的 flask 架构,理论上支持所有 flask-sqlalchemy 所能支持的数据库。 编辑器使用的是 editor.md。当前版本(v2.0)支持且仅支持 python3! Python 的 Markdown to HTML 编译器使用的是 Mistune! Just so!
Stars: ✭ 113 (-4.24%)
Mutual labels: nginx
Docker Matomo
Matomo (formerly Piwik) Docker image based on Alpine Linux
Stars: ✭ 117 (-0.85%)
Mutual labels: nginx
Discord Rpc
Java Wrapper of the Discord-RPC Library for Discord Rich Presence.
Stars: ✭ 109 (-7.63%)
Mutual labels: wrapper
Tlaw
The Last API Wrapper: Pragmatic API wrapper framework
Stars: ✭ 112 (-5.08%)
Mutual labels: wrapper
Sdl2 nim
Wrapper of the SDL 2 library for the Nim language.
Stars: ✭ 108 (-8.47%)
Mutual labels: wrapper
Knowledge
文档着重构建一个完整的「前端技术架构图谱」,方便 F2E(Front End Engineering又称FEE、F2E) 学习与进阶。
Stars: ✭ 1,620 (+1272.88%)
Mutual labels: nginx
Docker Nginx Gunicorn Flask Letsencrypt
Boilerplate code for setting up Nginx + Gunicorn + Flask + automated LetsEncrypt certificates (https) using docker-compose.
Stars: ✭ 117 (-0.85%)
Mutual labels: nginx
Pokekotlin
Kotlin (or Java, Scala, etc) client for PokeApi
Stars: ✭ 110 (-6.78%)
Mutual labels: wrapper
Maxwell
Maxwell is an HTTP client which support for middleware and multiple adapters.
Stars: ✭ 111 (-5.93%)
Mutual labels: wrapper
Ansible Bootstrap Ubuntu
Ansible scripts for bootstrapping and securing an Ubuntu server (locale, fail2ban, firewall, lock down sudo, prevent root and password login, ...)
Stars: ✭ 115 (-2.54%)
Mutual labels: nginx
Docker Nginx Postgres Django Example
Example using Docker, Django, multiple Postgres databases, NginX, Gunicorn, pipenv, GitLab CI and tox.
Stars: ✭ 110 (-6.78%)
Mutual labels: nginx
Motan Openresty
A cross-language RPC framework for rapid development of high performance distributed services based on OpenResty.
Stars: ✭ 117 (-0.85%)
Mutual labels: nginx
Nginx Lua Redis Rate Measuring
A lua library to provide distributed rate measurement using nginx + redis, you can use it to do a throttling system within many nodes.
Stars: ✭ 109 (-7.63%)
Mutual labels: nginx
Hydroshare
HydroShare is a collaborative website for better access to data and models in the hydrologic sciences.
Stars: ✭ 117 (-0.85%)
Mutual labels: nginx
Lua Resty Http
Lua HTTP client cosocket driver for OpenResty / ngx_lua.
Stars: ✭ 1,647 (+1295.76%)
Mutual labels: nginx
Name
ngx_cpp_dev
Nginx cpp development kit, with the power of C++11 and Boost Library.
Table of Contents
Status
Experimental but works well.
Now support Nginx 1.13.10 and later.
See Also
- annotated_nginx - 注释nginx,学习研究源码
- ngx_ansic_dev - Nginc ANSI C Development
- openresty_dev - OpenResty/Lua Programming
- ngx_google_perftools_profiler - A better tools for nginx with google_perftools
Requirements
- Linux or other UNIX like
- C++11(gcc 4.6 or later)
- Boost(1.57 or later)
- Nginx 1.13.10 or later
Please see directiory "setup".
Usage
At first, you must patch nginx/auto/make
to enable g++ compiler and C++11.
Please see directory "patch/auto".
For example:
patch -b make make.patch
Then configure nginx with:
./configure --add-module=path/to/ngxpp \ # ngx cpp module
--add-module=xxxx # other modules
make
ngx_cpp_module is a pure header library, you should use ngx_cpp_module like this:
#include "NgxAll.hpp" // include all C++ tools for http modules
Or
#include "NgxStreamAll.hpp" // include all C++ tools for stream modules
Examples
Please see directory http, including echo/filter/variables and so on.
C++ APIs
common tools
Class Name | Description |
---|---|
NgxUnsetValue | generic unset value -1. |
NgxValue | wrapper for nginx int, include init/merge/unset. |
NgxException | wrapper for nginx error code. |
NgxPool | wrapper for nginx memory pool. |
NgxAlloctor | adapter to C++ allocator. |
NgxString | wrapper for nginx ngx_str_t . |
NgxClock | wrapper for nginx time functions. |
NgxDatetime | wrapper for nginx date functions. |
NgxLog | wrapper for nginx error log. |
data structure
Class Name | Description |
---|---|
NgxArray | wrapper for nginx ngx_array_t . |
NgxList | wrapper for nginx ngx_list_t.
|
NgxQueue | wrapper for nginx ngx_queue_t . |
NgxBuf | deprecated, wrapper for nginx ngx_buf_t . |
NgxChain | deprecated, wrapper for nginx ngx_chain_t . |
NgxRbtree | wrapper for nginx ngx_rbtree_t . |
modules
Class Name | Description |
---|---|
NgxModuleConfig | easy to access nginx module confing info. |
NgxModule | get module's config and ctx data. |
NgxCommand | deprecated, DO NOT USE IT. |
NgxTake | deprecated |
NgxModuleCtx | easy to access nginx module's ctx data. |
NgxHttpCoreModule | wrapper for ngx_http_core_module |
NgxFilter | wrapper for nginx filter mechanism. |
http process
Class Name | Description |
---|---|
NgxHeaders | |
NgxRequest | |
NgxResponse | |
NgxUpstreamHelper | |
NgxLoadBalance | |
NgxSubRequest |
others
Class Name | Description |
---|---|
NgxVariables | |
NgxVarManager | |
NgxDigest | |
NgxTimer |
TODO
- more test suites
- nginx datagram
- ...
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].