Web后端开发入门(2)

大家好,很高兴再次与你们见面,我是你们的朋友全君。

设置JavaWeb应用开发环境——tomcat服务器的下载与安装

首先,搜索Tomcat,找到如下网址:

Web后端开发入门(2) 点击链接,进入Tomcat官方网站。

Web后端开发入门(2) 在左侧栏找到“Download”选项,选择最新版的Tomcat 9,点击进入。

Web后端开发入门(2) 向下滚动,找到如图所示的位置,Core核心部分提供zip版、tar.gz版(适用于linux系统)、32位版、64位版以及安装版。如果不需要安装程序,请选择前几个版本;如果需要安装程序,则下载最后一个版本。选择适合自己的版本进行下载。

安装完成后,找到bin目录下的startup.bat文件(对于Linux系统,使用startup.sh文件)。

Web后端开发入门(2) 点击该文件,进入如下页面,可能需要稍等片刻。

Web后端开发入门(2) 当最后一行显示“org.apache.catalina.startup.Catalina.start Server startup in 2113 ms”时,表明Tomcat已成功启动。之后,将窗口最小化,在浏览器地址栏中输入“localhost:8080”。

Web后端开发入门(2) 出现如下页面,表明Tomcat已经成功启动并可以正常运行。

如果需要停止服务器,只需双击bin目录下的shutdown.bat文件即可。

如果服务器无法正常启动,通常有以下两个原因:

  1. JAVA_HOME环境变量设置问题

    要通过双击bin目录下的startup.bat文件启动Tomcat服务器,首先需要在windows中设置JAVA_HOME环境变量。因为Tomcat服务器启动时需要使用这个JAVA_HOME环境变量,如果在Windows中没有设置这个变量,Tomcat将无法启动。

  2. 端口占用问题

    Tomcat服务器默认使用8080端口,如果该端口被其他应用程序占用,Tomcat将无法正常启动。此时,你会看到Tomcat启动界面显示异常错误信息,然后自动关闭,如下图所示:

Web后端开发入门(2) 由于这个窗口从启动到关闭的时间非常短,很难捕捉到Tomcat启动时的错误信息,因此通常需要通过Tomcat服务器的日志文件来查看运行情况。

在Tomcat服务器的根目录下有一个logs文件夹,打开它,找到最新的文本文档,就可以查看服务器的运行情况。

如果8080端口被占用,需要修改Tomcat的默认端口。找到Tomcat下的conf->server.xml文件,找到如下所示的位置:

Web后端开发入门(2) 8080是Tomcat的默认端口号,直接修改为1024以上的端口号,保存后,重复前面的步骤进行验证。

Tomcat的一些常用配置如下:

Web后端开发入门(2) 在这个页面中,右上角有一个“Host Manager”选项,用于管理部署在主机上的程序;“Manager APP”选项用于管理一些配置,需要登录;“Developer Quick Start”下的“Tomcat Setup”是帮助文档,“Example”是示例代码,“JDBC Data Sources”是数据源。

Manager APP配置

在Tomcat->conf->tomcat.xml文件中:

Web后端开发入门(2) 打开文件并一直向下滚动到最后,添加如下代码,用户名和密码可以自行设置:

<role rolename="manager-gui"></role><user password="admin" roles="manager-gui" username="admin"></user>

添加代码后重启Tomcat,再次打开网页并点击“Manager APP”,输入用户名和密码,即可登录到如下页面:

Web后端开发入门(2)将Tomcat配置到服务列表中,使之随系统启动而启动:

  1. 添加服务

    使用cmd工具,并进入Tomcat根/bin目录,执行

    service install

    命令,刷新Windows服务列表。

Web后端开发入门(2) 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

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享