大家好,很高兴再次与你们见面,我是你们的朋友全栈君。
设置JavaWeb应用开发环境——tomcat服务器的下载与安装
首先,搜索Tomcat,找到如下网址:
点击链接,进入Tomcat官方网站。
在左侧栏找到“Download”选项,选择最新版的Tomcat 9,点击进入。
向下滚动,找到如图所示的位置,Core核心部分提供zip版、tar.gz版(适用于linux系统)、32位版、64位版以及安装版。如果不需要安装程序,请选择前几个版本;如果需要安装程序,则下载最后一个版本。选择适合自己的版本进行下载。
安装完成后,找到bin目录下的startup.bat文件(对于Linux系统,使用startup.sh文件)。
点击该文件,进入如下页面,可能需要稍等片刻。
当最后一行显示“org.apache.catalina.startup.Catalina.start Server startup in 2113 ms”时,表明Tomcat已成功启动。之后,将窗口最小化,在浏览器地址栏中输入“localhost:8080”。
出现如下页面,表明Tomcat已经成功启动并可以正常运行。
如果需要停止服务器,只需双击bin目录下的shutdown.bat文件即可。
如果服务器无法正常启动,通常有以下两个原因:
-
JAVA_HOME环境变量设置问题
要通过双击bin目录下的startup.bat文件启动Tomcat服务器,首先需要在windows中设置JAVA_HOME环境变量。因为Tomcat服务器启动时需要使用这个JAVA_HOME环境变量,如果在Windows中没有设置这个变量,Tomcat将无法启动。
-
端口占用问题
Tomcat服务器默认使用8080端口,如果该端口被其他应用程序占用,Tomcat将无法正常启动。此时,你会看到Tomcat启动界面显示异常错误信息,然后自动关闭,如下图所示:
由于这个窗口从启动到关闭的时间非常短,很难捕捉到Tomcat启动时的错误信息,因此通常需要通过Tomcat服务器的日志文件来查看运行情况。
在Tomcat服务器的根目录下有一个logs文件夹,打开它,找到最新的文本文档,就可以查看服务器的运行情况。
如果8080端口被占用,需要修改Tomcat的默认端口。找到Tomcat下的conf->server.xml文件,找到如下所示的位置:
8080是Tomcat的默认端口号,直接修改为1024以上的端口号,保存后,重复前面的步骤进行验证。
Tomcat的一些常用配置如下:
在这个页面中,右上角有一个“Host Manager”选项,用于管理部署在主机上的程序;“Manager APP”选项用于管理一些配置,需要登录;“Developer Quick Start”下的“Tomcat Setup”是帮助文档,“Example”是示例代码,“JDBC Data Sources”是数据源。
Manager APP配置
在Tomcat->conf->tomcat.xml文件中:
打开文件并一直向下滚动到最后,添加如下代码,用户名和密码可以自行设置:
<role rolename="manager-gui"></role><user password="admin" roles="manager-gui" username="admin"></user>
添加代码后重启Tomcat,再次打开网页并点击“Manager APP”,输入用户名和密码,即可登录到如下页面:
将Tomcat配置到服务列表中,使之随系统启动而启动:
-
添加服务
使用cmd工具,并进入Tomcat根/bin目录,执行
service install
命令,刷新Windows服务列表。
2. 删除服务
使用cmd工具,并进入Tomcat根/bin目录,执行
service remove
命令,刷新Windows服务列表。
配置Tomcat的虚拟目录:
在Tomcat下的conf文件夹中,找到server.xml文件,添加如下代码:
<host><context docbase="项目文件的真实物理路径" path="访问路径"></context></host>
Tomcat虚拟主机的配置
什么是虚拟主机?
在同一台物理机上搭建多个Web站点,每个站点独立运行且互不干扰,这些站点称为虚拟主机。
基于主机名的虚拟主机配置
基于主机名的虚拟主机:多个域名解析到同一个IP地址,在Web服务器中添加多个站点,每个站点设置一个主机名。http协议请求中包含主机名信息,当Web服务器收到访问请求时,可以根据不同的主机名访问不同的网站。
步骤:
a、配置域名与IP的映射管理(对于本地局域网,我们在host文件中添加;对于大型网络或外网网络,则需要在DNS服务器中配置IP地址与域名的映射关系)
在C:WindowsSystem32driversetchosts文件末尾添加:
127.0.0.1 www.lanqiao.org
127.0.0.1 www.taiyuan.org
b、配置server.xml文件:
<host appbase="E:" autodeploy="true" name="www.lanqiao.org" unpackwars="true"></host> <context crosscontext="true" docbase="e:app1" path="" reloadable="true"></context> <value classname="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h" prefix="localhost_access_log." suffix=".txt"></value> <host appbase="E:app" autodeploy="true" name="www.taiyuan.org" unpackwars="true"></host> <context crosscontext="true" docbase="e:appapp2" path="" reloadable="true"></context> <value classname="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h" prefix="localhost_access_log." suffix=".txt"></value>
c、测试
基于端口的虚拟主机配置
通过不同的端口实现同一IP地址下的不同网站访问。
步骤:
在server.xml中,设置两个service组件:
<service name="Catalina"><connector connectiontimeout="20000" port="8080" protocol="HTTP/1.1" redirectport="8443"></connector><connector port="8009" protocol="AJP/1.3" redirectport="8443"></connector><engine defaulthost="localhost" name="Catalina"><realm classname="org.apache.catalina.realm.LockOutRealm"><realm classname="org.apache.catalina.realm.UserDatabaseRealm" resourcename="UserDatabase"/></realm><host appbase="E:" autodeploy="true" name="www.lanqiao.org" unpackwars="true"><context crosscontext="true" docbase="e:app2" path="" reloadable="true"><valve classname="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h" prefix="localhost_access_log." suffix=".txt"></valve></context></host></realm></engine></service><service name="Catalina2"><connector connectiontimeout="20000" port="8888" protocol="HTTP/1.1" redirectport="8443"></connector><connector port="8010" protocol="AJP/1.3" redirectport="8443"></connector><engine defaulthost="localhost" name="Catalina2"><realm classname="org.apache.catalina.realm.LockOutRealm"><realm classname="org.apache.catalina.realm.UserDatabaseRealm" resourcename="UserDatabase"/></realm><host appbase="E:" autodeploy="true" name="www.taiyuan.org" unpackwars="true"><context crosscontext="true" docbase="e:app2" path="" reloadable="true"><valve classname="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h" prefix="localhost_access_log." suffix=".txt"></valve></context></host></realm></engine></service>
发布者:全栈程序员栈长,转载请注明出处:https://www.php.cn/link/174fa28f35090a13aa4bab118835a571