Even if I'm a big Rust fan and user, what you are describing is exactly the use case that Go is designed for, especially since 1.16 with embed[0].
The big plus is that you can even configure Go to automate TLS certs[1].
[0] https://blog.golang.org/go1.16
[1] https://github.com/skerkour/bloom-legacy/blob/27908e44dd45b3...
Ocaml and Haskell are two other contenders if you are looking to learn functional programming. Both compile to native code and quite effecient.
Haskell has few web frameworks which are worth taking a look.
Needless to say C++ may also be an option given your familiarity with C.
Other newer contenders are Crystal and Nim. Both look promising but are still young languages.
DLang and Zig are more known for systems programming but like rust can also be used for web programming.
For a go like language also take a look Vlang (which has a lot of stuff built-in, web framework, orm, testing, ...)
I think all of these languages fit your requirements, as you can see there's quite a lot of choice these days. As usual there is no right or wrong way to go. (: