Embed Python in NGINX.
- Free software: Apache Software License 2.0
- Documentation: https://nginxpy.readthedocs.io.
- Standard Python package with Cython extension
- Automatically build into NGINX dynamic module for current NGINX install
- Run embeded Python in NGINX worker processes
- Write NGINX modules in Python or Cython
- Python
logging
module redirected to NGINXerror.log
- (ongoing) NGINX event loop wrapped as Python
asyncio
interface - (TBD) Python and Cython interface to most NGINX code
- (TBD) Adapt NGINX web server to WSGI, ASGI and aiohttp interfaces
- Install NGINX in whatever way, make sure
nginx
command is available. pip install nginxpy
, or get the source and runpip install .
. You may want to add the-v
option, because the process is a bit slow downloading Cython, NGINX source code and configuring it. The usualpython setup.py install
currently doesn't work separately - you should runpython setup.py build
first.- Run
python -c 'import nginx'
to get NGINX configuration hint. - Update NGINX configuration accordingly and reload NGINX.
- Visit your NGINX site, see NGINX
error.log
for now.
- Install NGINX in whatever way, make sure
nginx
command is available. - Checkout source code.
- Run
python setup.py build && python setup.py develop
. - Run
python -c 'import nginx'
to get NGINX configuration hint. - Update NGINX configuration accordingly and reload NGINX.
- Visit your NGINX site, see NGINX
error.log
for now. - Change code if result is not satisfying, or else go for pull request.
- Goto 3 if Cython code was changed, or else goto 5.
Surprisingly NGINX has a very simple but powerful architecture, learn about it here: https://nginx.org/en/docs/dev/development_guide.html
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.