首先需要安装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. Java中应该返回零长度数组或空集合,而不是返回null(转)

    说明:为了避免在数组和集合的获取上增加null的判断,同时也能减少不必要的空指针异常,通常会在业务返回零数组或空集合. 方法: 1.数组: 定义全局静态常量来减少内存开销:private static ...

  2. Fully Digital Implemented Delta-Sigma Analog to Digital Converter

    http://www.design-reuse.com/articles/14886/fully-digital-implemented-delta-sigma-analog-to-digital-c ...

  3. 引用计数的cocos2dx对象内存管理和直接new/delete box2d对象内存管理冲突的解决方法

    转载请注明: http://blog.csdn.net/herm_lib/article/details/9316601 项目中用到了cocos2dx和box2d,cocos2dx的内存是基于引用计数 ...

  4. 创建自己的Repo Server

    非常久曾经出于好奇细致了解了下Repo及server的原理,可是今天突然发现有些忘了.于是想记录下来. Repo机制 Repo是google官方为管理Android项目开发出来的一个软件. 我们先来看 ...

  5. 狗日的rem

    rem这是个低调的css单位,近一两年开始崭露头角,有许多同学对rem的评价不一,有的在尝试使用,有的在使用过程中遇到坑就弃用了.但是我对rem综合评价是用来做web app它绝对是最合适的人选之一. ...

  6. 【spring boot】启动类启动 错误: 找不到或无法加载主类 com.codingapi.tm.TxManagerApplication 的解决方案

    导入的一个外部的spring boot项目,运行启动类,出现错误:找不到或无法加载主类 com.codingapi.tm.TxManagerApplication 解决方案: 将所有错误处理完成后,再 ...

  7. Windows上安装Git替代cmd命令行程序

    git是一个版本管理系统,利用好它,可以管理你项目文件,每个文件的更新删除修改,它都知道,还可以还原回历史的某个版本. msysgit是Windows版的Git. 1.下载地址:https://git ...

  8. Andorid之Annotation框架初使用(五)

    注入res文件夹的资源: @StringRes @EActivity public class MyActivity extends Activity { @StringRes(R.string.he ...

  9. SQLAlchemy如何给列和表添加注释comment?

    1.首先需要升级版本到1.2.x,我用的是1.2.14验证的,没有问题 2.看示例: class LoadResource(Base): """施压机资源."& ...

  10. 在pycharm中进行nosetests并输出测试报告

    1.首先配置