Centos7.2安装tomcat+Myeclipse(遇到的一些问题与总结)+web项目实战
工作环境:centos7.2
PS:没有耐心的同学可以直接跳到后面的安装方法,对于安装方法大多是网上的,我只是做相关收集和总结
给个tomca和Myeclipset折腾的半死,现在做一些总结
1.一定要分清在什么用户下安装的tomcat(到底是root和自己创建的usr),不然后期会烦死你,有的时候你在当前用户下安装的tomcat却放到
root用户下执行,举个我操作过程中的例子:
org.apache.jasper.JasperException: java.lang.IllegalStateException: No output folder:
关于这个原因主要是权限的问题,在tomcat/work/Catalina/localhost/,主要是这个目录没有被读写的权限,导致文件不能被编译到该指定的工作目录中,此时我们就要针对与这个目录做一些权限的修改权限至少要达到755或者以上,同时注意此处修改权限必须用root身份进行操作,否则不能进行修改,修改完后编译好的jsp文件就在localhost的目录当中了。发现了问题在于work/Catalina/localhost/中无法生成对应文件,把tomcat整个目录、work整个目录都修改了权限仍然不行。最后到具体的目录tomcat/work/Catalina/localhost/进行修改权限OK。
我遇到的这个报错,是因为使用root启动过一次服务,后来用其他用户进行服务的启动,而在启动之前没有删除tomcat/work/目录下的内容,该目录下还是存在属主为root用户的Catalina目录,在使用其他用户执行启动时,由于该Catalina已存在,就不再重新创建,而是增量修改该目录,但是由于其他用户没有权限修改属主为root的目录和文件,因此报错。建议在每次停tomcat成功后,删除tomcat/work/*;如果不想每次都删除,一定要保证每次启动tomcat使用的用户要严格正确。
tomcat的work目录 http://blog.csdn.net/wugouzi/article/details/12713559
2.端口占用问题,什么(8080,8085,8009)等等,一般来说我们安装tomcat肯定与Myeclipse息息相关,而Myeclipse都自带了tomcat,但是往往我们会去官网下载最新版本。
可能安装的时候,我们有时会出现一种情况:tomcat安装在当前用户,但是Myeclipse可能在root用户。二者用户不统一也往往会遇到各种问题。
有的时候我们刚刚安装好tomcat但再Myeclipse执行过程中会出现端口占用问题,我们应该先通过(查看端口号被占用情况 “sudo lsof -i tcp:端口号”一般默认端口号是8080)来查看端口占用问题,而不能盲目用"./shutdown.sh"来强制关闭tomcat,因为往往有时候明明tomcat没有开启,你用命令强制关闭会弹出
SEVERE: Could not contact localhost:8005. Tomcat may not be running.
Feb 10, 2017 3:35:46 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop:
java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:476)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:408)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:497)
结果还sb的以为tomcat安装有问题。
3.访问文件遇到的用户权限问题,有的时候在Myeclipse启动tomcat服务,出现什么Permission Denied问题,这是访问文件的权限不够,可用修改用户权限(有的时候文件有个锁标记)
” sudo chown -R 当前用户 文件夹“ 其中-R代表递归,意思就是该文件夹下所有子文件都给予所有权限
4.局域网访问的一些问题, 之前一些同事跟我说在服务器上能访问,但是局域网就不能。(网上的一些iptables修改建议就不要用了)
之前用的iptables来管理的防火墙,后来发现centOS7.2中已经用firewalld取代iptables了,
systemctl stop iptables.service#于是与时俱进,停用了iptables。
systemctl start firewalld.service #然后来启动firewalld吧
给我报了这个错 Failed to start firewalld.service: Unit firewalld.service is masked.
查了很久没找到解决办法,于是试着输入了下面这行命令,解决了。
systemctl unmask firewalld.service
启动firewalld.service
systemctl start firewalld.service
firewall-cmd --permanent --zone=public --add-port=80/tcp #把80端口添加到防火墙开放端口中
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
systemctl restart firewalld.service #重启一遍firewalld服务使其生效
firewall-cmd --zone=public --query-port=80/tcp #检查更改是否生效
5.当导入webProject运行tomcat时发现错误,如若修改代码,切不能直接运行tomcat。必须重新Redeploy然后再运行tomcat
6.浏览器打开localhost:8080会出现页面错误访问不了! 安装tomcat后,(./startup.sh #开始tomcat)我们第一次往往会打开localhost:8080来验证是否成功,成功的话则会弹出友好界面,过后我们可能执行(./shutdown.sh#关闭tomcat)。防止执行Myeclipse里面的tomcat造成端口冲突。
在做webProject时,我们不需要打开tomcat,因为Myeclipse里面已经绑定好了,此时运行相关项目,如果在浏览器打开localhost:8080会出现页面错误访问不了,可能是你tomcat/webapps下的ROOT文件夹没了,你可以从安装源文件复制进去即可
********************************************************************************************************************************************************************************************************************
********************************************************************************************************************************************************************************************************************
附上相应的安装方法,虽然都是别人的,但也是我试验证明和查找的一些好方法
tomcat安装方法 http://blog.csdn.net/wlwlwlwl015/article/details/51210347
下载MyEclipse安装包
小指安装测试的版本为:myeclipse-pro-2014-GA-offline-installer-linux.run
个人分享下载:
链接: https://pan.baidu.com/s/1i5c6uZr 密码: t6ee
安装
1.解压获得myeclipse-pro-2014-GA-offline-installer-linux.run文件
2.添加执行权限
sudo chmod a+x myeclipse-pro-2014-GA-offline-installer-linux.run
3.执行安装
sudo ./myeclipse-pro-2014-GA-offline-installer-linux.run
4.安装过程中,选择安装于/opt/MyEclipse/目录下,其他默认,32位和64位选正确
5.修改权限,添加读写权限即可
sudo chown -R root:root /opt/MyEclipse
sudo chmod -R a+r /opt/MyEclipse
sudo chmod -R a+w /opt/MyEclipse
(个人建议,第一条语句可以换成
sudo chown -R 当前用户 /opt/MyEclipse
)
6.可执行文件重定向添加到/usr/bin/里
sudo ln -s /opt/MyEclipse/myeclipse /usr/bin/myeclipse
7.添加桌面快捷方式
sudo gedit /usr/share/applications/MyEclipse.desktop
粘贴下面的文本
[Desktop Entry]
Encoding=UTF-8
Name=MyEclipse 2014
Comment=IDE for Web&Java
Exec=/opt/MyEclipse/myeclipse
Icon=/opt/MyEclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=true
保存后在Dash里可以查看到MyEclipse的快捷方式
8.打开MyEclipse即可使用
安装排错
1.第三步无法打开.run文件,提示java错误
错误原因:java版本错误,需要安装Oracle JDK而不是默认的Open JDK,按上文重新安装配置
2.提示权限错误
The configuration area at '/opt/MyEclipse/configuration' is not writable. Please choose a writable location using the '-configuration' command line option.
错误原因:权限不足,请按上文第五步重新添加读写权限
3.版本错误
错误原因:版本选择错误,请正确选择32位或64位,使用uname命令确认
uname -i
破解
破解时请保持MyEclipse关闭!!!
破解步骤:
1.下载破解文件cracker.jar:链接: https://pan.baidu.com/s/1kVNPw9p 密码: t5x2
2.使用java打开
java -jar cracker.jar
3.配置:
Usercode:随便输入,可设为hostname
版本选择:PROFESSIONAL(默认)
4.SystemId 在右边的SystemId按钮处,连续点击两次。
5.选择Tools->0.RebuildKey,点击
6.点击激活按钮Active
7.选择Tools->1.ReplaceJarFiles,选择/opt/MyEclipse/plugins/目录
8.选择Tools->2.Save properities,保存配置,激活成功
9.检测是否激活成功
打开MyEclipse,选择MyEclipse->Subscription Information...可查看
Activation Status: Product activated
显示如上表示激活成功!
完成激活后即可愉快使用MyEclipse啦,觉得有用就点赞吧~
安装完tomcat+Myeclipse后,实战一下把!
http://blog.csdn.net/jiuqiyuliang/article/details/36875217
Centos7.2安装tomcat+Myeclipse(遇到的一些问题与总结)+web项目实战的更多相关文章
- Centos7 yum安装tomcat
以下操作是在线安装apache-tomcat 需要联网下载包. liux系统环境 [root@localhost ~]# cat /etc/redhat-release CentOS Linux re ...
- CentOS7.2 安装Tomcat
Centos默认安装JDK 现在要删除旧版本的jdk,安装新版本jdk 查看现有jdk: [root@localhost 桌面]# rpm -qa | grep jdk java-1.8.0-open ...
- centos7下面安装tomcat
前言 对于一个新安装的 centos 系统来说,是没有 tomcat 服务器的.用下面的命令可以查看 tomcat 服务的状态. systemctl status tomcat.service//或者 ...
- 全网最详细的MyEclipse里如何正确新建普通的Java web项目并发布到Tomcat上运行成功【博主强烈推荐】(图文详解)
不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 如果是在eclipse里,则是File -> new -> ...
- Eclipse-ee 启动Tomcat后浏览器无法访问Tomat,并且Web项目服务部署
环境: Ubuntu 14.04 + Eclipse-ee + Tomcat7 问题: 在Eclipse中建立Server时选择的Tomcat7,Server的运行时选择的时自己安装的Tomcat目 ...
- eclips 配置一个tomcat,启动多个不同端口的web项目
前提: 记录这个文章是因为在网上查资料,很多都是,用eclips.配置多个tomcat,就像下面图这样配置两个tomcat 去启动不同的web: 运动多个web 项目,设置不同的端口,需要多个tomc ...
- 阿里云CentOs7上安装Tomcat
一.下载安装tomcat8 cd /usr/ #创建tomcat目录 mkdir tomcat #从网上download 压缩包 wget tomcat8 url #解压 tar -zxvf apac ...
- CentOS7下安装Tomcat
1.下载tomcat. 测试tomcat版本为:apache-tomcat-8.5.6.tar.gz.下载地址:http://tomcat.apache.org/download-80.cgi. 2. ...
- 华为云服务器centos7.3安装tomcat
1. 进入tomcat官网,复制下载地址 https://tomcat.apache.org/download-80.cgi#8.5.47 鼠标右键,复制链接地址:http://mirrors.tun ...
随机推荐
- 笨办法学Python - 习题11-12: Asking Questions & Prompting People
目录 1.习题 11: 提问 2.习题 12: 提示别人 3.总结 1.习题 11: 提问 学习目标:了解人机交互场景,熟悉raw_input 的用法. 1.在 Python2.x 中 raw_inp ...
- cp命令详解
基础命令学习目录首页 http://man.linuxde.net/cp 如果把一个文件复制到一个目标文件中,而目标文件已经存在,那么,该目标文件的内容将被破坏.此命令中所有参数既可以是绝对路径名,也 ...
- mpstat命令详解
基础命令学习目录首页 原文链接:https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858775.html 简介 mpstat是Multipro ...
- shell--read命令
read命令 -p(提示语句) -n(字符个数) -t(等待时间) -s(不回显) 1.基本读取read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说).得到输入后,read命令将数 ...
- “秒杀”问题的数据库和SQL设计【转载】
“秒杀”问题的数据库和SQL设计 APRIL 21ST, 2015 问题的来源 完全不考虑一致性的方案 表结构 方案 存在的问题 保证单用户不会重复购买 解决超卖问题 方案 优化 提高性能了 鱼与熊掌 ...
- PSP Daily软件beta版本——基于spec评论
题目要求: 每个小组评论其他小组beta发布作品的软件功能说明书. 试用(并截图)所有其他小组的beta作品,与软件功能说明书对比,评论beta作品对软件功能说明书的实现. 根据软件功能说明书,测试所 ...
- js访问对象属性的两种方法
var obj={name:'fuuf',age:19} 第一种,用.访问 obj.name 第二种 用[]访问 obj['name'] //此时name是字符串,要加引号 注意事项 使用第二种方法 ...
- RPM 安装oracle18c 修改字符集的方法
1. 安装完preinstall 和 oracle 的rpm版本之后 到这个界面 rpm -ivh oracle-database-preinstall-18c-.el7.x86_64.rpm war ...
- [Linux] 关于 history 命令的简单使用
1. 如果不想记录当前 会话操作的命令的话 可以使用命令 set +o history 但是这个命令有一个坏处, 他自己被记住了... 2. 还有一个办法 就是 在退出登录之前执行命令 history ...
- SQL中MAX()和MIN()函数的使用(比较字符串的大小)
在SQL数据库中,最大/最小值函数—MAX()/MIN()是经常要用到的,下面就将为您分别介绍MAX()函数和MIN()函数的使用,供您参考,希望对您学习SQL数据库能有些帮助. 当需要了解一列中的最 ...