Linux服务器中jdk、MySQL、tomcat的配置(包括一些问题的汇总)

这篇博客详细记录了在Linux服务器上安装JDK、MySQL和Tomcat的步骤,包括环境变量配置、错误处理及项目部署。在MySQL安装过程中,提到了密码策略问题和远程连接的配置。对于Tomcat,讨论了防火墙配置和端口开放的重要性,以及如何解决无法访问页面的问题。
摘要由CSDN通过智能技术生成


       在项目部署之前,首先需要准备好几个东西,即:在服务器中安装jdk、tomcat、mysql 。
       而在最后部署项目的时候需要用到:xshell(Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。除此之外,其还有丰富的外观配色方案以及样式选择。)以及:xftp(Xftp是一个功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后,MS Windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。Xftp 能同时适应初级用户和高级用户的需要。它采用了标准的 Windows 风格的向导,它简单的界面能与其他 Windows 应用程序紧密地协同工作,此外它还为高级用户提供了众多强劲的功能特性。
下载地址:https://www.netsarang.com/zh/xftp/

安装JDK

在下载安装好xshell以后打开,连接服务器:
①首先查看系统中有没有已经安装了JDK,有的话就卸载,没有的话就跳过。
输入

java -version
rpm -qa | grep java
rpm -e --nodeps (需要卸载的相应的内容)

②入官网选择合适的jdk版本下载
1)选定好自己需要把jdk放在哪里,比如一般都是放在usr/local/下的,然后在这个目录下创建一个jdk文件夹: mkdir jdk
2)然后将刚下载好的jdk,上传到jdk目录下
3)然后解压
4)解压成功以后可以输入:ls 来查看文件名
5)配置环境变量:

vim /etc/profile

需要添加的内容:
其中中括号中的内容,输入的是自己安装对应的目录,并且中括号是没有的
export JAVA_HOME=【/usr/local/jdk/jdk1.8.0_241】
export JRE_HOME=【/usr/local/jdk/jdk1.8.0_241/jre】
export CLASSPATH=.: ${JAVA_HOME}/lib: ${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin: $PATH

6)重新编译变量环境source /etc/profile
7)再次输入: java -version 查看是否有jdk的信息

安装tomcat

1)上官网下载:https://tomcat.apache.org/
在这里插入图片描述
下载好以后
1)创建存放tomcat的目录(步骤和jdk的差不多)
2)将下载好的文件上传到目录下
3)解压

tar -zxvf apache-tomcat-9.0.36.tar.gz

解压成功以后输入ls可以查看到文件名
在这里插入图片描述
4)测试tomcat是否正常工作

cd bin
./startup.sh

然后输入服务器ip,正常工作就会显示tomcat猫的页面

在这里插入图片描述
然后就成功了!

   然而有的时候,前面的步骤没有错,但输入地址,却看不到上述的页面的时候,有两种方法:
第一种,关闭防火墙:

systemctl stop firewalld

第二种,在防火墙中,将8080端口开放:(更推荐使用第二种方法)

firewall-cmd --zone=public --add-port=8080/tcp --permanent

重新载入

firewall-cmd --reload

然后再试一次就可以了。
    当然如果上面的步骤都试了,端口打开了,还是不行的话,就可能是阿里云的端口开放安全组没有配置了。这个时候,(1)打开安全组,然后点击配置规则。
在这里插入图片描述           在这里插入图片描述
(2)点击手动添加,然后配置即可在这里插入图片描述
(3) ①的位置,输入需要的端口号,比如现在是要8080,就输入:8080/8080
          ②授权对象,即允许访问的IP地址:可可以填写0.0.0.0/0表示允许或拒绝所有IP地址的访问
          ③优先级:同类型规则间依赖优先级决定最终执行的规则。尤其是当ECS实例加入了多个安全组时,多个安全组会从高到低依次匹配规则。优先级数值越小,代表优先级越高,取值范围1~100。如果两条安全组规则的协议类型、端口范围、授权类型、授权对象都相同,最终生效的安全组规则如下:
 优先级相同:拒绝策略的规则优先生效,允许策略的规则不生效。
  优先级不同:优先级高的规则生效。

