首先需要安装JDK,不是Linux自带的OpenJDK,参考下面的文章:

centos下 安装jdk

设置java环境变量:编辑这个/etc/profile文件:

export JAVA_HOME=/usr/java/jdk1.7.0_79
export JAVA_BIN=$JAVA_HOME/bin
export PATH=$JAVA_BIN:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

Tomcat设置关联JDK

查看Tomcat JDK版本

在使用Tomact运行项目时发现报当前编译环境jdk版本不匹配,于是我就想根据Tomcat运行加载的JDK版本进行设置项目编译的jdk版本。那么下面我将简单介绍下如何在tomcat服务器中通过命令查看JDK版本。

首先,Tomcat本身提供了查看版本的脚本命令:version。就在Tomcat的安装目录的bin子目录下,有两个文件:

· version.bat -- Windows下的批处理脚本

· version.sh -- Linux下的Shell脚本

执行脚本就可以查看Tomcat的版本了。

删除tomcat目录和web项目所有的文件

rm -rf /usr/local/tomcat /usr/local/myweb
cd /usr/local
rz 上传tomcat文件到linux下/usr/local目录中

unzip apache-tomcat-8.0..zip 解压缩tomcat到当前目录
ll 查看当前目录里面是否已经解压出来tomcat

mv apache-tomcat-8.0. tomcat 修改apche-tomcat-8.0.23名称为tomcat

cd /usr/local/tomcat/bin 进入tomcat的bin目录
ll 查看当前bin目录中的所有文件权限

chmod +x *.sh 提升sh文件可以执行的权限

在开发工具中使用maven安装springmvc的web项目,在target目录中找到****.war文件

cd /usr/local    切换目录
mkdir myweb 创建myweb目录
ll 查看myweb目录是否已经创建成功

cd myweb 切换到myweb目录
rz 上传war文件到myweb目录

unzip website-0.0.-SNAPSHOT.war 解压缩war文件到当前目录
ll

接下来就开始配置tomcat和web项目了。

vim /usr/local/tomcat/conf/server.xml 编辑tomcat服务器配置文件
maxThreads="600" minSpareThreads="100" maxSpareThreads="500" maxProcessors="75" minProcessors="5" acceptCount="700" enableLookups="false" URIEncoding="true" compression="on" --修改设置

mkdir -p Catalina/localhost 在conf目录中递归创建Catalina/localhost目录

cd Catalina/localhost/ 进入localhost目录
rz 上传一个名为ROOT.xml文件

vim ROOT.xml 编辑修改ROOT.xml

<Context path="/" docBase="/usr/local/myweb"  privileged="true" antiResourceLocking="false" antiJARLocking="false" />
cd /usr/local/tomcat/bin 切换到tomcat的bin目录中
./startup.sh 启动tomcat

输入网址:http://服务器端IP地址

查看tomcat进程ID,并停止tomcat运行。

ps -ef | grep tomcat
netstat -tpnl | grep 80
kill -9 进程ID

或者直接使用tomcat命令停止tomcat运行

cd /usr/local/tomcat/bin 进入tomcat程序所在目录
./shutdown.sh 执行关闭tomcat命令

支持tomcat域名设置,需要修改/usr/local/tomcat/conf/server.xml中<Engine>部分的<Host>,每个<Host>...</Host>代表一个域名(包括localhost)

<Host name="test.shuaige.cn"  appBase="/usr/local/myweb" unpackWARs="true" autoDeploy="true">
<Context path="/" docBase="/usr/local/myweb" privileged="true" antiResourceLocking="false" antiJARLocking="false" />
</Host>

注意:

(使用path="/"的意思是表示不需要在/usr/local/myweb/目录中创建ROOT子目录放web项目了,直接在/usr/local/myweb/里面放web项目就可以了)

优化:Tomcat 5常用优化和配置 

http://www.cnblogs.com/lxzh/p/3527376.html

