nginx / unit

NGINX Unit - universal web app server - a lightweight and versatile open source server that simplifies the application stack by natively executing application code across eight different programming language runtimes.
https://unit.nginx.org
Apache License 2.0
5.29k stars 325 forks source link

single unit alone or not? #952

Closed yuedanlabs closed 10 months ago

yuedanlabs commented 10 months ago

I like the design of unit very much, especially the fact that it can handle multi-language services in one place at the same time, and it can dynamically update services through rest api with json config. But I also have some doubts and need your help.

Is it better to add nginx/caddy/apisix, etc. in front of unit, or is it enough to use unit alone?

In addition, if we consider the situation of multiple mixed services, for example, there are services such as Django that do not separate dynamic and static services, and there are also single api services written in golang.

Finally, does the unit need a gateway before serving it?

Looking forward to your reply, and thank you very much.

ac000 commented 10 months ago

I like the design of unit very much, especially the fact that it can handle multi-language services in one place at the same time, and it can dynamically update services through rest api with json config. But I also have some doubts and need your help.

Is it better to add nginx/caddy/apisix, etc. in front of unit, or is it enough to use unit alone?

That depends. For example, Unit currently doesn't support HTTP2/3, if they are important to you, you'll need something in front of it. However it does support TLS so you don't need anything extra for that.

In addition, if we consider the situation of multiple mixed services, for example, there are services such as Django that do not separate dynamic and static services, and there are also single api services written in golang.

Not sure if there is a question here, but Unit can also serve static content.

Finally, does the unit need a gateway before serving it?

Not sure I understand the question, but I'll say no. You can quite happily run your apps with only having Unit in front of the client.

yuedanlabs commented 10 months ago

I basically understand what you said

The previous server architecture may be nginx/caddy + django

Now with unit, the architecture can become only one unit (run with django)

If there are no special requirements (such as http2/3 that cannot be provided by the unit), there is no need to introduce other things, and the unit can directly provide services to the outside world.

Is my understanding correct? If so, that would be so elegant.

Finally, thank you for your timely reply

andrey-zelenkov commented 10 months ago

Correct. You can also check out our how to guide for django to facilitate migration process: https://unit.nginx.org/howto/django/

yuedanlabs commented 10 months ago

Correct. You can also check out our how to guide for django to facilitate migration process: https://unit.nginx.org/howto/django/

I've read the documentation and successfully run various applications locally

I just want to confirm the above situation here, because the current documents and some information I have retrieved do not have a very accurate statement about this.

Thanks for having such a great project like unit. It's a pity that my C language is not very good, otherwise I will definitely make some contributions to the development of unit.

I look forward to the rapid iteration and development of unit.

yuedanlabs commented 10 months ago

Already understood

Thanks for answering my confusion