apachetomcat为什么把内部的jar包取名为「catalina」,

Apache、Tomcat和Catalina作为软件名称的含义和关系是发人深省的。
阿帕奇一词源自美洲原住民印第安部落的名字。
它象征着效率和可靠性。
它还涉及到大公司迟早会相互竞争的担忧,就像该国的开源教育一样。
网络。
ApacheHTTPServer于1995年2月由八位志同道合的开发人员重写,成功解决了单独工作的局限性,并发布了基于NCSAHTTPd的服务器软件。
Apache这个名字一方面来自于一个原住民部落的名字,意味着软件高效可靠,另一方面与NCSAHTTPd上的补丁程序谐音,意思是“Web服务器”。
1999年6月,Apache开发团队成员成立了Apache软件基金会,支持许多世界知名的开源软件的开发,其中就包括ApacheTomcat。
Tomcat作为服务器容器,支持运行编写的程序在Java语言中,它的名字来源于“雄性猫”,象征着懂得照顾自己的动物,代表着软件的自主性和力量,是Jakarta项目的一个子项目,合作开发的。
与孙和其他人该公司的主要技术不在于是一个完整的服务器软件,而在于其强大的容器功能,专门用于运行Java程序的Tomcat与ApacheHTTPServer协作,Apache接收请求,将Servlet和JSP请求转发给Tomcat处理并最终传输。
Tomcat中运行Java程序的模块称为Catalina。
这个名字来源于美国西海岸洛杉矶附近的一个小岛Catalina的美丽景色,CatalinaServlet执行模块的开发者CraigMcClanahan因为喜欢这个岛而将其命名。
关于Oracle中用户名“scott”和密码“tiger”的由来,这个有趣的问题与Oracle第一批员工之一的BruceScott有关。
他是Oracle的第一批员工之一,并创建了SCOTT模式和TIGER密码。
老虎是他的猫的名字。
这个选择可能源于他对养猫的美好回忆,也体现了这个用户名和密码组合的个人色彩。

apache是什么?租借的服务器,是否需要apache?

