Web后端开发入门(2)

Web后端开发入门(2)搭建JavaWeb应用开发环境–Tomcat服务器下载与安装首先,搜索Tomcat,找到如图网址点击,进入Tomcat官网在最左边一栏,有个Download,找到最新版Tomcat9,点击下拉,找到如上图所示位置,Core核心:zip版,tar.gz版(Linux系统),32位版,64位版,安装版。前几个版本都不需要安装,如果你需要安装就下载最后一个,然后选中自己要下载的版本,下载。安装…

大家好,又见面了,我是你们的朋友全栈君。

搭建JavaWeb应用开发环境–Tomcat服务器

下载与安装

    首先,搜索Tomcat,找到如图网址

Web后端开发入门(2)

    点击,进入Tomcat官网

Web后端开发入门(2)

    在最左边一栏,有个Download,找到最新版Tomcat 9 ,点击

Web后端开发入门(2)

    下拉,找到如上图所示位置,Core 核心:zip版,tar.gz版(Linux系统),32位版,64位版 ,安装版。前几个版本都不需要安装,如果你需要安装就下载最后一个,然后选中自己要下载的版本,下载。

    安装之后,找到bin目录下的startup.bat(startup.sh是Linux操作系统的)

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环境变量,如果window中不存在JAVA_HOME环境变量,则Tomcat服务器是无法启动的。

    2.端口占用问题

    因为Tomcat服务器启动时是需要默认是使用8080端口的,如果这个8080端口被别的应用程序占用了,那么Tomcat服务器就无法正常启动,看到的现象就是Tomcat服务器启动界面会打印出异常错误信息,然后就自动关闭。如图所示

Web后端开发入门(2)

    由于这个窗口从启动到关闭的时间非常短,我们很难通过这个窗口看到Tomcat启动时的报错异常信息,因此我们一般只能通过Tomcat服务器的记录的log(日志)信息去查看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)

    打开后一直下拉到最后,添加代码,username用户名和password密码可以自己设置

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

    添加代码后重启,再打开网页点击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="访问路径">
</host>

Tomcat虚拟主机的配置

什么是虚拟主机?

一台物理机上搭建多个web站点,每个web站点独立运行,互不干扰,这些站点就是虚拟主机

基于主机名的虚拟主机配置

基于主机名的虚拟主机:多个域名解析到同一个IP地址,在WEB服务器里添加多个站点,每个站点设定一个主机名。HTTP协议请求里包含了主机名信息,当WEB服务器收到访问请求时,就可以根据不用的主机名来访问不同的网站。

步骤:

a、配置域名与IP的映射管理(对于本地局域网我们使用在host文件中添加;对于大型网络或者外网网络则需要配置DNS服务器中IP地址与域名的映射关系)

在C:\Windows\System32\drives\etc\hosts文件末尾添加:

127.0.0.1 www.lanqiao.org

127.0.0.1 www.taiyuan.org

b、配置serVer.xml

<Host name=”www.lanqiao.org” appBase=”E:”  unpackWARs=”true” autoDeploy=”true”>

<Context docBase=”e:\app1″ path=”” reloadable=”true” crossContext=”true”/>

<Value className=”org.apache.catalina.valves.AccessLogValve” directory=”logs” prefix=”localhost_access_log.” suffix=”.txt” pattern=”%h %l %u %t &quot;%rquot;%s %b”/>

</Host>

<Host name=”www.taiyuan.org” appBase=”E:\app”  unpackWARs=”true” autoDeploy=”true”>

<Context docBase=”e:\app\app2″ path=”” reloadable=”true” crossContext=”true”/>

<Value className=”org.apache.catalina.valves.AccessLogValve” directory=”logs” prefix=”localhost_access_log.” suffix=”.txt” pattern=”%h %l %u %t &quot;%r&quot;%s %b”/>

</Host>

c、测试

基于端口的虚拟主机的配置

一个IP地址没通过不同的端口实现不同网站的访问

步骤:

在serVer.xml中,设置两个serVer组件