1、修改tomcat让其支持NIO(org.apache.coyote.http11.Http11NioProtocol),并发数设置,禁用DNS查询(enableLookups="false"),设置解决乱码问题(URIEncoding="true")

当web应用程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。DNS查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。为了消除DNS查询对性能的影响我们可以关闭DNS查询,方式是修改server.xml文件中的enableLookups参数值为false。

<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol"
  connectionTimeout="20000"
  redirectPort="8443"
  maxThreads="600" minSpareThreads="100" maxSpareThreads="500"
  maxProcessors="75" minProcessors="5" acceptCount="700" enableLookups="false" URIEncoding="true"
  compression="on" disableUploadTimeout="true" noCompressionUserAgents="gozilla,traviata" useSendfile="false"
  compressableMimeType="text/html,text/xml,text/javascript,application/javascript,application/json,text/css,text/plain"
/>

https://ci.apache.org/projects/tomcat/tomcat7/docs/config/http.html

2、修改“/usr/local/tomcat/bin/catalina.sh”文件,增加下面这一句:

JAVA_OPTS='-server -Xms512m -Xmx5120m -Xss512k -XX:PermSize=256m -XX:MaxPermSize=512m'
-server【设置jvm使server模式,特点是启动速度比较慢,但运行时性能和内存管理效率很高,适用于生产环境。在具有64位能力的jdk环境下将默认启用该模式,而忽略-client参数。】
-Xms【初始化内存大小】
-Xmx【可以使用的最大内存】
-Xss【设置每个线程的堆栈大小】

234 #JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"
235 JAVA_OPTS='-server -Xms512m -Xmx5120m -Xss512k -XX:PermSize=256m -XX:MaxPermSize=512m'

3、tomcat中如何禁止和允许列目录下的文档 
在/usr/local/tomcat/conf/web.xml中,把listings参数配置成false即可,如下:

<servlet>
...
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
...
</servlet>

4、tomcat中如何禁止和允许主机或IP地址访问

<Host ...>
...
<ValveclassName="org.apache.catalina.valves.RemoteHostValve"
allow="*.mycompany.com,www.yourcompany.com"/>
<ValveclassName="org.apache.catalina.valves.RemoteAddrValve"
deny="192.168.1.*"/>
...
</Host>

5、自启动:在/etc/rc.d/rc.local中加入:

/data/tomcat/bin/startup.sh

6、防火墙

iptables -I INPUT -p tcp --dport  -j ACCEPT
service iptables save
service iptables restart
cat /etc/sysconfig/iptables

7、Https需要改成AprLifecycleListener改成off

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />

转自:http://blog.csdn.net/liuyan4794/article/details/16328077

转自:http://blog.chinaunix.net/uid-346158-id-2130840.html

