linuxtomcat环境变量配置
① linux下apache+tomcat集群详细配置
环境:
操作系统均为:CentOS 5.1
Apache2.X服务器一台:IP地址192.168.232.4;安装路径/usr/local/apache;
Tomcat6服务器一台:IP地址192.168.232.5;安装路径/usr/local/tomcat;
Tomcat6服务器一台:IP地址192.168.232.6;安装路径/usr/local/tomcat;
配置:
Apache安装:
#./configure --prefix=/usr/local/apache --enable-moles=so --enable-mods-shared=all --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-ajp --enable-proxy-balancer --enable-rewrite
注释:激活tomcat集群需要的 enable-proxy,enable-proxy-http,enable-proxy-connect,enable-proxy-ajp和enable-proxy-balancer,其中proxy-ajp和proxy-balancer必须依赖proxy,如果是自定义的编译除了以上几个必须的模块外,mod_status也要编译进去,切记。enable-proxy-ftp可以不编译。
#make;make install
制作Apache启动项:
#cp support/apachectl /etc/rc.d/init.d/httpd
#vi /etc/rc.d/init.d/httpd
添加以下内容:(包括#号)
# Startup script for the Apache Web Server
# chkconfig: 2345 85 15
# description: Apache is a World Wide Web server .It is used to server
# HTML files and CGI.
# processname: httpd
# pidfile: /usr/local/apache/log/httpd.pid
# config: /usr/local/apache/conf/httpd.conf
增加服务项
#chkconfig --add httpd
#chmod 755 /etc/rc.d/init.d/httpd
#chkconfig --level 345 httpd on
JDK安装:
#chmod a+x jdk-6u4-linux-i586-rpm.bin
#./jdk-6u4-linux-i586-rpm.bin
java环境变量设置:
#vi /etc/profile
在文件最后添加以下内容:
JAVA_HOME=/usr/java/jdk1.6.0_04
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$JAVA_HOME/bin:$PATH
CATALINA_HOME=/usr/local/tomcat
export JAVA_HOME CLASSPATH PATH CATALINA_HOME
执行如下命令使环境变量生效:
source /etc/profile
测试配置是否成功:
java –version
Tomcat安装:
#wget [url]http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.tar.gz[/url]
#tar zxvf apache-tomcat-6.0.16.tar.gz
#mv apache-tomcat-6.0.16 /usr/local/tomcat
Tomcat随机启动:
#vi /etc/rc.local
添加以下内容:
/usr/local/tomcat/bin/startup.sh
tomcat6配置文件server.xml:
把
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
-->
<Engine name="Catalina" defaultHost="localhost">
改成
<!-- You should set jvmRoute to support load-balancing via AJP ie :
-->
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcatX">
<!--
<Engine name="Catalina" defaultHost="localhost">
-->
说明:
第一台tomcat就把jvmRoute="tomcat1"
第二台tomcat就把jvmRoute="tomcat2"
把
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
去掉注释变为
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
***群集详细配置***
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="8">
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4000"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session."/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
配置应用的web.xml:
在每个webapps应用中,修改配置文件web.xml文件 添加元素<distributable/>
在web.xml文件中<web-app>元素下增加以下内容:
<!--此应用将与群集服务器复制Session-->
<distributable/>
具体修改如下:
修改前:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="[url]http://java.sun.com/xml/ns/javaee[/url]"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee [url]http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd[/url]"
version="2.5">
</web-app>
修改后:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="[url]http://java.sun.com/xml/ns/javaee[/url]"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee [url]http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd[/url]"
version="2.5">
<!--此应用将与群集服务器复制Session-->
<distributable/>
</web-app>
配置apache的ajp负载均衡功能:
确保将以下Mole的注释去掉
LoadMole proxy_mole moles/mod_proxy.so
LoadMole proxy_connect_mole moles/mod_proxy_connect.so
LoadMole proxy_ftp_mole moles/mod_proxy_ftp.so
LoadMole proxy_http_mole moles/mod_proxy_http.so
LoadMole proxy_ajp_mole moles/mod_proxy_ajp.so
LoadMole proxy_balancer_mole moles/mod_proxy_balancer.so
LoadMole status_mole moles/mod_status.so
增加以下内容:
# Proxypass Config
Include conf/extra/httpd-modproxy.conf
建立文件httpd-modproxy.conf输入内容:
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from all
</Location>
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from all
</Location>
ProxyRequests Off
ProxyPass / balancer://tomcatcluster stickysession=jsessionid nofailover=On
<Proxy balancer://tomcatcluster>
BalancerMember [url]http://192.168.232.5:8080[/url] loadfactor=1
BalancerMember [url]http://192.168.232.6:8080[/url] loadfactor=2
</Proxy>
注释:
ProxyRequests Off 表示启用反向代理,必须开启;
ProxyPass为代理转发的Url,即将所有访问/的请求转发到群集balancer://tomcatcluster,这里为/即将所有访问/的请求转发到群集balancer://tomcatcluster的/test目录;
BalancerMember为群集的成员,即群集服务器1或2,负载均衡服务器会根据均衡规则来将请求转发给BalancerMember;
调试负载均衡集群系统:
访问apache服务器的web服务:[url]http://192.168.232.4/balancer-manager[/url]
如果显示负载均衡有关信息则说明成功了,接着可以访问[url]http://192.168.232.4/[/url]即访问到了tomcat的应用
***必须先启动Tomcat服务再启动Apache服务!***
参考文档:
[url]http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html[/url]
[url]http://tomcat.apache.org/tomcat-6.0-doc/balancer-howto.html[/url]
[url]http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/mod/mod_proxy.html[/url]
[url]http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/mod/mod_proxy_balancer.html[/url]
② linux怎样搭建tomcat服务器
1、先从Apache的官方网站下载下来tomcat6.0系列的文件,http://www.apache.org/tomcat/在这里找到Tomcat6.0的linux安装文件,它跟windows是不一样的,在官网上有相应的说明,linux版的tomcat是需要编译源代码的文件,如下载下来的文件为:apache-tomcat-6.0.30.zip
2、将下载的文件通过ftp传输到linux中,这里我推荐远程连接工具SSH,linux远程连接工具比较多。
3、解压apache-tomcat-6.0.30.zip,命令为:unzip apache-tomcat-6.0.30.zip得到apache-tomcat-6.0.30这个目录,将目录拷贝到/opt/,然后为了方便改名为/opt/tomcat即可。
4、修改环境变量,将一下的变量配置放在之前配置jdk环境变量的后面即可,如下:
在目录/etc下修改profile文件,使用命令为:vi /etc/profile
export CATALINA_HOME=/opt/tomcat
export CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib
export PATH=$PATH:$CATALINA_HOME/bin
配置完成之后执行命令:source /etc/profile,如果没有提示错误,证明配置ok
可以通过echo $CLASSPATH来态好枝查看环境配置
5、启动tomcat服务
将目录切换到opt/tomcat/bin执行sh catalina.sh,提示信息如下:
The BASEDIR environment variable is not defined correctly
This environment variable is needed to run this program
通过情况配置完成之后就会报此类错误提示,该提示表示bin目录下相关.sh后缀文件没有执行权限,使用命令chmod +x *.sh来给所袜侍有的.sh文件以执行权限,
再执行sh catalina.sh或者sh startup.sh,便提示如下信息表示配置ok:
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr/jdk1.6.0_23
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar
6、查看tomcat的服务端口8080
命令:netstat -ntl | grep 8080,提示正常,在从windows客户端使用tenlet ip 8080看看什么情况,结果提示端口没有被开启,继续检查防火墙如下:
找到/etc/sysconfig/,vi iptables 在该防火墙配置文件中加入开放8080端口的配置如下:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
还有一种方法就是关闭防火墙,命令为:service iptables stop即可。
7、在客户端访问tomcat首页
http://localhost:8080/如果正常显示tomcat首页表明帆敏配置ok。
8、部署一个web项目
将文件为ssh2.war的包上传到opt/tomcat/webapps目录下,然后重启tomcat,如下命令:./catalina.sh run,部署ssh2.war并启动tomcat
在客户端输入http://localhost:8080/ssh2,显示登录页面表明项目部署成功。
③ linux 下怎么安装配置tomcat
1、tomcat基本不需要安装
2、将tomcat解压到指定位置,例如/opt/tomcat
3、安装jdk,编辑/etc/bashrc
增加配置export JAVA_HOME=/opt/jdk1.7
4、这个不是必须的
ln -s /opt/jdk1.7/bin/java /usr/bin
5、cd /opt/tomcat
执行./bin/startup.sh即可
6、netstat -ntlp检查端口
④ linux系统tomcat的安装配置(一)含jdk环境变量配置
自己试很少在linux上操作的,最近买了亿速云的香港云,有了自己的linux环境,就稍微在这个上面试试手。系统是centos7.2 64bit的,所有的设置都是亿速云给的镜像的默认设置,我什么也没做。直接先把jdk-7u79-linux-x64.tar.gz、apache-tomcat-7.0.47.tar.gz的包通过Xshell 5和Xftp 5上传然后解压,在这个前提下进行的。本文的目的就是启动tomcat后就直接启动,然后成功后通过服务器ip+端口访问,看到tomcat默认的首页。涉及到的可能都是很基础的东西,但是自己不是很熟悉,所以都在此记录一番。
1.解压jdk.tar.gz指令
2.打开系统相关配置文件
3.添加JAVA_HOME、PATH、CLASSPATH至刚刚的配置文件中(:wq保存退出)
4、测试配置
如果本来就有修改后重新应用
5、解压tomcat(同理),并修改/conf/server.xml的8080为80(只是我不想加端口,刚刚好80端口也是闲着),在tomcat目录下执行指令启动tomcat(带日志的启动,Ctrl+C可退出日志)。
6、外网测试tomcat是否正常启动
(这一块要保证服务器是端口开放的,如果环境不同比如有linux有开启防火墙等,本文只是记录最简单的成功的一次操作,具体失败要先看环境因素,此处不做描述)
7、其他相关操作
当然如上其实就已经成功了,但是实际中可能我们还需要关闭。有人说最好不要shutdown,用kill的方式,具体我也不是太清楚,目前没有深究,就用kill的方式去关闭。
查看进程:
⑤ 初学linux,怎么给tomcat加启动参数
1、首先下载Jdk
官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
2、配置环境变量:
鼠标右击“计算机”,选择“属性”,点击弹出来的“高级系统设置”,选择“高级”选项卡,点击下部的“环境变量”
新建系统变量:
变量名:JAVA_HOME
变量值:你的JDK安装目录
3、再新建系统变量:
变量名:CLASSPATH
值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\BIN
4、注意:前面的点号
修改PATH变量
变量名:PATH
值: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
注意:前面的分号,将此值添加到,path变量值的最后面,如图。
新建Tomcat环境变量
变量名:TOMCAT_HOME
变量值:你的TOMCAT所在目录
5、现在就能启动运行tomcat/bin/startup文件了。
最后,成功运行tomcat.
⑥ tomcat下,怎么安装配置php (linux系统)
一、安装和系统环境变量设置
1、我使用的PHP为php-5.4.31,不用5.5以上版本的原因是,因为他们都是使用VC11编译的,需要一个DLL,win7及一下都不支持。下载VC9编译的PHP 5.4(5.4.31) for X86的已编译版本。我的安装目录是D:\Application\php-5.4.31,
将安装后的路径设置到系统环境变量path中。
2、perl直接下载安装即可(会自动配置环境变量,不用操心)。
3、Tomcat用的是7.0.41版本。很多文档要求将server/lib下servlets-cgi改名为servlets-cgi.jar。从6版本以后,好像就没有server目录,内部已经自动支持cgi,只需要进行配置即可。
Tomcat需要JDK 1.6以上,所以JDK需要先安装好。
二、配置步骤:
1、到D:\Application\php-5.4.31目录下
将php.ini-development复制一份同一目录下,命名为php.ini
<1>设置extension_dir参数:
extension_dir="D:\Application\php-5.4.31\ext"
<1>设置cgi.force_redirect参数:
cgi.force_redirect = 0
2、打开Tomcat的conf下的context.xml文件
给Context增加属性privileged="true",修改后的Context元素属性如下所示:
<Context privileged="true">
3、打开Tomcat的conf下的web.xml文件
在servlet和servlet-mapping之间增加如下的内容:(注意,注释不能放到配置项里面,否则启动报错)
<!—Add to support PHP & Perl -->
<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi-bin</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet>
<servlet-name>php</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>clientInputTimeout</param-name>
<param-value>200</www.gzlij.com param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>executable</param-name>
<param-value>D:\Application\php-5.4.31\php-cgi.exe</param-value>
</init-param>
<init-param>
<param-name>passShellEnvironment</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/php-bin</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>php</servlet-name>
<url-pattern>/php-bin/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
备注:
1、我们配制了两个servlet,分别是php、CGI
2、在servlet参数中
<param-name>executable</param-name>
<param-value>D:\Application\php-5.4.31\php-cgi.exe</param-value>
指向CGI程序执行器,其实就一可被调用的可执行程序。(这里带全路径,好像不带路径也可以,因为path环境变量里已经配置了),记住不要用php.exe。
如果没有配置,缺省就是调用perl执行程序。
3、脚本存放路径
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi-bin</param-value>
这里将perl脚本配置的是指向webapps/web-inf/cgi-bin目录下。
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/php-bin</param-value>
PHP的脚本指向的是webapps/web-inf/php-bin目录下。
4、资源URL路径映射。
这里如果请求的资源是/php-bin/*则,指向php服务程序,如果是/cgi-bin/*则指向cgi服务程序。
<servlet-mapping>
<servlet-name>php</servlet-name>
<url-pattern>/php-bin/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
三、测试
1、分别将如下的test.php和test.cgi测试程序放到webapps\ROOT\WEB-INF\php-bin和webapps\ROOT\WEB-INF\cgi-bin目录下。
其中test.php内容如下:
<?php phpinfo();?>
Test.cgi内容如下:
# filename: test1.cgi
print "Content-type: text/html\n\n";
print "Hello, world!\n"
2、重新启动tomcat。
浏览器地址栏输入:http://127.0.0.1:8080/php-bin/test.php
如果显示如下,则说明PHP设置正确。
<?php
echo "hello World!\n\n";
echo "hello World!\n\n";
echo "hello World!\n\n";
?>
针对上面的程序,如果配置中使用的是PHP.exe,则只能现实两行“hello world!”, 第一行总是莫名其妙地丢失。而且对php-info()函数,第一行也会丢失。
(很多文档中都提到这个问题,其实就是因为用错了程序。)
浏览器地址栏输入:http://127.0.0.1:8080/cgi-bin/test.cgi
如果显示“hello world!”,则说明cgi设置正确。
⑦ 如何在linux配置JDK环境变量和tomcat环境变量,配置好后如何使用tomcat
linux环境变量和windows类似分全局和用户的
全局的 /etc/profile 用户的 用户根目录 .bash_profile
配置全局 vi /etc/profile
i 编辑模式
在文件最后
export JAVA_HOME=/usr/local/java/jdk1.6.0_13
export PATH=$JAVA_HOME/bin:$PATH
配置用户的 内容一样
tomcat本分不需要关联其他只需读取系统配置的JDK变量
可直接拷贝整个目录然后 进入bin 目录下 执行 startup.sh
⑧ linux下的tomcat配置环境变量的作用
tomcat的环境变量在运行的时候就自动配上了。《linux就该这么学》
但是我们可以自定义配置环境变更,跟据自己的要求去运行tomcat。
⑨ linux怎么配置tomcat
配置Tomcat
我这里用的是免安装版的下载地址:http://tomcat.apache.org/ 我下载的是tomcat5.5
不需要安装,直接设置环境变量:
vi.bash_profile 打开加上这几句
export JAVA_HOME=/tomcat/jdk1.6.0_23
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
export CATALINA_BASE=/tomcat/tomcat-5.5
export CATALINA_HOME=/tomcat/tomcat-5.5
到这里tomcat就配置完毕
检测
打开tomcat-5.0.24/bin/下的startup.sh
输入http://serverip:8080 打开控制台。至此tomcat配置完毕。