<Service name=”Catalina”>
    <Connector port=”8080″ protocol=”HTTP/1.1″ connectionTimeout=”20000″ redirectPort=”8443″ />
    <Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ />
    <Engine name=”Catalina” defaultHost=”localhost”>
      <Realm className=”org.apache.catalina.realm.LockOutRealm”>
        <Realm className=”org.apache.catalina.realm.UserDatabaseRealm” resourceName=”UserDatabase”/>
      </Realm>
        <Host name=”www.lanqiao.org”  appBase=”E:” unpackWARs=”true” autoDeploy=”true”>
<Context docBase=”e:\app2″ path=”” reloadable=”true” crossContext=”true”/>
            <Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs”
            prefix=”localhost_access_log.” suffix=”.txt”
            pattern=”%h %l %u %t &quot;%r&quot; %s %b” />
        </Host>
    </Engine>
  </Service>
  
  <Service name=”Catalina2″>
    <Connector port=”8888″ protocol=”HTTP/1.1″  connectionTimeout=”20000″ redirectPort=”8443″ />
    <Connector port=”8010″ protocol=”AJP/1.3″ redirectPort=”8443″ />
    <Engine name=”Catalina2″ defaultHost=”localhost”>
      <Realm className=”org.apache.catalina.realm.LockOutRealm”>
        <Realm className=”org.apache.catalina.realm.UserDatabaseRealm” resourceName=”UserDatabase”/>
      </Realm>
        <Host name=”www.taiyuan.org”  appBase=”E:” unpackWARs=”true” autoDeploy=”true”>
<Context docBase=”e:\app2″ path=”” reloadable=”true” crossContext=”true”/>
            <Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs”
            prefix=”localhost_access_log.” suffix=”.txt”
            pattern=”%h %l %u %t &quot;%r&quot; %s %b” />
        </Host>
    </Engine>

  </Service>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151091.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 线性探测再散列

    线性探测再散列哈希表又称散列表。哈希表存储的基本思想是:以数据表中的每个记录的关键字k为自变量,通过一种函数H(k)计算出函数值。把这个值解释为一块连续存储空间(即数组空间)的单元地址(即下标),将该记录存储到这个单元中。在此称该函数H为哈函数或散列函数。按这种方法建立的表称为哈希表或散列表。处理冲突的方法:开放寻址法:Hi=(H(key)+di)MODm,i=1,2,…,k(k<=…

    2022年5月15日
    51
  • robotium官网[通俗易懂]

    robotium官网[通俗易懂]官网地址:https://code.google.com/p/robotium/

    2022年7月25日
    5
  • linux下卸载jdk1.7安装jdk1.8「建议收藏」

    linux下卸载jdk1.7安装jdk1.8「建议收藏」卸载jdk1.7查询java安装版本java-version查询java的安装目录echo$JAVA_HOME我以前在/etc/profile里配置了全局的JAVA_HOME、CLASSPATH和PATH,针对我这种情况想卸载的话,必须把下边这些语句删除vi/etc/profile/i进入编辑,删除之后:wq保存退出.这样的话,你的jdk1.7实际…

    2022年9月25日
    2
  • java连接redis集群方式_redis java

    java连接redis集群方式_redis javapackageorg.rx.util;importorg.redisson.Redisson;importorg.redisson.api.RedissonClient;importorg.redisson.config.Config;importorg.springframework.beans.factory.annotation.Autowired;im…

    2022年10月12日
    3
  • python for循环语句怎么写

    python for循环语句怎么写想必大家都知道 python 循环语句吧 可以 python 循环语句有多种 比如 for 循环 while 循环 if else 等等 今天小编就给大家讲讲 for 循环语句 for 循环语句是 python 中的一个循环控制语句 任何有序的序列对象内的元素都可以遍历 比如字符串 列表 元组等可迭代对像 之前讲过的 if 语句虽然和 for 语句用法不同 但可以用在 for 语句下做条件语句使用 for 语句的基本格式 pyth

    2025年8月10日
    2
  • matlab如何使用random函数,random函数

    matlab如何使用random函数,random函数手机评站网今天精心准备的是《random函数》,下面是详解!random函数的用法是turbopascal中的函数,希望有具体的介绍(有程序最好)…是turbopascal中的函数,希望有具体的介绍(有程序最好)用法:1、随机生成(0,1)之间的浮点数random.random()2、随机生成100-200的整数random.randint(100,200)3、随机产生范围为10间隔为2的…

    2022年6月7日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号