我在suse linux上用root用户登录了系统,并将tomcat解压至home目录下,然后运行tomcat,一切都好像没问题了。但不知是什么原因,tomcat在运行一段时间后就会挂掉,崩溃了。查看了logs也没有发现什么异常情况报告,只要重启一下tomcat又好了,看了代码方面的,并没发现有导致内存泄露的代码,于是猜想,是不是在linux下布署tomcat时是用root的权限布署的,而访问网页时,因为权限的问题,所以令到所占用的内存没有得到释放而导致tomcat崩溃呢?那我在这里问问大家:一、你们是如何布署tomcat的呢,在linux下?二、运程访问服务器时,访问的用户又是谁呢?(是指linux下的用户权限是那个)知道的请回答!谢谢!
--------------------------
有这种可能。但是权限问题的话,你可以返回root用户,使用chmod命令,去更改相应目录的访问权限2.你们是如何布署tomcat的呢,在linux下?
---------------------------------------------
1).下载apache-tomcat-6.0.18.tar.gz并解压到某个目录下(建议解压时改个短名,如tomcat6)
2).找到tomcat6/bin/startup.sh并执行
3).修改tomcat6/conf目录下tomcat-users.xml文件的内容,改为如下内容
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="admin" password="" roles="admin,manager"/>
</tomcat-users>
4).重启tomcat(shutdown.sh是关闭命令;startup.sh 是启动命令)
5).如果你在linux下也使用myeclipse的话,那剩下的操作和在windows下没有什么区别;如果你在linux下使用的是eclipse,那就建议使用ANT脚本进行web项目的发布,而tomcat则独立启动或关闭
3.运程访问服务器时,访问的用户又是谁呢?(是指linux下的用户权限是那个)
-----------------------------------------------------
只要你成功配置好了tomcat,远程访问的和你平时在windows操作基本上一致。唯一需要说明的是,如果你想让外网进行访问,那就得在路由器上做对应的端口映射!!
另,我再想问下以下这个问题:
我装的是suse linux,在设置swap的时候设置了5G,但后来得知x86的linux并不支持swap超过2G的,所以想进行更改。由于装的是服务器,机子在电信的机房里,并设置了不能用vnc来连接,只能用SSH来连,请问,在这情况下,如果更改swap这个分区的空间大小呢?谢谢
那个xml文件默认情况下是没有什么东西的。。或许你的TOMCAT版本和我下载的不一样吧。不过既然有那些信息那就无关紧要了。
关于你用SSH连接远程服务器想更改SWAP分区大小的问题。你则可以通过修改/etc/inittab文件,将运行级别改为1 - Single user mode,然后进入到单用户模式,用如下几个命令编辑swap分区:
1. swap -l (显示swap 分区)
2. swap -d c0t0d0s1 (swap 分区)
3. format (重新分区,这一步是重点,你可查相关指令帮助)
4. swap -a c0t0d0s1 (swap 分区)
5. swap -l
建议你另开个用户 如 tomcat. 全部 chown
再用这个用户来运行 startup.sh
关于第二个用户访问的问题,小弟认为不存在用户权限的问题吧。等待更好的解决方法。