Linux安装注意事项

Linux权限:提示-bash: ./startup.sh: Permission denied的解决方案
 

启动tomcat命令:

之后提示-bash: ./startup.sh: Permission denied

原因:在Linux中,第一次启动一个新的tomcat,用户没有权限,而导致无法执行。用命令chmod 修改一下bin目录下的.sh权限就可以了

解决:

在bin目录下输入:chomd u+x *.sh

这里的u 这里指文件所有者,+x 添加可执行权限,*.sh表示所有的sh文件

ifconfig命令查看ip

注意:这与Windows不同,windows是ipconfig

tomcat 乱码问题

修改tomcat/apache-tomcat-7.0.92/conf/logging.properties把UTF-8改成GBK

"Host 'QH20121401L.sz.welab.com' is not allowed to connect to this MySQL server"

先说说这个错误,其实就是我们的MySQL不允许远程登录,所以远程登录失败了,解决方法如下:

1、在装有MySQL的机器上登录MySQL mysql -u root -p密码 ;

2、执行use mysql;

3、执行update user set host = ‘%’ where user = ‘root’;这一句执行完可能会报错,不用管它。

4、执行FLUSH PRIVILEGES,执行后才能生效

经过上面4步,就可以解决这个问题了。
注: 第四步是刷新MySQL的权限相关表,一定不要忘了,我第一次的时候没有执行第四步,结果一直不成功,最后才找到这个原因。
 

使用命令查看端口号


第一步,ps -ef|grep tomcat
查看运行的Tomcat 服务,获取 PID

第二步,根据 PID ,查找端口号
netstat -antup |grep LISTEN | grep 15397 | awk -F ':' '{if($4<20000) {print $4}}'

关于服务器上tomcat报Caused by: java.util.zip.ZipException: error in opening zip file;

org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]] Caused by: java.net.BindException: Address already in use异常的自我总结


Caused by: java.net.BindException: Address already in use异常的自我总结)
前提条件
首先要保证代码没有问题,就是项目能在本地tomcat可以启动,其次本地的jdk和tomcat版本要与服务器上面的对应,如果做不到tomcat对应,至少也要做到jdk大版本对应。

解决方法一:

1.发布到阿里云服务器tomcat上的项目报404,有经验的工程师肯定会先去找日志(在你服务器tomcat/logs/catalina.out),然后就会发现报本篇博客标题上门的错。

2.最初也是自己把项目的war删了,重新再发布,但是无济于事。最后我发布到我服务器上另一个tomcat,发现竟然可以访问了。

3.解决方法清理服务器上tomcat的缓存
以下是从网上搜刮来着

进入tomcat/bin目录下,执行sh shutdown.sh命令关闭tomcat。
然后执行命令 ps -aux | grep tomcat 命令​,
查看tomcat命令是否真的关闭  
如果没有关闭执行 kill -9 #pid 来彻底关闭tomcat(#pid是tomcat的进程ID)
        ID
​root    17505    0.0        0.0    63344  768    pts/1    S+  10:22  0:00 grep tomcat​USER        
4.最后进入tomcat/work目录下​,执行 rm -rf Catalina 来删除缓存文件
5.执行ls ​确认是否删除,如果work目录下没有Catalina文件夹说明删除成功。
6.在进入tomcat/bin目录下,执行./startup.sh命令来重启tomcat。

清理缓存后,重新发布项目到tomcat就可以访问了。
如果对服务器配置不清楚的同学,可以在更换阿里云镜像,在镜像市场选择java镜像,jdk+mysql+tomcat都自动给配置好了,主要的优点还是免费。

解决方法二:

1.日志jar包版本的问题
看你引用的log4j的版本,如果是1.X版本,那你需要配置log4j.properties文件。

如果你的log4j版本是2.X版本,那你需要配置log4j2.xml。
解决方法
log4j版本与配置文件对应不了的话,本地运行项目控制台也会报错,但你的程序仍然可以运行,细心的朋友可以看一下会报个error,但还是可以运行。
如果放到服务器上面,那就不怎么happy,也将会报博客标题的错误。

方便大家改错。我就把这两个配置文件放到这里了,

log4j.properties

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=d:/mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=warn, stdout


log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
  <Configuration status="WARN">  
    <Appenders>  
        <Console name="Console" target="SYSTEM_OUT">  
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />  
        </Console>  
    </Appenders>  
    <Loggers>  
        <Root level="error">  
            <AppenderRef ref="Console" />  
        </Root>  
    </Loggers>  
</Configuration
 


 

centos 无法输入中文

1. ibus-libpinyin 检查是否安装,已安装无需进行安装
命令: yum install ibus-libpinyin

2. 设置language 添加中文, 指定shift 键切换
设置路径:Applications ->System Tools ->Setting ->Regin & Language
以上做完,若人不能输入中文 执行一下操作

3.安装 im-chooser
命令: yum install im-chooser

4. 回到普通用户,设置ibus输入法为默认输入系统
命令:imsettings-switch ibus

5.注销一次用户登录重新登录即可

Linux网络异常

输入密码后进入root模式(出于安全考虑,输入密码时不会显示在屏幕上),此时可修改虚拟机配置文件。

在命令行输入vi /etc/sysconfig/network-scripts/ifcfg-ens32回车(此处命令可能有略微变化,如果上一步中输入ifconfig回车后显示的为ens33或其他,则命令相应改成vi /etc/sysconfig/network-scripts/ifcfg-ens33回车或其他),出现网络配置相关选项,
此时可以看到ONBOOT选项值为no,需要改成yes

可以 cd /etc/sysconfig/network-scripts , ifcfg-ens32这个文件名是不一定的,但是看起来和这个名字差不多,比如ifcfg-ens33

重启网络服务: service network restart

 然后尝试 ping www.baidu.com

配置tomcat后本地可以访问,但远程无法访问问题
在centos系统上,配置好tomcat后,本地可以访问,但是远程浏览器一直无法访问tomcat

1.在防火墙的配置文件里面看看有没有修改:cd /etc/sysconfig/iptables
如果有-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT这句则代表着8080端口是开启的,如果没有就加上,再重启tomcat试试。

2.如果还不行,就能检查一下网络和WEB服务器配置:

①检查下网络是不是屏蔽了外界的访问,最简单的办法是使用Telnet客户端检查,只要使用这样的语法
telnet serverip 8080
这样就能尝试使用telnet(字符流)访问8080端口的服务主机,如果正常的话会返回内容

②如果上一步正常(能返回)那就检查下内容,是不是Tomcat进行IP黑名单设置

③ 如果第一步不正常,那就检查下防火墙设置,比如使用
iptalbes -F #清空下防火墙规则看看效果

 

我的问题是执行 iptables -F后问题就解决了

重连网络,运行

#service network restart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值