tomcat发布web项目,支持域名的更多相关文章

  1. tomcat发布web项目的三种方式

    tomcat发布web项目的三种方式 方式一: 配置tomcat 安装目录下的conf/server.xml <Host name="loaclhost">标签里面添加 ...

  2. 修改tomcat编码格式 & tomcat发布WEB项目供外网访问

    1.修改tomcat默认编码格式: 修改tomcat下的conf/server.xml文件,找到如下代码:       <Connector port="8080" prot ...

  3. 【Java框架型项目从入门到装逼】第三节 - 如何用Tomcat发布web项目?

    啥叫Tomcat?有道词典是这么说的. 这个我们姑且不管,实际上呢,Tomcat是一种Web服务器,我们自己做好了一个Web项目,就可以通过Tomcat来发布.服务器呢,又分为硬件服务器和软件服务器. ...

  4. tomcat发布web项目

    转:https://www.cnblogs.com/skyblue-li/p/7888951.html Tomcat是一种Web服务器,我们自己做好了一个Web项目,就可以通过Tomcat来发布.服务 ...

  5. servlet小型应用服务器搭建通过tomcat发布web项目

    1.servlet简介:Servlet 是一个 Java程序,是在服务器上运行以处理客户端请求并做出响应的程序 2.servlet的生命周期图解: 3.各阶段: 4.基本的servlet代码: pub ...

  6. Tomcat部署web项目,如何直接通过域名访问,不加项目名称

    问题:下面的问题是互联网上问得比较多的,但是显然都是同一个问题. JavaWeb项目部署到tomcat服务之后设置不需要输入项目名称即可访问? Tomcat部署web项目,如何直接通过域名访问,不加项 ...

  7. Maven发布web项目到tomcat

    在java开发中经常要引入很多第三方jar包:然而无论是java web开发还是其他java项目的开发经常会由于缺少依赖包引来一些不必要的异常.常常也是因为这样的原因导致许多简单的缺包和版本问题耗费大 ...

  8. eclipse中tomcat使用add and remove无法发布web项目

    继上次启动eclipse中的tomcat报classNotFound的问题后,这次又遇到新问题.就是右键点击tomcat使用add and remove发布web项目至tomcat后,启动tomcat ...

  9. 带领技术小白入门——基于java的微信公众号开发(包括服务器配置、java web项目搭建、tomcat手动发布web项目、微信开发所需的url和token验证)

    微信公众号对于每个人来说都不陌生,但是许多人都不清楚是怎么开发的.身为技术小白的我,在闲暇之余研究了一下基于java的微信公众号开发.下面就是我的实现步骤,写的略显粗糙,希望大家多多提议! 一.申请服 ...

随机推荐

  1. 无法读取Excel中的数据单元格。有数据,但是读出来全是空值

    C#读取Excel,取值为空的解决办法! C#读取Excel遇到无法读取的解决方法是什么呢?这样在C#读取Excel的过程中有很多问题,那么本文就向你介绍如何解决C#读取Excel遇到无法读取的解决方 ...

  2. 解决WPF中重载Window.OnRender函数失效问题

    今天实验一个绘图算法的时候,偶然发现重载Window.OnRender的方法是没有效果的. public partial class MainWindow : Window { public Main ...

  3. 单端通用ISM频段接收器 Si4313

    Si4313芯片是单端通用ISM频段接收器,工作频率为240-960MHz,可编程接收频率带宽为2.6-260kHz,接收灵敏度为-118dBm,数据速率为0.2-128kb/s,采用FSK.GFSK ...

  4. 分布式服务的事务如何处理?比如dubbo,服务与服务之间的事务怎么处理比较好,现在有没有开源的解决方案?

    作者:何明璐链接:http://www.zhihu.com/question/29483490/answer/98237582来源:知乎著作权归作者所有,转载请联系作者获得授权. 首先是不建议采用XA ...

  5. Rob Pike 的 5 个编程原则

    原则 1. 你没有办法预测每个程序的运行时间,瓶颈会出现在出乎意料的地方,所以在分析瓶颈原因之前,先不要盲目猜测. 原则 2. 测试(measure).在测试之前不要优化程序,即使在测试之后也要慎重, ...

  6. shell练习题

    一.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. 原文代码为:         Shell   1 2 3 4 5 6 7 8 9 10 #!/bin/bash ...

  7. 如何使用花生壳 发布WCF服务 进行外网访问 z

    http://www.cnblogs.com/wanglg/p/5375230.html 当我们发布WCF服务的时候,可以直接通过服务器的域名或者IP进行. 但是如果仅仅是通过花生壳进行域名解析,需要 ...

  8. 使用NSHashTable存储引用对象

    NSHashTable 我们使用集合(NSArray,NSMutableArray,NSDictionary,NSMutableDictionary,NSSet,NSMutableSet)存储对象时会 ...

  9. 1)Linux程序设计入门--基础知识

    )Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编译 Makef ...

  10. 使用HttpClient发送请求接收响应

    1.一般需要如下几步:(1) 创建HttpClient对象.(2)创建请求方法的实例,并指定请求URL.如果需要发送GET请求,创建HttpGet对象:如果需要发送POST请求,创建HttpPost对 ...