Node.js is also single thread and has been doing fine on servers.
Do you really need to share mutable state between threads in your server? If yes, what's your story when you'll need to scale to multiple servers?
If not because you can keep shared mutable state in a separate service (DB or similar), you can deal with one-machine scaling very similarly to scaling across machines - just start/fork a process per CPU. You get simplicity, avoid the whole thread-safety can of bugs, and all the administration benefits of stateless servers.