关于建站,经常有小伙伴分不清Nginx Apache Tomcat的区别,今天就跟大家简单的聊一下这三大引擎的特点和区别。
一般来说虚拟主机使用的是Apache环境,比如有很多虚拟主机用的cPanel面板管理,伪静态是用的HTACCESS文件。
不过如果不是玩票性质的,想要长期建站,我个人建议还是入云服务器比较好,自己拥有的权限更大,还有天然的独立IP加成,不香嘛。
我们看到的常见的有Nginx、Apache、Tomcat 三种web环境,都是用来处理HTTP网站网页环境的,前面两者是用来处理PHP居多,Tomcat是用来处理JAVA的,也就是我们常说的JSP语言。
目前大部分网友或者CMS的话使用的PHP+MYSQL比较多,所以用前面两者较多。
Nginx 引擎的特点
我们看到有些一键包web环境,或者看到的宝塔面板在安装web的时候,会看到LNMP,这个N其实就是Nginx引擎的意思。Nginx 拥有高并发、内存消耗少,成本低等特点。
根据有提到官方测试Nginx可以支持超过五万并发连接数,且实际生产中可以支撑2-4万并发连接数。
内存占用小,如果我们可以有机会看看,你在服务器中安装Apache和Nginx的时候,对比看看谁占用的内存小,我这边可以看到是Apache稍微高一些的。
同样的,这样带来的问题就是Nginx需要的成本低一些。
稍微与Apache不同的是,伪静态方式不同。
我们有些朋友习惯直接Apache在根目录.htaccess伪静态文件,而Nginx是需要单独的.conf配置的,这个稍微不同。
Apache 引擎的特点
看到上面提到Nginx种种优点,那是不是比Apache一定好呢?当然也不一定是相对的。
比如Apache也是有很多用户群的,甚至个人网站都喜欢用这个web环境。
Apache 的伪静态rewrite 比nginx 的强大便捷一些,支持的模块多,基本涵盖所有应用,毕竟人家早期是比Nginx应用广,Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端等。
Apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程。
Tomcat 引擎特点
一般Tomcat 是处理JAVA,也就是我们说的JSP语言web环境的。
Tomcat是应用(Java)服务器,是Servlet容器,可以看做是Apache的扩展,可以独立于Apache运行。
Tomcat,比较侧重于Servlet引擎,如果以Standalone方式运行,功能上与Apache等效,支持JSP,但对静态网页不太理想。
实际上我们也可以这样理解,Tomcat部分是Apache服务器的扩展,所以当我们在运行tomcat的时候,它实际上作为一个Apache独立的进程单独运行的。
Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。
Tomcat和IIS、Apache等web服务器一样,具有处理HTML页面的功能,但是Tomcat处理静态HTML的能力不如Apache服务器。
我个人觉得,如果你在使用云服务器web建站的时候,PHP+MYSQL的时候,建议用LNMP环境,也就是NGINX,当然这个也要看实际的兼容支持的,有的程序必须用APACHE。