首页  >  问答  >  正文

为何要使用Apache与Nginx?

类似于Django,express.js这样的框架本身就具有处理后端的能力,为什么在开发的环境中一般都要部署Apache,Nginx这样的服务器程序呢?

给我你的怀抱给我你的怀抱2713 天前724

全部回复(4)我来回复

  • 習慣沉默

    習慣沉默2017-05-16 17:01:04

    在不同的网络环境里面,对网络的需求,不仅仅是能够进行网络通信,还需要很多不同的需求,如果不将服务器隔离开来,那么会相当不灵活,处理这些需求,会很费事,甚至无法完成。下面是一些需求:

    高性能:nginx和apache通过配置就可以大大的提高不同场景下的性能,对高并发更加是优化得很彻底了。

    安全:对ssl的支持,证书的支持,其他服务器很可能没实现或者实现不统一。

    代理分发:统一了入口点,避免暴露内部复杂的环境。

    回复
    0
  • 巴扎黑

    巴扎黑2017-05-16 17:01:04

    Django教程一开始就说了:

    You’ve started the Django development server, a lightweight Web server written purely in Python. We’ve included this with Django so you can develop things rapidly, without having to deal with configuring a production server – such as Apache – until you’re ready for production.

    Now’s a good time to note: don’t use this server in anything resembling a production environment. It’s intended only for use while developing. (We’re in the business of making Web frameworks, not Web servers.)

    截取自:https://docs.djangoproject.co...

    Django自带的Web Server只是为了简化开发环境,人家根本就不是打算做一整个靠谱的Web服务器,绝对不要在线上生产环境使用。线上还是需要使用专业的服务器。这一点就不同于Tornado,人家本身就是一个靠谱的服务器。

    至于Node.js,的确可以使用自带的,也没什么问题,但是你要知道,Node.js是单线程的
    那个你有个32核的服务器,跑个单线程的Node.js程序就太浪费了,所以就会启动多个Node.js进程,分别监听不同的端口号,再用Nignx做反向代理,这样就可以最大化利用服务器资源。

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:01:04

    专业的事需要专业的工具。

    回复
    0
  • 阿神

    阿神2017-05-16 17:01:04

    专业的事需要专业的工具。+1

    回复
    0
  • 取消回复