首先需要安装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. Spring bean配置继承

    在 Spring,继承是用为支持bean设置一个 bean 来分享共同的值,属性或配置. 一个子 bean 或继承的bean可以继承其父 bean 的配置,属性和一些属性.另外,子 Bean 允许覆盖 ...

  2. C++UI框架

    WTL都算不上什么Framework,就是利用泛型特性对Win API做了层封装,设计思路也没摆脱MFC的影响,实际上用泛型做UI Framework也只能算是一次行为艺术,这个思路下继续发展就会变得 ...

  3. 定制NSLog便于打印调试

    定制NSLog便于打印调试 本人之前从事过嵌入式开发,对于打印调试比较在行,现分享定制的NSLog以及教大家如何使用. 源码下载地址  https://github.com/YouXianMing/Y ...

  4. Interactive Messager

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. 解决spark程序报错:Caused by: java.util.concurrent.TimeoutException: Futures timed out after [300 seconds]

    报错信息: 09-05-2017 09:58:44 CST xxxx_job_1494294485570174 INFO - at org.apache.spark.sql.catalyst.erro ...

  6. 运行Hadoop的示例程序WordCount-Running Hadoop Example

      In the last post we've installed Hadoop 2.2.0 on Ubuntu. Now we'll see how to launch an example ma ...

  7. POJ 1737 Connected Graph 题解(未完成)

    Connected Graph Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 3156   Accepted: 1533 D ...

  8. iOS:风火轮活动刷新视图控件UIActivityIndicatorView的详细使用

    动态风火轮视图控件:UIActivityIndicatorView   介绍:它是一种类似于风火轮旋转的视图控件,可用作刷新数据时显示加载过程所用,继承自UIView.   类型: typedef N ...

  9. [Todo] C++并发编程学习

    就主要看这本书吧: <C++并发编程实战_Cpp_Concurrency_In_Action> /Users/baidu/Documents/Data/Interview/C++ < ...

  10. 作用JavaScript访问和操作数据库

    JS操作 Access 数据库 <SCRIPT LANGUAGE="JavaScript"> <!-- var filePath = location.href. ...