{"id":13720157,"url":"https://github.com/perusio/nginx-hello-world-module","last_synced_at":"2026-02-23T00:55:30.756Z","repository":{"id":43961620,"uuid":"2222647","full_name":"perusio/nginx-hello-world-module","owner":"perusio","description":"A hello world module for learning Nginx module development","archived":false,"fork":false,"pushed_at":"2019-03-05T16:31:24.000Z","size":9,"stargazers_count":196,"open_issues_count":4,"forks_count":80,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-11-14T09:39:05.093Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/perusio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-08-17T15:49:12.000Z","updated_at":"2024-08-30T07:16:31.000Z","dependencies_parsed_at":"2022-09-22T09:00:32.908Z","dependency_job_id":null,"html_url":"https://github.com/perusio/nginx-hello-world-module","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perusio%2Fnginx-hello-world-module","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perusio%2Fnginx-hello-world-module/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perusio%2Fnginx-hello-world-module/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perusio%2Fnginx-hello-world-module/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perusio","download_url":"https://codeload.github.com/perusio/nginx-hello-world-module/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252876304,"owners_count":21818159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T01:01:00.390Z","updated_at":"2026-02-23T00:55:30.703Z","avatar_url":"https://github.com/perusio.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# Hello World Module for Nginx\n\n## Introduction\n\nThis module serves as a learning exercise for me, and hopefully for\nothers too, when doing [Nginx](http://nginx.org) module development. \n\nI [stole](http://dominicfallows.com/2011/02/20/hello-world-nginx-module-3/)\nthe code and added some notes using mostly Evan Miller's\n[Nginx Module Development Guide](http://www.evanmiller.org/nginx-modules-guide.html). Also\nhelpful is the\n[translation](http://antoine.bonavita.free.fr/nginx_mod_dev_en.html)\nof Vhalery Kholodov's\n[Nginx Module Guide](http://www.grid.net.ru/nginx/nginx-modules.html)\ndone by [Antoine Bonavita](http://antoine.bonavita.free.fr/) that also\nmantains a [Nginx Discovery](http://www.nginx-discovery.com/) blog to\ndocument his journey on Nginx module development.\n\n## Installation\n\n   1. Configure Nginx adding this module with:\n          \n          Static Module : ./configure (...) --add-module=/path/to/nginx-hello-world-module\n          Dynamic Module: ./configure (...) --add-dynamic-module=/path/to/nginx-hello-world-module\n       \n   2. Build Nginx as usual with `make`.\n   \n   3. Configure the module. There's only one directive `hello_world`\n      that is supported in the **location** context only.\n      \n      Example:\n          \n          location = /test {\n             \n             hello_world;\n          \n          }\n\n      Now doing something like:\n          \n          curl -i http://example.com/test\n          \n      should return the **hello world** string as the response body.\n\n## Further reading\n\n * English: You can go to the [Nginx Planet](http://planet.nginx.org/)\n   and get a lot of Nginx related information.\n  \n * Russian: The [Habrahabr Nginx Blog](habrahabr.ru/blogs/nginx/) a\n   treasure trove of Nginx related discussions. Use google translate\n   or Babelfish if you don't read Russian.\n      \n## TODO\n\n 1. Add an argument to the `hello_world` directive specifying the\n    language. For example:\n    \n    * en: hello world\n    \n    * fr: bounjour monde\n    \n    * pt: olá mundo\n \n    * es: hola mundo\n \n 2. Make the `hello_world` directive be also defined in the **if in\n    location** context (`NGX_HTTP_LIF_CONF`) in\n    `ngx_http_config.h`. Which implies defining a **merge\n    configuration** function.\n \n 3. Document everything with\n    [Doxygen](https://secure.wikimedia.org/wikipedia/en/wiki/Doxygen)\n    linking the relevant header and source files from the Nginx core.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperusio%2Fnginx-hello-world-module","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fperusio%2Fnginx-hello-world-module","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperusio%2Fnginx-hello-world-module/lists"}