tomcatforlinux
‘壹’ Tomcat的linux版是32位还是64位的
可以使用命令查看Linux系统是32位还是64位。
查看linux机器是32位还是64位的方法:
file/sbin/init
/sbin/init:
ELF64-bitLSBexecutable,x86-64,version1(SYSV),dynamicallylinked
(usessharedlibs),forGNU/Linux2.6.18,stripped
#显示64-bit则为64位系统
file/sbin/init
/sbin/init:
ELF32-bitLSBexecutable,Intel80386,version1(SYSV),forGNU/Linux
2.2.5,dynamicallylinked(usessharedlibs),stripped
#显示为32bit则为32位系统
‘贰’ 求tomcat 6.0.24 for linux安装包
apache-tomcat-6.0.24.tar.gz
‘叁’ linux+tomcat无法访问中文名文件和目录
修改Tomcat 的server.xml
<Connector port=”8080″ protocol=”HTTP/1.1″ connectionTimeout=”20000″ redirectPort=”8443″ URIEncoding=”utf-8″ />
然后重启Tomcat 试试看,注意 “utf-8” 和 / 之间有 空格
‘肆’ linux下tomcat的启动问题
1、你是无法启动吗?如果是因内存无法启动,有以下解决办法
2、windows机器
修改 TOMCAT_HOME/bin/catalina.bat文件,在echo "using CATALINA_BASE:$CATALINA_BASE"上面加入这一行内容:
set java_OPTS=%JAVA_OPTS% -server -XX:PermSize=128m -XX:MaxPermSize=512m
大约187行
3、如果是linux 大约99行
export JAVA_OPTS="-server -Xms1400M -Xmx1400M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=128M -XX:MaxPermSize=512M"
‘伍’ tomcat for linux能不能更改443端口
看他的设置文件……
‘陆’ tomcat在linux下正常启动但是不能访问
你是用的什么Linux版本?是下载的Apache 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设置正确。
‘捌’ 如何设置代理 tomcat linux
安装Jdk
拷贝jdk-6u45-linux-x64-rpm.bin到root目录,到当前目录执行如下命令完成安装:
./jdk-6u45-linux-x64-rpm.bin
执行完毕,输入:
java –version
出现如下:
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
表示安全成功
拷贝apache-tomcat-6.0.43.tar.gz到root目录,终端解压:
tar –zxvf apache-tomcat-6.0.43.tar.gz 到当前目录,cd apache-tomcat-6.0.43/bin进入该目录, ./startup.sh 启动tomcat服务, cd .. 回到上一个目录, tail -f logs/catalina.out 可以看到控制信息,当看到如下信息表示成功启动。
Aug 18, 2015 11:45:17 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory docs
Aug 18, 2015 11:45:17 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Aug 18, 2015 11:45:18 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Aug 18, 2015 11:45:18 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/25 config=null
Aug 18, 2015 11:45:18 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1288 ms
Apache 服务安装配置
拷贝httpd-2.2.31.tar.gz到root目录,解压该文件,tar –zxvf httpd-2.2.31.tar.gz到当前目录,cd httpd-2.2.31/进行目录,创建要安装的Apache服务目录
mkdir /datac/ApacheServer,
检查配置安装环境:./configure --prefix=/datac/ApacheServer
./configure --prefix=/datac/ApacheServer --enable-so --enable-mods-shared=most --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-scgi --enable-proxy-ajp --enable-proxy-balancer,环境配置完成后,进行编译源代码,make命令进行编译,make install进行安装。
/datac/ApacheServer/bin/apachectl -k start 进行启动,此时访问该机器的IP:
http://xxx.xx.xxx.xx,后看到 It Works 说明安装成功。
修改配置文件cd /datac/ApacheServer/conf/目录下修改文件httpd.conf
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
根据目录找到httpd-vhosts.conf,做如下修改
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerName www.a.com
ProxyPass / http://192.168.1.230:8001/
ProxyPassReverse / http://192.168.1.230:8001/
</VirtualHost>
<VirtualHost *:80>
ServerName www.b.com
ProxyPass / http://192.168.1.230:8002/
ProxyPassReverse / http://192.168.1.230:8002/
</VirtualHost>
分别修改tomcat 端口 启动 即可
‘玖’ linux启动tomcat失败
Linux下启动tomcat的时候,如果服务启动不成功,可以到查看logs文件夹下的catalina.out
日志文件,cat我的日志文件可得到如下的错误信息:
cat catalina.out
Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 8101; nested exception is:
java.net.BindException: Address already in use
Feb 27, 2011 3:25:39 PM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already. Could not load com.funambol.server.tools.directorymonitor.FileChangeEvent. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
从字面上来看,是我的8101端口被占用了,应该是rmi需要用到这个端口,于是使用
netstat -anp
命令来查看各端口被进程占用的情况,这个命令输出包括进程的pid,得到这个pid之后,使用命令:
ps -ef|grep PID
即可查看进程的详细情况。
如果确认此进程可停止的话,
kill pid
重启tomcat就OK了!
‘拾’ linux中怎么配置tomcat开机启动增加tomcat.service
在/etc/init.d/下新建名为tomcat的脚本文件(vi /etc/init.d/tomcat),内容如下: #!/bin/bash # # tomcat startup script for the Tomcat server # # chkconfig: 345 80 20 # description: start the tomcat deamon # # Source function library . /etc/rc.d/init.d/functions prog=tomcat JAVA_HOME=/usr/java/jdk1.7 export JAVA_HOME CATALANA_HOME=/usr/local/tomcat export CATALINA_HOME case "$1" in start) echo "Starting Tomcat..." $CATALANA_HOME/bin/startup.sh ;; stop) echo "Stopping Tomcat..." $CATALANA_HOME/bin/shutdown.sh ;; restart) echo "Stopping Tomcat..." $CATALANA_HOME/bin/shutdown.sh sleep 2 echo echo "Starting Tomcat..." $CATALANA_HOME/bin/startup.sh ;; *) echo "Usage: $prog {startstoprestart}" ;; esac exit 0然后chkconfig tomcat on开启tomcat开机自启动。 另外注意按照你tomcat的安装路径和jdk安装路径修改上面脚本中的路径参数