Apache服务器的设置文件位于/usr/local/apache/conf/目录中。
传统上,三个配置文件httpd.conf、access.conf和srm.conf用于配置机器Apache主机的操作。
httpd.conf提供了最基本的服务器配置,是httpd守护进程如何运行的技术描述;srm.conf是服务器的资源映射文件,它告诉服务器不同文件的MIME类型以及如何支持这些文件access.conf;用于配置服务器访问,控制不同用户和计算机的访问限制;这三个配置文件控制着服务器各方面的特性,因此为了服务器的正常运行,需要设置这三个文件。
向上。
除了这三个设置文件之外,Apache还使用mime.types文件来定义不同文件对应的MIME类型。
magic文件为不同的MIME类型文件设置了一些特殊的标识符,使得Apache服务器无法确定这些文件的MIME。
来自文档后缀的文件。
通过文件内容中的这些特殊标签可以确定文件的类型、MIME类型。
bash-2.02$ls-l/usr/local/apache/conftotal100-rw-r--r--1rootwheel348Apr1616:01access.conf-rw-r--r--1rootwheel348Feb1313:33access.conf.default-rw-r--r--1rootwheel30331May2608:55httpd.conf-rw-r--r--1rootwheel29953Feb1313:33httpd.conf.default-rw-r--r--1rootwheel12441Apr1915:42magic-rw-r--r--1rootwheel12441Feb1313:33magic.default-rw-r--r--1rootwheel7334Feb1313:33mime.types-rw-r--r--1rootwheel383May1317:01srm.conf-rw-r--r--1rootwheel357Feb1313:33srm.conf.default实际上,当前版本的Apache将原始httpd.conf、srm.conf和access.conf中的所有配置参数放入单个httpd.conf配置文件中,仅与以前的版本兼容。
这种使用三个配置文件的方法来自NCSA-httpd),这里只使用了三个配置文件。
access.conf和srm.conf文件中未提供特定设置。
于在新版本的Apache中所有设置都位于httpd.conf中,因此您只需调整该文件中的设置即可。
下面以默认的httpd.conf为例,说明Apache服务器的不同设置选项。
不过,不用担心,因为它提供了太多需要设置的参数。
基本上这些参数都清楚了,不用做任何修改就可以运行Apache服务器了。
但如果您需要调整Apache服务器的性能并添加对某些功能的支持,则需要了解这些设置参数的含义。
互联网上关于Apache服务器的性能存在很多争议。
基本上,使用Apache的用户对其优异的性能是毫无疑问的。
不过,根据商业机构的评估。
阿帕奇的得分往往很低。
许多人指出,在这些评论中,商业网络服务器及其操作系统通常是由专业公司的工程师进行性能调整的,而免费的操作系统和网络服务器通常使用默认配置或仅进行较小的更改。
需要指出的是,除了性能调优之外对于操作系统来说,Apache服务器本身的默认配置并不是最优化、最高效的,而是必须适应几乎所有类型的操作系统、所有类型的硬件和众多平台的设置。
该软件无法为特定平台和硬件提供最佳的默认配置。
因此,在使用Apache时,性能调优至关重要。
商业评论中另一个被忽视的事实是,评论经常比较不同类型的功能。
例如,使用Apache的标准CGI的性能与ISAPI和NSAPI等服务器端API进行比较。
具有这些功能的有modperl、FastCGI,类似ASP的功能有PHP等。
但由于Apache的开放模型,这些功能都是由独立的开发团队作为独立的模块实现的。
但在评估过程中,测试人员并没有添加相应的模块来评估其性能。
HTTP守护进程的运行参数httpd.conf首先定义了httpd守护进程运行时需要的一些参数,以确定其运行模式和运行环境。
ServerTypestandaloneServerType确定服务器的启动模式。
默认值是独立的。
httpd服务器将自动启动并驻留在服务器上监视连接请求。
在Linux中,启动文件/etc/rc.d/rc.local/init.d/a自动启动pache中的Web服务器,此方法是推荐设置。
启动Apache服务器的另一种方法是inet方法,它使用inetd超级服务器来监视连接请求并启动服务器。
当需要使用inetd启动模式时,需要更改此设置,阻止文件/etc/rc.d/rc.local/init.d/apache,更改/etc/inetd.conf并重新启动inetd,然后Apache将可以从inetd启动。
两种方法之间的区别在于,在独立方法中,服务器管理自己的启动过程,因此可以在启动时立即启动服务器的多个副本。
每个副本都驻留在内存中。
有连接请求时的子进程。
它可以即时处理,对客户端浏览器请求的响应速度更快,并且具有更高的性能。
inetd方法告诉inetd仅在检测到连接请求后才启动http服务器。
由于inetd要监听如此多的端口,响应速度较慢,效率较低,但它节省了Web服务器在无连接时占用的资源。
要求。
因此,inetd方法仅用于偶尔访问且对访问速度要求不高的服务器。
事实上,inetd方法并不适合http的突发性和多连接特性,因为一个页面可以包含很多图像,而每个图像都会引起一次连接请求。
虽然访客数量很少,但连接请求却非常大。
立即的。
尤其重要的是,这受到inetd性能的限制,甚至可能影响inetd启动的其他服务器程序。
ServerRoot"/usr/local"ServerRoot用于引用指定httpd守护进程的运行目录。
一旦httpd启动,它会自动将进程的当前目录更改为该目录。
因此,如果在设置中指定了文件或文件夹。
file是相对路径那么它是正确的。
此路径位于此ServerRoot定义的路径下方。
由于httpd经常并发执行文件操作,因此需要使用锁定来保证文件操作不发生冲突。
由于NFS文件系统锁定文件的能力有限,因此该目录必须是本地磁盘文件系统,不应使用。
NFS文件系统。
#LockFile/var/run/httpd.lockLockFile参数指定httpd守护程序的锁定文件。
一般情况下无需设置该参数。
Apache服务器会自动工作在ServerRoot下面的路径中。
但如果ServerRoot是NFS文件系统,则需要使用该参数指定本地文件系统中的路径。
PidFile/var/run/httpd.pidPidFile指定的文件会记录httpd守护进程的进程号由于httpd可以自动复制自身,所以系统中有很多httpd进程,但只有一个是最初启动的进程。
是其他进程的父进程,向该进程发送信号会影响所有httpd进程。
httpd父进程的进程号记录在PidFILE标识的文件中。
ScoreBoardFile/var/run/httpd.scoreboardhttpd使用ScoreBoardFile来维护进程内部数据,因此通常不需要更改此参数,除非管理员希望在一台计算机上运行多个Apache服务器,在这种情况下每个Apache服务器都需要有自己的httpd.conf设置文件并使用不同的ScoreBoardFile。
#ResourceConfigconf/srm.conf#AccessConfigconf/access.confResourceConfig和AccessConfig这两个参数用于与使用srm.conf和access.conf设置文件的版Apache兼容。
如果不需要兼容,可以将对应的设置文件指定为/dev/null,即没有其他设置文件,只有一个文件httpd.conf用于保存所有设置。
Timeout300Timeout定义了客户端程序与服务器连接的超时时间,一旦超过这个时间段(秒),服务器就会断开与客户端的连接。
KeepAliveOn在HTTP1.0中,一个连接只能传输一个HTTP请求,KeepAlive参数用于支持HTTP1.1版本的单连接、多播功能,可以在一个连接中传输多个HTTP请求。
尽管此功能仅受较新的浏览器支持,但请启用此选项。
MaxKeepAliveRequests100MaxKeepAliveRequests是单个连接中可以发出的最大HTTP请求数。
将其值设置为0将支持单个连接中无限数量的传输请求。
实际上,没有客户端程序在单个连接中请求如此多的页面,并且连接通常在达到此上限之前完成。
KeepAliveTimeout15KeepAliveTimeout检查连接中多个请求传输之间的时间。
如果服务器已经完成了一个请求,但还没有收到客户端程序的下一个请求,则在超过该参数设置的时间后,服务器将断开连接。
MinSpareServers5MaxSpareServers10在使用子进程处理HTTP请求的Web服务器上,由于必须首先创建子进程来处理客户端的请求,因此响应时间会有些慢。
不过,Apache服务器使用了一种特殊的技术来解决这个问题,那就是预先创建许多空闲的子进程驻留在系统中。
一旦有请求发生,这些空闲的子进程就会立即被用来处理,从而。
产卵过程不会造成延迟。
随着运行过程中客户端请求数量的增加,启动的子进程数量也会增加。
但是,这些服务器副本在处理完HTTP请求后不会立即退出,而是保留在计算机上等待下一个请求。
但是,备用子进程的副本数量不能在不减少的情况下增加。
过多的冗余子进程没有处理任务,占用了服务器的处理能力。
因此,备份副本的数量也必须受到限制,以保持适当的水平。
能够及时处理客户请求还可以减少不必要的流程。
因此,可以使用MinSpareServers参数设置最小空闲子进程数,使用MaxSpareServers参数限制最大空闲子进程数和冗余服务器进程副本退出。
根据服务器实际情况进行设置。
如果服务器性能较高,访问频繁,则应增大这两个参数的设置。
对于负载较高的专业站点,这两个值应该大致相同,等于系统支持的最大服务器副本数量,同时还要减少不必要的副本退出数量。
StartServers5StartServers参数用于设置httpd启动时启动的子进程副本数量。
该参数与上面定义的MinSpareServers和MaxSpareServers参数相关,这两个参数都是用来启动空闲子进程,以提高服务器响应速度。
该参数必须设置为前两个值之间的一个值。
小于MinSpareServers且大于MaxSpareServers是没有意义的。
MaxClients150另一方面,服务器的能力有限,无法同时处理大量连接请求。
因此,Maxclients参数用于指定支持的最大并发客户端数。
server如果该值设置得太大,系统在繁忙期间将不得不在过多的进程之间切换来服务过多的客户端,这会减慢对单个客户端的响应速度并降低整体效率。
如果这个值设置的较小,有些请求当系统繁忙时,客户端连接将被拒绝。
当服务器性能较高时,可以适当增大该值设置。
对于专业网站,应采用提高服务器效率的策略,因此该参数不能超过硬件本身的限制。
如果频繁出现拒绝访问的情况,则说明服务器硬件需要升级。
对于不太关心客户浏览器响应速度的非专业网站,或者认为响应速度慢一点比拒绝连接好,可以将该参数设置为稍微超过硬件条件。
该参数限制了MinSpareServers和MaxSpareServers的设置,它们不能大于该参数的设置。
MaxRequestsPerChild30使用子进程来提供Web服务。
常见的方法是一个子进程服务一个连接。
由此带来的问题是每个连接都需要创建和退出子进程的系统活动,使得这些进程变得额外。
处理需要很多时间。
因此,最好由一个子进程来服务多个连接请求,这样系统就不需要消耗创建和退出进程。
Apache将采用这种方法。
一旦连接完成,子进程就不会退出。
但它仍然留在系统中等待下一个服务请求,这显着提高了性能。
但由于子进程在处理过程中必须不断地请求和释放内存,次数过多会造成一些内存垃圾,影响系统稳定性和原有系统资源的有效利用。
所以在一个副本处理完一定数的请求后,可以退出子进程副本,从原来的httpd进程中再次复制出一个干净的副本,这样可以提高系统的稳定性。
这样,每个子进程处理的服务请求数就由MaxRequestPerChild决定。
默认设置为30,对于高度稳定的Linux系统来说过于保守。
它可以设置为1000甚至更高。
设置为0支持每个副本不受限制的服务处理。
#Listen3000#Listen12.34.56.78:80#BindAddress*Listen参数可以指定服务器应该监听标准端口80以外的端口上的HTTP请求。
由于FreeBSD系统可以同时拥有多个地址IP,所以也是可以的指定服务器仅侦听对给定BindAddress的IP地址的HTTP请求。
如果未配置,服务器将响应所有IP的请求。
即使使用BindAddress参数使服务器只响应一个IP地址的请求,仍然可以使用Listen参数扩展创建HTTP守护进程来响应其他IP地址的请求。
现在使用Listen参数与上面的第二个示例相同。
这个使用起来比较复杂主要用于搭建虚拟服务器。
然后,您可以使用VirtualHost参数来识别具有不同IP的虚拟主机。
然而,这种用法是以前根据HTTP1.0标准设置虚拟服务器的方法。
每个虚拟服务器都需要一个IP地址,这实际上不是很有用。
在HTTP1.1中,增加了对单个IP地址和多个域的虚拟服务器的支持,使得虚拟服务器的安装更有意义。
LoadModulemime_magic_modulelibexec/apache/mod_mime_magic.soLoadModuleinfo_modulelibexec/apache/mod_info.soLoadModulespeling_modulelibexec/apache/mod_speling.soLoadModuleproxy_modulelibexec/apache/libproxy.soLoadModulerewrite_modulelibexec/apache/mod_rewrite.soLoadModuleanon_auth_modulelibexec/apache/mod_auth_anon.soLoadModuledb_auth_modulelibexec/apache/mod_auth_db.soLoadModuledigest_modulelibexec/apache/mod_digest.soLoadModulecern_meta_modulelibexec/apache/mod_cern_meta.soLoadModuleexpires_modulelibexec/apache/mod_expires.soLoadModuleheaders_modulelibexec/apache/mod_headers.soLoadModuleusertrack_modulelibexec/apache/mod_usertrack.soLoadModuleunique_id_modulelibexec/apache/mod_unique_id.soClearModuleListAddModulemod_env.cAddModulemod_log_config.cAddModulemod_mime_magic.cAddModulemod_mime.cAddModulemod_negotiation.cAddModulemod_status.cAddModulemod_info.cAddModulemod_include.cAddModulemod_autoindex.cAddModulemod_dir.cAddModulemod_cgi.cAddModulemod_asis.cAddModulemod_imap.cAddModulemod_actions.cAddModulemod_speling.cAddModulemod_userdir.cAddModulemod_proxy.cAddModulemod_alias.cAddModulemod_rewrite.cAddModulemod_access.cAddModulemod_auth.cAddModulemod_auth_anon.cAddModulemod_auth_db.cAddModulemod_digest.cAddModulemod_cern_meta.cAddModulemod_expires.cAddModulemod_hEarers.cAddModulemod_usertrack.cAddModulemod_unique_id.cAddModulemod_so.cAddModulemod_setenvif.cApache服务器的一个重要特征是它的模块化结构,这不仅表明它可以通过新模块添加新功能,而且还表明它的模块可以动态加载到服务器中。
http服务程序不加载非模块必要的。
要使用Apache动态加载模块,只需设置LoadModule和AddModule参数即可。
该功能就是Apache的DSO(DynamicSharedObject)功能。
然而,充分利用DSO功能仍然不是一件简单的事情。
适当修改一下,这个设置可能会导致服务器无法正常启动。
因此,如果您不想增加或减少服务器提供的功能,请勿更改此处的设置。
上面的列表显示了Linux中默认Apache服务器支持的模块。
事实上,很多模块是不需要的,不需要的模块不会被加载到内存中。
模块可以在pache服务器内部静态连接或动态加载。
这是移植的方法,将Apache的所有功能编译为动态可加载模块,而不是Apache的默认方法,同时牺牲很少的性能。
灵活性很大。
因此,动态加载对性能有轻微影响,因此可以重新编译Apache,将自己需要的功能编译到Apache服务器上。
这样可以让系统更加干净,效率也略有提升。
通常,不需要为此目的重新编译Apache。
如果需要重新编译Apache以添加更多功能,还可以添加更多模块并将所有模块静态连接到Apache服务器。
有些用户更喜欢动态加载的模块,因此他们不妨全部使用动态加载的模块。
这些模块位于/usr/local/apache/libexec/目录中,每个模块对应Apache服务器的一个功能。
详细解释各个模块的功能需要很大的篇幅。
稍后将在各自的位置解释更重要的功能。
关于各个模块的具体功能和使用,需要查看Apache文档。
#ExtendsStatusOnApache服务器可以通过特殊的HTTP请求报告其自身的运行状态。
启用此ExtendedStatus参数可以让服务器报告更全面的运行状态信息。
如果您自己租用服务器,则无需自行安装APACHE。
您只需让他知道您要发布的内容即可。