nginx-manager


Namenginx-manager JSON
Version 0.0.16 PyPI version JSON
download
home_pagehttps://github.com/GetPageSpeed/ngm
SummaryA CLI tool to manage NGINX configuration
upload_time2022-12-18 10:45:04
maintainer
docs_urlNone
authorDanila Vershinin
requires_python
licenseBSD
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ngm

NGINX dynamic modules and websites manager.

## Managing your NGINX modules

The GetPageSpeed repository users have convenient access to over a hundred of NGINX module packages,
via [NGINX Extras collection](https://nginx-extras.getpagespeed.com/).

We realize the need of both our customers and users of other NGINX module collections, to
efficiently manage their installed set of NGINX modules.

The NGINX Manager utility (`ngm`) provides an easy way to list installed or available NGINX modules,
and look up their respective `load_module` directives.

## Usage

### List installed modules

```bash
ngm list
```

Sample output:

+--------------+---------------------------------------+-----------+-------------------------------------------------------------+
| Module ID    | Feature Summary                       | Enabled   | Load Directive used by "ngm enable <module id>"             |
|--------------+---------------------------------------+-----------+-------------------------------------------------------------|
| security     | Modsecurity v3 nginx connector        | No        | load_module modules/ngx_http_modsecurity_module.so;         |
| pagespeed    | Pagespeed dynamic module for nginx    | Yes       | load_module modules/ngx_pagespeed.so;                       |
| doh          | Serving dns-over-https (doh) requests | Yes       | load_module modules/ngx_http_doh_module.so;                 |
| headers-more | Nginx headers more dynamic module     | Yes       | load_module modules/ngx_http_headers_more_filter_module.so; |
| echo         | Nginx echo module                     | Yes       | load_module modules/ngx_http_echo_module.so;                |
+--------------+---------------------------------------+-----------+-------------------------------------------------------------+

Alternative, lengthier syntax to run the same is `ngm list installed`.

### Enable an installed module

```bash
ngm enable <module id>
```

For example:

```bash
ngm enable headers-more
```

This will do the following:

* Add respective `load_module` directive at the top of your `nginx.conf` configuration file
* Run `systemctl reload nginx`

### List installable modules

This command list modules available for installation via GetPageSpeed repositories:

```bash
ngm list available
```

## Installation

### CentOS/RHEL and other RPM-based systems

```bash
yum -y https://extras.getpagespeed.com/release-latest.rpm
yum -y install ngm
```

### Other systems

```bash
pip install nginx-manager
```

## Goals for future

### Modules 

* `ngm list enabled` to see what modules are enabled via `nginx -T` and parsing `load_module` directives
* `ngm disable <module-name>`
* auto-complete for modules
* `ngm compile --i-know-i-should-use-packages-instead github/blah`
* `ngm list` to display modules based on modules dir, then look up via `rpm -ql` all the `.so` instead of `.json` database
* `ngm list` should display latest versions `lastversion`, this requires look up URL: via `rpm`

### Websites

* Create sites from Jinja templates (absorb idea from https://github.com/dvershinin/pyNginx)
* `ngm sites list`
* `ngm sites create wordpress example.com`
* `ngs list` or `ngxs list`?


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/GetPageSpeed/ngm",
    "name": "nginx-manager",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Danila Vershinin",
    "author_email": "info@getpagespeed.com",
    "download_url": "https://files.pythonhosted.org/packages/65/ba/565aba8d60fe804a0622c89dac22f182a00207dfc7f4172a9bd85fc8f7d2/nginx-manager-0.0.16.tar.gz",
    "platform": null,
    "description": "# ngm\n\nNGINX dynamic modules and websites manager.\n\n## Managing your NGINX modules\n\nThe GetPageSpeed repository users have convenient access to over a hundred of NGINX module packages,\nvia [NGINX Extras collection](https://nginx-extras.getpagespeed.com/).\n\nWe realize the need of both our customers and users of other NGINX module collections, to\nefficiently manage their installed set of NGINX modules.\n\nThe NGINX Manager utility (`ngm`) provides an easy way to list installed or available NGINX modules,\nand look up their respective `load_module` directives.\n\n## Usage\n\n### List installed modules\n\n```bash\nngm list\n```\n\nSample output:\n\n+--------------+---------------------------------------+-----------+-------------------------------------------------------------+\n| Module ID    | Feature Summary                       | Enabled   | Load Directive used by \"ngm enable <module id>\"             |\n|--------------+---------------------------------------+-----------+-------------------------------------------------------------|\n| security     | Modsecurity v3 nginx connector        | No        | load_module modules/ngx_http_modsecurity_module.so;         |\n| pagespeed    | Pagespeed dynamic module for nginx    | Yes       | load_module modules/ngx_pagespeed.so;                       |\n| doh          | Serving dns-over-https (doh) requests | Yes       | load_module modules/ngx_http_doh_module.so;                 |\n| headers-more | Nginx headers more dynamic module     | Yes       | load_module modules/ngx_http_headers_more_filter_module.so; |\n| echo         | Nginx echo module                     | Yes       | load_module modules/ngx_http_echo_module.so;                |\n+--------------+---------------------------------------+-----------+-------------------------------------------------------------+\n\nAlternative, lengthier syntax to run the same is `ngm list installed`.\n\n### Enable an installed module\n\n```bash\nngm enable <module id>\n```\n\nFor example:\n\n```bash\nngm enable headers-more\n```\n\nThis will do the following:\n\n* Add respective `load_module` directive at the top of your `nginx.conf` configuration file\n* Run `systemctl reload nginx`\n\n### List installable modules\n\nThis command list modules available for installation via GetPageSpeed repositories:\n\n```bash\nngm list available\n```\n\n## Installation\n\n### CentOS/RHEL and other RPM-based systems\n\n```bash\nyum -y https://extras.getpagespeed.com/release-latest.rpm\nyum -y install ngm\n```\n\n### Other systems\n\n```bash\npip install nginx-manager\n```\n\n## Goals for future\n\n### Modules \n\n* `ngm list enabled` to see what modules are enabled via `nginx -T` and parsing `load_module` directives\n* `ngm disable <module-name>`\n* auto-complete for modules\n* `ngm compile --i-know-i-should-use-packages-instead github/blah`\n* `ngm list` to display modules based on modules dir, then look up via `rpm -ql` all the `.so` instead of `.json` database\n* `ngm list` should display latest versions `lastversion`, this requires look up URL: via `rpm`\n\n### Websites\n\n* Create sites from Jinja templates (absorb idea from https://github.com/dvershinin/pyNginx)\n* `ngm sites list`\n* `ngm sites create wordpress example.com`\n* `ngs list` or `ngxs list`?\n\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "A CLI tool to manage NGINX configuration",
    "version": "0.0.16",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "31dcf450cf2554a4704a54d1a04a1bdb",
                "sha256": "fde10f5f4ef8b0f092884d469c9ea0dfcb9fc145d1665a66b8e661c3b53a98b1"
            },
            "downloads": -1,
            "filename": "nginx_manager-0.0.16-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "31dcf450cf2554a4704a54d1a04a1bdb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 19144,
            "upload_time": "2022-12-18T10:45:02",
            "upload_time_iso_8601": "2022-12-18T10:45:02.003712Z",
            "url": "https://files.pythonhosted.org/packages/c7/db/22207f7fd19ea0ec4d466033731bb211da1784f22cdf0308710521120308/nginx_manager-0.0.16-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "d76781f15ee428bfdd3399585a96c0e8",
                "sha256": "ba64760133ed31eee8f34cd548828ce6e1237851eeca8e43608c9e001f5a4e48"
            },
            "downloads": -1,
            "filename": "nginx-manager-0.0.16.tar.gz",
            "has_sig": false,
            "md5_digest": "d76781f15ee428bfdd3399585a96c0e8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 18747,
            "upload_time": "2022-12-18T10:45:04",
            "upload_time_iso_8601": "2022-12-18T10:45:04.474124Z",
            "url": "https://files.pythonhosted.org/packages/65/ba/565aba8d60fe804a0622c89dac22f182a00207dfc7f4172a9bd85fc8f7d2/nginx-manager-0.0.16.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-18 10:45:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "GetPageSpeed",
    "github_project": "ngm",
    "lcname": "nginx-manager"
}
        
Elapsed time: 0.03539s