阿里云服务器tomcat配置完成访问不了,一直加载的问题解决!!!

作为一名服务器小白,在配置Linux中web项目环境时最怕的就是明明一切都正常进行,运行却失败的问题。今天配置服务器,按照所有的步骤配置完成,访问“服务器IP:80/blog"时,浏览器显示一直加载却加载不出来的问题。

根据网上很多博客的说法,无法访问tomcat的具体原因有:

  1. tomcat启动失败
  2. 防火墙未开启相应端口
  3. 阿里云服务器安全组规则未配置端口

根据以上三个原因,进行逐个排查:

  1. tomcat启动失败
    tomcat的安装与配置:

    tomcat配置完成后,启动tomcat:/user/tomcat/apache-tomcat-8.0.23/bin/startup.sh
    Tomcat启动成功图示
    使用以下命令查看tomcat启动情况:
    [root@uncleyu bin]# ps -ef | grep tomcat
    Tomcat未启动Tomcat启动中

  2. 防火墙未开启相应端口
    开启web访问端口:80 / 8080 / 3306 / 22 / 21

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=3306/udp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent

重启防火墙

firewall-cmd --reload

查看防火墙开放端口/开放端口列表

firewall-cmd --zone=public --query-port=8080/tcp
firewall-cmd --zone=public --list-port
  1. 阿里云服务器安全组规则未配置端口
    阿里云安全组配置规则
    以上问题再次检查后,还是不能解决问题!!!!
    在这里感谢还有一篇救命文章:调试Tomcat启动问题(原文章名:Linux下Tomcat的安装配置)

根据文章受到的启发,我试着输出一下tomcat目录下的日志:catalina.log
发现了如下异常:

[root@uncleyu bin]# tail ../logs/catalina.out
2020-07-23 06:08:25,946 [Druid-ConnectionPool-Create-79823111] ERROR [com.alibaba.druid.pool.DruidDataSource] - create connection error
  java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:910)
	at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3923)
	at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1273)
	at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031)
	at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
	at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
	at sun.reflect.GeneratedConstructorAccessor16.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
	at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1375)
	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1431)
	at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:1844)

其中关键的一句:java.sql.SQLException: Access denied for user ‘root’@‘localhost’ (using password: YES),啊!恍然大悟。意思是使用root登录到数据库访问localhost失败。
解决:在项目还没有发布到服务器时,本地程序连接的数据库是本地数据库,所以用的是localhost,而项目发布到服务器上忘记修改成服务器地址。
于是我就修改了本地项目程序中的连接数据库部分代码:

url = "jdbc:mysql://服务器公网IP:3306/databaseName?useUnicode=true&amp;characterEncoding=UTF-8"";

同时修改了连接到服务器数据库的账号和密码,重新部署到服务器测试。重启tomcat服务器,访问测。成功访问!!!

如果关闭了tomcat,重新启动,要有耐心等待项目部署完成~~加油

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值