{"id":20492895,"url":"https://github.com/danman113/nginx-manager","last_synced_at":"2026-04-18T17:33:37.406Z","repository":{"id":46321299,"uuid":"65113404","full_name":"danman113/nginx-manager","owner":"danman113","description":"Node.js module for parsing and managing nginx config files.","archived":false,"fork":false,"pushed_at":"2025-07-30T18:03:22.000Z","size":36,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-02T08:44:19.085Z","etag":null,"topics":["nginx","node-js","parser"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/danman113.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":"2016-08-07T03:19:48.000Z","updated_at":"2020-04-09T04:49:52.000Z","dependencies_parsed_at":"2022-09-21T14:40:18.423Z","dependency_job_id":null,"html_url":"https://github.com/danman113/nginx-manager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danman113/nginx-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danman113%2Fnginx-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danman113%2Fnginx-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danman113%2Fnginx-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danman113%2Fnginx-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danman113","download_url":"https://codeload.github.com/danman113/nginx-manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danman113%2Fnginx-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31978020,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T17:30:12.329Z","status":"ssl_error","status_checked_at":"2026-04-18T17:29:59.069Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["nginx","node-js","parser"],"created_at":"2024-11-15T17:31:40.397Z","updated_at":"2026-04-18T17:33:37.361Z","avatar_url":"https://github.com/danman113.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nginx-manager\r\n\r\n## Parse Nginx Conf Files\r\n```\r\nvar manager = require( 'nginx-manager' )\r\nvar smallConfig = manager.parse( 'server / { proxy_buffers 4 32k; }' );\r\n\r\nvar fileConfig = manager.parse( fs.readFileSync( 'default.conf', 'utf8' ) ); \r\n```\r\n\r\n## Build Nginx Conf Files\r\n```\r\nvar b = manager.newBlock();\r\n\r\n// Add statements to the global scope\r\nb.addStatement( 'user', 'root' ).addStatement( 'worker_processes', 2 ).addStatement( 'error_log', '/var/log/log.log', 'info' );\r\n\r\n// Add recursive blocks\r\nvar h = b.addBlock( 'http' );\r\nh.addStatement( 'gizp', 'on' ).addStatement( 'gzip_min_length', 100 ).addStatement( 'gzip_buffers', 4, '8k' );\r\n\r\n// Null blocks simply group arguments.\r\nh.addBlock( ).addStatement( 'sendfile', 'on' ).addStatement( 'tcp_nopush', 'on' ).addStatement( 'tcp_nodelay', 'on' );\r\n\r\nvar s = h.addBlock( 'server' );\r\ns.addStatement( 'listen', 80 ).addStatement( 'server_name', 'www.example.com', 'example.com' ).addStatement( 'error_page', 404, '/404.html' );\r\n\r\n// You can just pass in strings with spaces if you want.\r\nvar home = s.addBlock( 'location / ' );\r\nhome.addStatement( 'proxy_pass', 'http://127.0.0.1' ).addStatement( 'proxy_redirect', 'off' ).addStatement( 'proxy_set_header', 'Host $host' );\r\n\r\n// Pass in arrays for extra speed.\r\nvar images = s.addBlock( 'location ~* \\\\.(jpg|jpeg|gif)$' );\r\nimages.addStatement( 'access_log', [ 'var/log/nignx-images.log', 'download' ] ).addStatement( 'root', '/www/images' );\r\n\r\nconsole.log( b.toString() );\r\n\r\n// user root;\r\n// worker_processes 2;\r\n// error_log /var/log/log.log info;\r\n// http {\r\n// \tgizp on;\r\n// \tgzip_min_length 100;\r\n// \tgzip_buffers 4 8k;\r\n// \tsendfile on;\r\n// \ttcp_nopush on;\r\n// \ttcp_nodelay on;\r\n// \tserver {\r\n// \t\tlisten 80;\r\n// \t\tserver_name www.example.com example.com;\r\n// \t\terror_page 404 /404.html;\r\n// \t\tlocation /  {\r\n// \t\t\tproxy_pass http://127.0.0.1;\r\n// \t\t\tproxy_redirect off;\r\n// \t\t\tproxy_set_header Host $host;\r\n// \t\t}\r\n// \t\tlocation ~* \\.(jpg|jpeg|gif)$ {\r\n// \t\t\taccess_log var/log/nignx-images.log download;\r\n// \t\t\troot /www/images;\r\n// \t\t}\r\n// \t}\r\n// }\r\n```\r\n\r\n## Edit Nginx Conf Files\r\n```\r\nvar smallConfig = manager.parse( 'server / { proxy_buffers 4 32k; }' );\r\nsmallConfig.addBlock( 'location / ' ).addStatement( 'proxy_pass', 'http://127.0.0.1' ).addStatement( 'proxy_redirect', 'off' ).addStatement( 'proxy_set_header', 'Host $host' );\r\n```\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanman113%2Fnginx-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanman113%2Fnginx-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanman113%2Fnginx-manager/lists"}