📞 Contact & Support Author: Artem Ryzhov Website: https://www.ryzhov.website Email: [email protected] LinkedIn: https://www.linkedin.com/in/artem-ryzhov-90560a2a0/ GitHub: artem1984A https://github.com/artem1984A
Report Issues: Use the contact form or email directly.
This small project, was created for fun. It represents nginx server, wich just work as a load balancer for five Node.js instances, which starting by pm2 (at this moment I am more prefer it for manipulation node instances), which one working at 3001...3005 ports respectively. Nginx accepted all requests at port :80, and spreader them across Node.js instances, using in that case basic Round-Robin algorithm. Visualisation of "nginx-command-panel" implemented by simple Sinatra server at Ruby (for ease communication with underlaing Uduntu), which use for nice graphic view React app with Chakra UI for styling.
Button "Start test" just starting simple instanceTest.js file which one just sanded 20 requests at port 80, at which sitting Nginx and spreader request for Node.js instances. Node.js servers also accepting request, write them in requests.txt file in format like "2024-11-27T18:37:57.901Z - /group3002: { Amount of incoming requests: 1, Status: success }", and so these data can be accessible from react by "View logs" for each instance. Also by button "Refresh logs" You can look at Nginx logs. By buttons "Check status" and "Reload" You can check status and restart Nginx respectively. Button "Update servers" for now not functioning (at list correctly), and have a future purposes. So, for view project, just start container and will open Your browser at "http://localhost:4567/"
Content type
Image
Digest
sha256:46dfda596…
Size
341.9 MB
Last updated
almost 2 years ago
docker pull artemr87/nginx-command-panel:v2.0.amd-architecture