在这里插入图片描述
最后再重启tomcat试一次,不出意外的话就可以访问到页面了

安装mysql

1)在MySQL的官网上下载对应的rpm包
2)在/usr/local下创建一个放mysql的目录,然后通过xftp将rpm包上传到该目录下
3)安装rpm:

yum -y install mysql80-community-release-el7-3.noarch.rpm

4)安装mysql

yum install -y install mysql-community-server
在最后看到一个完成(completed)的词的时候,代表安装成功了
5)启动mysql并查看初始密码
systemctl start mysqld.service
systemctl status mysqld.service

查看初始密码,这个密码比较复杂

grep “password” /var/log/mysqld.log

如果发现使用这种方法查不到密码,可以进行配置
#vim /etc/my.cnf

在文档内搜索mysqld定位到[mysqld]文本段:
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程

但也可能会出现这个问题,在登入进去,重新密码修改的时候会出现

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option

先执行
flush privileges;
然后再修改密码就可以了

6)登录mysql

mysql -uroot -p

7)修改密码:

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’;

这个时候就可以修改密码啦,但这里,如果新设置的密码太过于简单的话会有报错,显示修改不了密码。

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

①输入,

SHOW VARIABLES LIKE ‘validate_password%’;
但也有可能会操作不了,这个时候就先更改将初始密码更改了,把密码修改的复杂一些。在后面的操作都执行完毕以后,再对密码更改为简单的即可。当然,如果密码不需要设置简单的,可以跳过①②步骤。

②修改变量:需要注意的是,mysql8和mysql5.7的版本,两者的输入方式是不一样的,不然的话就会报错,我安装的是MySQL8 的,输入的方式就如下所示:

set global validate_password.policy=0;
set global validate_password.length=6;

这个时候再进行修改密码就可以成功了。
8)mysql远程连接

GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

但这里会遇到一个问题,就是在输入

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;

会报错显示:`ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘IDENTIFIED BY ‘123456’ WITH GRANT OPTION’ at line 1

`
经查找,发现。在版本8以后,这是已经将创建账户和赋予权限的方式分开了。

mysql>  create user root@'%' identified by 'your password'; 
Query OK, 0 rows affected (0.01 sec)

mysql> grant all privileges on *.* to root@'%' with grant option;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

但会发现在输入了下列以后报错ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'%'

 `create user root@'%' identified by 'your password';` 

这时候只需要再删除一次即可

 drop user 'root'@'%';

▲ 最后一定需要对mysql进行重启,不然在进行navicat远程连接的时候,可能一直报错显示2003;哪怕开了端口号的时候,也一样会报错2003;这个弄了我好久才发现原来是因为,没有把数据库进行重启所造成的问题,然后才把问题给解决了。
          

9)打开navicat进行连接
①中的连接名,自己起
②主机,输入服务器对应的ip
③用户名,密码
在这里插入图片描述
如果这个时候连接的时候,报错。无法连接的时候,原因是因为没有将端口打开。

firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新载入
firewall-cmd --reload

除此之外,安全组的配置中也是一样的,端口号3306。操作的步骤,与tomcat的时候一样进行配置。最后再进行连接,就可以与服务器中的mysql进行连接了。

项目部署

①将web项目打包成.war。
②将war通过xftp上传在tomcat下的webapps下面,然后启动tomcat。就部署成功了。而在上传的时候,最好将tomcat关闭了以后再进行部署。然后启动tomcat,war包就会被解压,在webapps下可以看到相应的项目文件夹了。这时候,在游览器输入地址,就可以访问到项目了。

第一次尝试将项目部署到服务器上,过程中遇到了许多问题,现在将自己部署过程,以及遇到的问题和解决的方法都记录了下来,如果有哪里写的不对的地方,希望大家可以指出来。谢谢大家!!!!!

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值