首先需要安装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. BFC与hasLayout

    BFC与hasLayout都是CSS布局上的概念. 几个月前在微博上才了解什么是BFC,算是对布局有点初步的了解. hasLayout则是IE6.7产生许多bug的根源. 一.BFC Floats, ...

  2. TortoiseSVN 修改密码

    在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个选项是保存认证信息,如果选了这个选项,那么以后就不用每次都输入一遍用户名密码了. 不过,如果 ...

  3. Circuit level-shifts ac signals

    AC signals can emanate from many sources, and many of these sources are incompatible with the most p ...

  4. J-LINK序列号修改

    打开J-LINK   COMMANDER中输入 exec setsn=xxxxxxxx 即可

  5. Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Connectio

    严重: StandardWrapper.Throwableorg.springframework.transaction.CannotCreateTransactionException: Could ...

  6. Java操作Microsoft Word之jacob

    转自: 现在我们一起来看看,用Java如何操作Microsoft Word.   jacob,官网是http://danadler.com/jacob 这是一个开源的工具.最新版本1.7     官方 ...

  7. 负载均衡---在window与linux下配置nginx

    最近有些时间,开始接触负载均衡方面的东西,从硬件F5再到Citrix Netscalar.不过因为硬件的配置虽然不复杂,但昂贵的价格也让一般用户望而却步(十几万到几十万),所以只能转向nginx,sq ...

  8. JVM 虚拟机字节码指令表

    把JVM虚拟机字节指令表整理了一下,方便搜索,偶尔复习下 纯手工整理,可能存在一些问题,如果发现请及时告之我会修正 字节码 助记符 指令含义 0x00 nop None 0x01 aconst_nul ...

  9. 世界围棋人机大战、顶峰对决第二战:围棋世界冠军Lee Sedol(李世石,围棋职业九段)对战Google DeepMind AlphaGo围棋程序,AlphaGo再次胜出!

    感觉在哔哩哔哩(bilibili)上看比赛直播比较好,一直可以看到比赛的直播画面,还能听到英文解说和中文主持人的解说.YouTube上是不错,但是一方面爬梯子比较卡,另一方面只能听到英文解说. 韩国著 ...

  10. [Todo]提升电商网站性能方面的一些资料材料

    又到国庆,喷一喷12306.cn的技术架构 http://chengxu.org/p/369.html 其中用到了不少比较细节的优化技巧. 提到库存管理是电商非常难的地方.也讲了跟秒杀相关的一些内容.