Nginx
Phoenix
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Nginx
-
How to securely reverse-proxy ASP.NET Core web apps
However, it's very unlikely that .NET developers will directly expose their Kestrel-based web apps to the internet. Typically, we use other popular web servers like Nginx, Traefik, and Caddy to act as a reverse-proxy in front of Kestrel for various reasons:
- Ask HN: Is nginx.org (the domain-name itself) gone?
-
Freenginx: Core Nginx Developer Announces Fork of Popular Web Server
> I actually don't understand why I am seeing arguments like this all the time.
Have a look at:
https://github.com/nginx/nginx/blob/master/src/http/modules/...
It's got the whole checklist: nginx idiosyncratic module system, inline parsing, custom utf conversion, buffer preallocation and adjustments, linked lists, comments about side effects of custom allocator, and probably other things.
It's not easy to deal with source like that and any serious improvement to that area would effectively be a rewrite anyway.
Since anything doing work in nginx is a module anyway, it wouldn't even have to be a full rewrite in one go.
-
The Internet is Maintained by 1 Software Developer
According to this article, nGinx is being used to serve 34% of all websites in the world. I checked out who's contributing to nGinx, and just like I thought, the project has 8,208 commits, and 5,366 of those commits was made by 2 software developers; igorsoev and mdounin.
- [06/52] Accessible Kubernetes with Terraform and DigitalOcean
- Freenginx.org
-
Performance benchmark of PHP runtimes
Nginx + Roadrunner (fcgi mode)
-
Web CGI programs aren't particularly slow these days
Apache’s mod_fastcgi’s last commit was 2 weeks ago:
https://svn.apache.org/viewvc/httpd/httpd/trunk/
It’s a fork of what you linked (and was more popular afaik back when fastcgi was state of the art, and apache was the undisputed champion of web servers).
These days, nginx has more market share than apache, and its fastcgi module is one of the more recently updated ones in its source tree (5 months vs multiple years):
https://github.com/nginx/nginx/tree/master/src/http/modules
If I was going to build an embedded web server, I’d start with nostd rust, probably with though axum + tokio, since thats already memory safe-ish.
If I needed fastcgi for some reason (dynamically loadable endpoints, or os-level isolation), there are at least four implementations of fastcgi for it. No idea if any are decent though.
-
Five Apache projects you probably didn't know about
APISIX is an API Gateway. It builds upon OpenResty, a Lua layer built on top of the famous nginx reverse-proxy. APISIX adds abstractions to the mix, e.g., Route, Service, Upstream, and offers a plugin-based architecture.
-
Nginx is Probably Fine
I suppose you could read the code. https://github.com/nginx/nginx
Phoenix
-
Idempotent seeds in Elixir
A standard Phoenix app contains a priv/repo/seeds.exs script file, which populates a database when it is run, so that developers can work with a conveniently prepared environment.
-
Ask HN: Did you encounter any Leap Year bugs today? How bad was it?
There was one in the Phoenix Framework (Elixir) about issuing certificates with an invalid end date: https://github.com/phoenixframework/phoenix/issues/5737
Interestingly, Azure had this bug some years ago too leading to an outage. https://azure.microsoft.com/en-us/blog/summary-of-windows-az...
-
Aplicando MVVM en Phoenix LiveView
Official website: https://www.phoenixframework.org/
-
Things I like about Gleam's Syntax
Since you mention Rails, have you seen https://www.phoenixframework.org/
-
Building Apps with Tauri and Elixir
Thus, we set out to build a desktop application using a LiveView from the Phoenix Framework in Elixir. For the uninitiated, a LiveView is a process that receives events, updates its state, and renders updates to a page as diffs. The LiveView programming model is declarative: instead of saying “once event X happens, change Y on the page”, events in LiveView are regular messages which may cause changes to its state.
-
Has anybody compared Phoenix Framwork vs. Blazor?
It seems though like Phoenix is similar like Blazor Server (using web socket), but Phoenix is: SEO friendly (first render is plain html) Light weight, scales well and concurrency is first class Easy to develop (runs a local server so you see live updates) Compiled With auth out of the box https://www.phoenixframework.org/
-
Ask HN: Why isn't Phoenix/Elixir more mainstream?
Sorry to hear this. Phoenix v1.7 changed how it structures files in disk and that broke quite some of the getting started material. However, the guides are always kept up to date, so you can give it a try: https://hexdocs.pm/phoenix/overview.html
You can also see the resources on this page listed by year: https://github.com/phoenixframework/phoenix/blob/main/guides... - the recent launched ones are most likely up to date.
-
Emoji Generator with AI
Yes! I love Elixir :) [Phoenix LiveView](https://www.phoenixframework.org/) is really amazing. I feel so fast working in it. I got hooked after watching Chris McCord's ['Build a real-time Twitter clone in 15 minutes'](https://www.youtube.com/watch?v=MZvmYaFkNJI&embeds_referring...), and things have improved a lot since then.
-
Ask HN: What's the best modern back end?
I still work on a lot of Java projects. As of JDK 17 Java has most of "ML the good parts" and has the same scalable, reliable and high-performance threading Java is famous for. JAX-RS provides a Sinatra style framework that makes it easy to write JSON API back ends. JDK 21 is just about to come out as a long term supported version and it will be even better.
I do my side projects in Python with aiohttp and think it is a lot of fun even though people tell me it is suicide (I guess if you block the thread you are in trouble)
I think "Next.js" really wants a node.js backend which has the big advantage that you can share code with the front end and back end. It's basically single-threaded but I know people who are happy with it.
The system I'd most like to try is
https://www.phoenixframework.org/
which is just great if you want to do stuff with websockets that is more interactive than what most people are doing.
- Ask HN: Leetcode for Back End and Server Development
What are some alternatives?
Caddy - Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
Django - The Web framework for perfectionists with deadlines.
envoy - Cloud-native high-performance edge/middle/service proxy
sugar - Modular web framework for Elixir
Squid - Squid Web Proxy Cache
hotwire-rails - Use Hotwire in your Ruby on Rails app
nestjs-monorepo-microservices-proxy - Example of how to implement a Nestjs monorepo with no shared folder
kitto - Kitto is a framework for interactive dashboards written in Elixir
Hiawatha - Hiawatha is an open source webserver with security, easy to use and lightweight as the three key features. Hiawatha supports among others (Fast)CGI, IPv6, URL rewriting and reverse proxy. It has security features no other webserver has, like blocking SQL injections, XSS and CSRF attacks and exploit attempts. The built-in monitoring tool makes it perfect for large scale deployments.
trot - An Elixir web micro-framework.
YARP - A toolkit for developing high-performance HTTP reverse proxy applications.
RIG - Create low-latency, interactive user experiences for stateless microservices.