该系列文章只是本人的学习笔记,文章中的文字描述提取自《Linux鸟哥私房菜》《Linux运维之道》等书中的重点内容,部分内容是在培训Linux运维时总结的笔记,化繁为简能够在工作中快速复习掌握重点,并不代表个人立场,但转载请加出处,并注明参考文献。

Tomcat是Apache软件基金会 (Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成.由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器.

Tomcat环境搭建

1.由于Tomcat使用Java开发,所以应该下载并安装JDK.

[root@localhost ~]# wget http://www.oracle.com/technetwork/java/javase/downloads/index.html
[root@localhost ~]# tar -xzvf jdk-*.tar.gz -C /usr/local/
[root@localhost ~]# mv /usr/local/jdk-*/ /usr/local/jdk

2.修改环境配置文件写入以下内容,保证下次开机配置好Java环境.

[root@localhost ~]# vim /etc/profile

#------------------------------------------------------------------
#Java-JDK-Path
export JAVA_HOME=/usr/local/jdk
export JAVA_BIN=/usr/local/jdk/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
#------------------------------------------------------------------ [root@localhost ~]# source /etc/profile

3.下载并解压安装Tomcat.

[root@localhost ~]# wget http://tomcat.apache.org/tomcat9.0.7.tar.gz
[root@localhost ~]# tar -xzvf apache-tomcat-9.0.7.tar.gz -C /usr/local/
[root@localhost ~]# mv /usr/local/apache-tomcat-9.0.7/ /usr/local/tomcat

4.修改环境配置文件写入以下内容.

[root@localhost ~]# vim /etc/profile

#------------------------------------------------------------------
#Apache-Tomcat-Path export TOMCAT_HOME=/usr/local/tomcat
export PATH=$PATH:$TOMCAT_HOME/bin
#------------------------------------------------------------------ [root@localhost ~]# source /etc/profile

5.赋予可执行权限,启动Tomcat,并设置成开机自启动.

[root@localhost ~]# chmod -R 755 /usr/local/tomcat/bin/*
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start
[root@localhost ~]# echo "/usr/local/tomcat/bin/catalina.sh start" >> /etc/profile

部署静态页面

1.创建一个默认目录,用来保存起始页面.

[root@localhost ~]# mkdir -p /usr/local/tomcat/webindex
[root@localhost ~]# echo "hello world" > /usr/local/tomcat/webindex/index.html

2.修改tomcat主配置文件,具体只需要修改两处位置即可.

[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml

67          Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
68 -->
69 <Connector port="80" protocol="HTTP/1.1" #将此处端口改为80
70 connectionTimeout="20000"
71 redirectPort="8443" />
72 <!-- A "Connector" using the shared thread pool-->
73 <!--
......
157 <!-- Access log processes all example.
158 Documentation at: /docs/config/valve.html
159 Note: The pattern used is equivalent to using pattern="common" -->
160 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
161 prefix="localhost_access_log" suffix=".txt"
162 pattern="%h %l %u %t &quot;%r&quot; %s %b" />
163 <Context path="" docBase="/usr/local/tomcat/webindex" reloadable="false" /> #添加本行,指定一下配置文件位置
164
165 </Host>
166 </Engine>

3.重新启动Tomcat,稍等片刻即可完成部署.

[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh stop
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start

Java-war包部署

1.将War包拷入到 /usr/local/tomcat/webapps 目录下,并删除 ROOT 缓存目录.

[root@localhost ~]# cp -a *.war  /usr/local/tomcat/webapps/
[root@localhost ~]# rm -fr /usr/local/tomcat/webapps/ROOT/*

2.编辑Tomcat主配置文件,在相应的区域中加入以下标★语句.

[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml

146       </Realm>
147
148 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
★ <Context path="" docBase="war包名称.war" debug="0" privileged="true"/>
150
151 <!-- SingleSignOn valve, share authentication between web applications
152 Documentation at: /docs/config/valve.html -->
153 <!--
154 <Valve className="org.apache.catalina.authenticator.SingleSignOn" />

3.重新启动Tomcat,稍等片刻即可完成部署.

[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh stop
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start

Tomcat虚拟主机

◆基于端口虚拟主机◆

基于端口的虚拟主机,可以让用户通过端口号,来访问服务器上的资源,在配置虚拟网站时,基于端口的配置方式最为复杂,以下实验将实现在一台服务器上配置多个端口,搭建多个网站,每个网站使用一个端口.

1.首先在tomcat目录创建两个目录分别存放两个虚拟主机页面.

[root@localhost ~]# mkdir -p /usr/local/tomcat/virtual
[root@localhost ~]# mkdir -p /usr/local/tomcat/virtual/vhost1
[root@localhost ~]# mkdir -p /usr/local/tomcat/virtual/vhost2 [root@localhost ~]# echo "vhost1" > /usr/local/tomcat/virtual/vhost1/index.html
[root@localhost ~]# echo "vhost2" > /usr/local/tomcat/virtual/vhost2/index.html

2.修改主配置文件,添加在server.xml,中设置两个service组件.

[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml

 53   <Service name="Catalina">
54 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
55 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
56
57 <Engine name="Catalina" defaultHost="localhost">
58 <Realm className="org.apache.catalina.realm.LockOutRealm">
59 <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
60 </Realm>
61
62 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
63
64 <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" />
65 <Context path="" docBase="/usr/local/tomcat/virtual/vhost1" reloadable="false" />
66 </Host>
67 </Engine>
68 </Service>
69
70 <Service name="Catalina1">
71 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
72 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
73
74 <Engine name="Catalina1" defaultHost="localhost">
75 <Realm className="org.apache.catalina.realm.LockOutRealm">
76 <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
77 </Realm>
78
79 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
80
81 <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" />
82 <Context path="" docBase="/usr/local/tomcat/virtual/vhost2" reloadable="false" />
83 </Host>
84 </Engine>
85 </Service>

3.重新启动Tomcat,稍等片刻即可完成部署.

[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh stop
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start

◆基于域名虚拟主机◆

当服务器无法为每一个网站分配一个独立的IP的时候,可以尝试让Apache自动识别用户请求的域名,从而根据不同的域名请求来传输不同的内容,这里我们为了验证实验要手动搭建一个DNS解析,以下实验将实现在一台服务器上多个域名,搭建多个网站,每个网站使用一个域名.

1.配置域名与Ip的映射管理,这里你可以配置DNS解析,也可以直接写host文件测试.

[root@localhost ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 127.0.0.1 www.wang.com www
127.0.0.1 www.rui.com www

2.在tomcat目录创建两个目录分别存放两个虚拟主机页面.

[root@localhost ~]# mkdir -p /usr/local/tomcat/virtual
[root@localhost ~]# mkdir -p /usr/local/tomcat/virtual/vhost1
[root@localhost ~]# mkdir -p /usr/local/tomcat/virtual/vhost2 [root@localhost ~]# echo "vhost1" > /usr/local/tomcat/virtual/vhost1/index.html
[root@localhost ~]# echo "vhost2" > /usr/local/tomcat/virtual/vhost2/index.html

3.修改server.xml主配置文件,修改以下内容即可.

[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml

 53   <Service name="Catalina">
54 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
55 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
56
57 <Engine name="Catalina" defaultHost="localhost">
58 <Realm className="org.apache.catalina.realm.LockOutRealm">
59 <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
60 </Realm>
61
62 <Host name="www.wang.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
63 <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" />
64 <Context path="" docBase="/usr/local/tomcat/virtual/vhost1" reloadable="false" />
65 </Host>
66 <Host name="www.rui.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
67 <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" />
68 <Context path="" docBase="/usr/local/tomcat/virtual/vhost2" reloadable="false" />
69 </Host>
70
71 </Engine>
72 </Service>

4.重新启动Tomcat,稍等片刻即可完成部署.

[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh stop
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start

Apache Tomcat服务部署网站的更多相关文章

  1. Tomcat服务部署及优化

    Tomcat 服务部署及优化 1.Tomcat简介 2.Tomcat 服务安装及部署 3.Tomcat虚拟主机配置 4.Tomcat 优化 1.Tomcat简介: 概述: Tomcat是Java语言开 ...

  2. Tomcat服务部署步骤

    Tomcat服务部署步骤 1. 2. 3. tar -zxvf apache-tomcat-7.0.68.tar.gz,然后修改文件夹名称为需要的名称, 使用mv命令 4. 删除 /webapps/R ...

  3. Apache Tomcat 服务因 0 (0x0) 服务性错误而停止

    操作系统:Windows Server 2003 SP2/win7 64JDK 版本为 6.0 update 6 安装在 D:\Java 目录下Tomcat 版本为 6.0.16 安装 D:\Tomc ...

  4. Tomcat服务部署及配置

    Tomcat服务部署 1.环境准备 systemctl stop firewalld setenforce 0 2.安装jdk cd /opt 将jdk和tomcat软件包拖入当前目录下进行解压 rp ...

  5. Android模拟器访问本地的apache tomcat服务

    1. 在官网http://tomcat.apache.org/上下载tomcat,根据自己的电脑下载相应的文件 2.将apache-tomcat-6.0.37-windows-x64.zip包解压到本 ...

  6. 使用Apache服务部署网站(基于IP,域名,端口)

    本篇主要学习Apache网站服务程序的基本部署,基于IP地址.主机名(域名).端口号的虚拟主机功能. 1.基于IP地址 首先我们需要在虚拟机中线安装Apache服务程序,Apache服务程序的软件包名 ...

  7. Tomcat 环境部署网站. 帆软平台部署.

    主要内容. 需要使用Tomcat 部署 帆软报表平台(以下简称报表平台). 报表平台可以集成到网站, 也可独立部署. 此处是独立部署.即通过 网址:域名 独立访问这个报表平台. -- 技术要点 Tom ...

  8. 在windows上用apache+mod_wsgi服务部署django项目

    之前一直在本地跑django项目,最近尝试在服务器上部署项目,目前已经成功部署,也花了好多时间,这里跟大家交流一下,希望对像我一样的新手有帮助. 一.配置环境: 1.Python版本3.7 2.服务器 ...

  9. Tomcat服务部署与Nginx负载均衡配置

    一.中间键产品介绍 目前来说IBM的WebSphere,Oracle的Weblogic占据了市场上java语言Web站点的部分份额,该两种软件都是商业化的软件,由于性能优越,可靠性高等优点应用于大型互 ...

随机推荐

  1. Java 爬虫遇上数据异步加载,试试这两种办法!

    这是 Java 爬虫系列博文的第三篇,在上一篇 Java 爬虫遇到需要登录的网站,该怎么办? 中,我们简单的讲解了爬虫时遇到登录问题的解决办法,在这篇文章中我们一起来聊一聊爬虫时遇到数据异步加载的问题 ...

  2. 手把手教你安装Eclipse最新版本的详细教程 - 大佬的鸡肋,菜鸟的盛宴(非常详细,非常实用)

    简介 首先声明此篇文章主要是针对测试菜鸟或者刚刚入门的小伙们或者童鞋们,大佬就没有必要往下看了. 写这篇文章的由来是因为后边要用这个工具,但是由于某些原因有部分小伙伴和童鞋们可能不会安装此工具,为了方 ...

  3. JSON parse error: No suitable constructor found for type

    错误信息: 2019-02-19 09:17:58,678 [http-nio-8080-exec-1] WARN org.springframework.web.servlet.mvc.suppor ...

  4. Go routine 编排框架:oklog/run 包

    目录 Go routine 编排框架:oklog/run 包 问题引入 oklog/run 包介绍 使用例子 参考资料 Go routine 编排框架:oklog/run 包 问题引入 oklog/r ...

  5. aapt dump报错dump failed because no AndroidManifest.xml found解决方式

    路径太长, 方法1:把apk放到短路径文件夹 方法2::先cd /D xxxx 再执行 aapt dump badging xxx.apk

  6. 微信小程序登入流程

    微信小程序登入流程 一.首先前端先传code去后端 wx.login({ success(res) { if (res.code) { //发起网络请求 wx.request({ url: app.g ...

  7. python requests简单接口自动化

    get方法 url:显而易见,就是接口的地址url啦 headers:定制请求头(headers),例如:content-type = application/x-www-form-urlencode ...

  8. 就个人银行账户管理程序谈谈C++和Java的异同

    4_9 同: Java和C++都是面向对象的语言.都有数据成员,方法,访问权限的概念. 异: 访问权限上,非private时Java的默认访问权限是包.而C++的默认访问权限是private.Java ...

  9. 代码审计-Thinkphp3框架EXP表达式SQL注入

    最近看java框架源码也是看的有点头疼,好多还要复习熟悉 还有好多事没做...慢慢熬. 网上好像还没有特别详细的分析 我来误人子弟吧. 0x01 tp3 中的exp表达式 查询表达式的使用格式: $m ...

  10. go-接口-反射

    接口类型总是代表着某一种类型(即所有实现它的类型)的行为. 一个接口类型的声明通常会包含关键字type.类型名称.关键字interface以及由花括号包裹的若干方法声明. type Animal in ...