Mac配置Apache +Tomcat

2021-12-07  本文已影响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>

<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页面相关信息

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

上一篇下一篇

猜你喜欢

热点阅读