美文网首页
Mac配置Apache +Tomcat

Mac配置Apache +Tomcat

作者: 码上版码 | 来源:发表于2021-12-07 00:02 被阅读0次

    Apache+Tomcat 简单理解

    web服务器(静态解析,如HTML),并且通过配置也可以支持PHP 通过 http://localhost/ 打开默认⻚面

    java应用服务器(动态解析,如JSP) Tomcat可以独立于apache运行,同为服务器,Tomcat的特别之处在于它还是Java的Web容器,能够处理JSP;而Apache一般是与PHP结合,并不能处理JSP。 通过 http://localhost:8080 打开默认⻚面

    总结:

    如果客户端请求的是静态⻚面,则只需要Apache服务器响应请求 如果客户端请求动态⻚面,则是Tomcat服务器响应请求(因为jsp是服务器端解释代码的,这样整 合就可以减少Tomcat的服务开销)

    一、安装Apache服务器

    1、启动Apache

    // 在mac查看Apache是否安装
    打开Mac的终端,输入下面的命令,开启Apache服务(因为sudo是系统管理命令,所以需要输入Mac密码):

    Air ~ % sudo apachectl -v
    Password:
    Server version: Apache/2.4.48 (Unix)
    Server built:   Oct  1 2021 20:08:18
    

    // 开启Apache服务

    Air ~ % sudo apachectl start  // 开启
    Air ~ % sudo apachectl restart   // 重启
    Air ~ % sudo apachectl stop   // 停止
    

    查看Apache服务是否开启成功,在浏览器中输入:localhost:80(80是默认端口),如果浏览器中显示 It Works!则证明Apache服务开启成功。


    image.png

    2、改变Apache服务的端口

    Apache服务默认安装路径:/etc/apache2,进入Apache的安装目录,打开httpd.conf,搜索Listen 80,修改成你想要的端口号即可。(注:对配置文件修改过后要一定要重启Apache服务)


    image.png
    image.png
    image.png
    image.png

    3、Apache服务默认项目目录

    Apache服务部署路径在 /Library/WebServer/Documents 目录下,使用快捷键command+空格 后输入:/L 后回车,进入Library(资源库),进入到/WebServer文件夹下的Documents目录就是Apache服务的部署路径,项目需要放在此目录下。

    4、改变Apache服务默认项目部署路径

    修改默认部署路径,可以在/etc/apache2目录下找到并打开httpd.conf文件,找到 DocumentRoot ,更改路径即可,然后重启服务。


    image.png

    二、配置Tomcat服务器

    1、下载tomcat

    登录Apache Tomcat官网,地址 http://tomcat.apache.org,点击左边的Download,下载右边Core下的第一个资源zip。

    image.png

    2、设置本地放置路径

    下载后解压下来重名名为ApacheTomcat,并放到磁盘的/usr/local下:打开Finder—>前往文件夹—> /usr/local/ 目录下,把下载下来包解压,之后然后命名为apache-tomcat8,放进来这里。


    image.png
    image.png
    image.png
    image.png
    image.png

    3、启动Tomcat

    打开终端,切换路径到apache-tomcat8的bin目录下并执行启动文件:

    Air ~ % cd /usr/local/apache-tomcat8/bin/
    Air bin % ./startup.sh
    

    如果提示Permission denied:那是因为没有.sh的权限。

    zsh: permission denied: ./startup.sh
    

    可以使用下面的chmod命令开放所有.sh文件权限:

    Air bin % chmod u+x *.sh
    

    再次执行 startup.sh 即可启动服务

    Air bin % ./startup.sh  
    Using CATALINA_BASE:   /usr/local/apache-tomcat8
    Using CATALINA_HOME:   /usr/local/apache-tomcat8
    Using CATALINA_TMPDIR: /usr/local/apache-tomcat8/temp
    Using JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home
    Using CLASSPATH:       /usr/local/apache-tomcat8/bin/bootstrap.jar:/usr/local/apache-tomcat8/bin/tomcat-juli.jar
    Using CATALINA_OPTS:   
    Tomcat started.
    

    打开我们的浏览器,然后网址输入 http://localhost:8080/,如果出现一只猫,则证明配置成功~

    image.png

    4、修改使用的端口号

    如果使用的端口号8080不能使用,可通过修改conf文件下的server.xml配置文件来使用其他端口:

    image.png
    修改69行的port为新的端口号(以8090为例)
    修改前
    image.png
    修改后
    image.png
    重新启动服务,在浏览器中访问http://localhost:8090/
    Air bin % ./shutdown.sh
    Using CATALINA_BASE:   /usr/local/apache-tomcat8
    Using CATALINA_HOME:   /usr/local/apache-tomcat8
    Using CATALINA_TMPDIR: /usr/local/apache-tomcat8/temp
    Using JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home
    Using CLASSPATH:       /usr/local/apache-tomcat8/bin/bootstrap.jar:/usr/local/apache-tomcat8/bin/tomcat-juli.jar
    Using CATALINA_OPTS:   
    NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
    
    Air bin % ./startup.sh 
    Using CATALINA_BASE:   /usr/local/apache-tomcat8
    Using CATALINA_HOME:   /usr/local/apache-tomcat8
    Using CATALINA_TMPDIR: /usr/local/apache-tomcat8/temp
    Using JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home
    Using CLASSPATH:       /usr/local/apache-tomcat8/bin/bootstrap.jar:/usr/local/apache-tomcat8/bin/tomcat-juli.jar
    Using CATALINA_OPTS:   
    Tomcat started.
    
    image.png

    5、配置Tomcat应用管理GUI用户

    打开conf文件夹下的tomcat-users.xml 添加一个用户:

    image.png
    <role rolename="manager-gui"/>
    <user username="tomcat" password="tomcat8" roles="manager-gui"/>
    
    image.png
    重新启动服务,访问 http://localhost:8090 , 点击Manager App:
    Air bin % ./shutdown.sh
    Using CATALINA_BASE:   /usr/local/apache-tomcat8
    Using CATALINA_HOME:   /usr/local/apache-tomcat8
    Using CATALINA_TMPDIR: /usr/local/apache-tomcat8/temp
    Using JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home
    Using CLASSPATH:       /usr/local/apache-tomcat8/bin/bootstrap.jar:/usr/local/apache-tomcat8/bin/tomcat-juli.jar
    Using CATALINA_OPTS:   
    NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
    liying@liyingdeAir bin % ./startup.sh 
    Using CATALINA_BASE:   /usr/local/apache-tomcat8
    Using CATALINA_HOME:   /usr/local/apache-tomcat8
    Using CATALINA_TMPDIR: /usr/local/apache-tomcat8/temp
    Using JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home
    Using CLASSPATH:       /usr/local/apache-tomcat8/bin/bootstrap.jar:/usr/local/apache-tomcat8/bin/tomcat-juli.jar
    Using CATALINA_OPTS:   
    Tomcat started.
    
    image.png

    输入用户名与密码,即刚设置的 tomcat 与 tomcat8


    image.png
    image.png

    6、Tomcat的目录结构及作用

    |- bin:存放tomcat的命令。

    catalina.bat命令:

    startup.bat-> catalina.bat start

    shutdown.bat- > catalina.bat stop

    |- conf:存放tomcat的配置信息。其中server.xml文件是核心的配置文件。

    |-lib:支持tomcat软件运行的jar包。其中还有技术支持包,如servlet,jsp

    |-logs:运行过程的日志信息

    |-temp:临时目录

    |-webapps:共享资源目录。web应用目录。(注意不能以单独的文件进行共享)

    |-work:tomcat的运行目录。jsp运行时产生的临时文件就存放在这里

    |- WebRoot :web应用的根目录

    |-静态资源(html+css+js+image+vedio)

    |-WEB-INF:固定写法。

    |-classes:(可选)固定写法。存放class字节码文件

    |-lib:(可选)固定写法。存放jar包文件。

    |-web.xml

    注意:

    1)WEB-INF目录里面的资源不能通过浏览器直接访问

    2)如果希望访问到WEB-INF里面的资源,就必须把资源配置到一个叫web.xml的文件中。

    7、Tomcat_web.xml配置详解

    tomcat生命周期 :web.xml的加载过程是context-param >> listener >> fileter >> servlet

    1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param>
    2. 紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.
    3. 容器将<context-param></context-param>转化为键值对,并交给ServletContext.
    4. 容器创建<listener></listener>中的类实例,即创建监听.

    web.xml标签

    <context-param>

    <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                classpath:/applicationContext*.xml
            </param-value>
        </context-param>
    

    作用:该元素用来声明应用范围(整个WEB项目)内的上下文初始化参数。param-name 设定上下文的参数名称。必须是唯一名称param-value 设定的参数名称的值

    <listener>

        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
    

    作用:只初始化一次,随web应用的停止而销毁。主要作用是: 做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等 例子表示初始化Spring上下文

    常用监听:

    1. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> :spring自动装配application

    2. <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>:Spring 刷新Introspector防止内存泄露

      <filter>

    <filter>
            <filter-name>MyFilter</filter-name>
            <filter-class>xxxxx.MyFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>MyFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    

    作用:针对url配置的过滤器类

    <session-config>

    <session-config>
            <session-timeout>2</session-timeout>    //2分钟后session失效
        </session-config>
    
    • 优先级:Servlet中API设置 > 程序/web.xml设置 > Tomcat/conf/web.xml设置

    <error-page>

        <error-page>
            <exception-type>java.lang.Throwable</exception-type>    //没有处理此类异常进入
            <location>/common/500.jsp</location>
        </error-page>
        <error-page>
            <error-code>500</error-code>
            <location>/common/500.jsp</location>
        </error-page>
    

    作用:系统的最后屏障,对某些异常和异常状态码的最后检测防止系统进入不可预计的页面

    <jsp-config>

    作用:配置Jsp页面相关信息

    • <taglib>:自定义标签库

    记得重启tomcat,终端输入:brew services restart tomcat

    相关文章

      网友评论

          本文标题:Mac配置Apache +Tomcat

          本文链接:https://www.haomeiwen.com/subject/xoqoxrtx.html