tomcat发布web项目,支持域名
首先需要安装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项目,支持域名的更多相关文章
- tomcat发布web项目的三种方式
tomcat发布web项目的三种方式 方式一: 配置tomcat 安装目录下的conf/server.xml <Host name="loaclhost">标签里面添加 ...
- 修改tomcat编码格式 & tomcat发布WEB项目供外网访问
1.修改tomcat默认编码格式: 修改tomcat下的conf/server.xml文件,找到如下代码: <Connector port="8080" prot ...
- 【Java框架型项目从入门到装逼】第三节 - 如何用Tomcat发布web项目?
啥叫Tomcat?有道词典是这么说的. 这个我们姑且不管,实际上呢,Tomcat是一种Web服务器,我们自己做好了一个Web项目,就可以通过Tomcat来发布.服务器呢,又分为硬件服务器和软件服务器. ...
- tomcat发布web项目
转:https://www.cnblogs.com/skyblue-li/p/7888951.html Tomcat是一种Web服务器,我们自己做好了一个Web项目,就可以通过Tomcat来发布.服务 ...
- servlet小型应用服务器搭建通过tomcat发布web项目
1.servlet简介:Servlet 是一个 Java程序,是在服务器上运行以处理客户端请求并做出响应的程序 2.servlet的生命周期图解: 3.各阶段: 4.基本的servlet代码: pub ...
- Tomcat部署web项目,如何直接通过域名访问,不加项目名称
问题:下面的问题是互联网上问得比较多的,但是显然都是同一个问题. JavaWeb项目部署到tomcat服务之后设置不需要输入项目名称即可访问? Tomcat部署web项目,如何直接通过域名访问,不加项 ...
- Maven发布web项目到tomcat
在java开发中经常要引入很多第三方jar包:然而无论是java web开发还是其他java项目的开发经常会由于缺少依赖包引来一些不必要的异常.常常也是因为这样的原因导致许多简单的缺包和版本问题耗费大 ...
- eclipse中tomcat使用add and remove无法发布web项目
继上次启动eclipse中的tomcat报classNotFound的问题后,这次又遇到新问题.就是右键点击tomcat使用add and remove发布web项目至tomcat后,启动tomcat ...
- 带领技术小白入门——基于java的微信公众号开发(包括服务器配置、java web项目搭建、tomcat手动发布web项目、微信开发所需的url和token验证)
微信公众号对于每个人来说都不陌生,但是许多人都不清楚是怎么开发的.身为技术小白的我,在闲暇之余研究了一下基于java的微信公众号开发.下面就是我的实现步骤,写的略显粗糙,希望大家多多提议! 一.申请服 ...
随机推荐
- Assignment (HDU 2853 最大权匹配KM)
Assignment Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- /dev/fb0入门练习
转:http://hi.baidu.com/fsx92/item/bdbf90d8adab409f260ae738 大家都知道Unix/Linux系统是由命令驱动的.那么最基本的系统是命令行的(就是想 ...
- git ssh key配置
原文:https://blog.csdn.net/lqlqlq007/article/details/78983879 git clone支持https和git(即ssh)两种方式下载源码: 当使用 ...
- 【资料】wod旗帜,纹章
物品 徽章 旗帜 掉落地点 备注 火焰纹章 法师与怪物 火焰魔法.魔法攻防 雄鹰纹章 受诅咒的遗迹 弩系相关 盗贼纹章 捉迷藏 偷袭.匕首.割喉.近攻防 守夜人的纹章 酒馆里平静的一天 钝器.双打.旋 ...
- Linux_Windows7使用VMare安装Centos6.5并使用Xshell连接Centos
本文章主要是记录虚拟机安装Centos,并在windows使用xshell执行命令的过程,供自己和需要之人学习和使用. 难点主要在于windows和centos网络的设置,实现window连 ...
- 能力成熟度模型CMM
能力成熟度模型(Capability Maturity Model,英文缩写为CMM)[1]是 一种开发模型.Carnegie Mellon大学的研究人员从美国国防部合同承包方那里收集数据并加以研究, ...
- [Android Pro] Android系统手机端抓包方法 和 通过File查看应用程序流量
adb shellcat proc/uid_stat/%uid%/tcp_snd proc/uid_stat/%uid%/tcp_rcv ------------------------------ ...
- C++keyword大总结
register: 假设有一些变量使用频繁,则为存取变量的值少花一些时间, 能够将该局部变量的值放在CPU的寄存器中,须要时直接从寄存器 中取出參加运算,不必去内存中去存取. 由于寄存器的存取速度 远 ...
- Kafka实战-Flume到Kafka (转)
原文链接:Kafka实战-Flume到Kafka 1.概述 前面给大家介绍了整个Kafka项目的开发流程,今天给大家分享Kafka如何获取数据源,即Kafka生产数据.下面是今天要分享的目录: 数据来 ...
- Power Desginer系列01【转摘】
近期在做一个业务系统的分析和数据模型设计,工作这几年也做过好几个项目的数据库模型的设计,期间也算是积累了一定的经验吧,这次有机会就写写我的数据库模型设计过程与方法. 在 数据库设计中,设计的目标就是要 ...