阿里轻量云服务器CentOS7.3 Java Web开发环境配置(Tomcat9+JDK1.8+MySQL5.7) 以及tomcat启动慢和mysql外网访问

时间:2022-09-21 10:00:43

最近做项目需要上云服务器测试,需要搭建Java Web开发环境配置(Tomcat9+JDK1.8+MySQL5.7)。笔者选择了阿里轻量云服务器,话不多说直接上配置过程。
     
为了方便操作,准备以下工具:
       1.Xshell:
远程连接操作阿里云服务器;
       2.FTP
上传工具:用于远程上传文件至服务器
       3.Navicat Lite for MySQL
:用于远程连接操作服务器的数据库

一、JDK配置过程

       1.Xshell远程连接操作(root登陆)
       (1).查看要阿里云自带的jdk版本

yumsearch java|grep jdk,之后选取要安装的jdk

(2).安装jdk

  使用命令 yum -y install jdk 名称 进行安装,安装路径在 /usr/lib/jvm/
  我的是 java-1.8.0-openjdk.x86_64

(3).配置环境变量,下面的路径根据自己安装的JDK写就好

       vim /etc/profile , 增加如下内容:
	#set java environment  
	  
	export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64  
	  
	export JRE_HOME=$JAVA_HOME/jre  
	  
	export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib  
	  
	export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin  
       (4) esc 键,输入( : wq 回车     W:write 写入     Q quit 退出
       (5)
source /etc/profile 让刚配置的环境生效
       (6) ( java -version )   
测试环境,出现以下信息即配置成功
阿里轻量云服务器CentOS7.3 Java Web开发环境配置(Tomcat9+JDK1.8+MySQL5.7) 以及tomcat启动慢和mysql外网访问

二、Tomcat9配置过程

        1.去官网下载tomcat,在此我用的是apache-tomcat-9.0.4.tar.gz
          
官网:https://tomcat.apache.org/
        2.
ftp传输工具将下载好的apache-tomcat-9.0.4.tar.gz,上传至阿里云服务器的/usr目录下
        3
通过 apache-tomcat-9.0.4.tar.gz)命令解压并安装jdk
        4.
接下来是最重要的问题,端口问题

          因为centos不同于ubuntu,有防火墙,无法直接访问到tomcat,需要将8080端口添加到防火墙中,不然直接访问时不能显示tomcat界面(ubuntu不需要防火墙配置修改)

         在阿里云服务器的防火墙同样需要添加8080端口

        5.systemctl startfirewalld  #启动防火墙

          firewall-cmd--zone=public --add-port=8080/tcp --permanent  #添加新端口
          firewall-cmd--list-ports  #
显示开放端口
        6.
接下来说的是tomcat9在阿里云上启动慢的问题

           解决方案(亲测有效)yum install rng-tools # 安装rngd服务(熵服务,增大熵池)
                           systemctl start rngd  #
启动服务

         7. 在这些一系列的配置过后,我们重新下服务器,xshell远程连接后

            (1)systemctl start firewalld         # 启动防火墙

            (2)systemctl startrngd             # 启动服务

            (3)/usr/tomcat/bin/startup.sh  #启动tomcat(注意自己的tomcat路径)

             注意:在tomcatlogs目录下,catalina.out文件中有tomcat的打印信息,可以通过ftp上传工具下载下来查看。

         8. 接下我们在浏览器中用服务器的(公网 ip:8080 )进行对 tomcat 的访问,出现 tomcat 主页即配置成功。
           阿里轻量云服务器CentOS7.3 Java Web开发环境配置(Tomcat9+JDK1.8+MySQL5.7) 以及tomcat启动慢和mysql外网访问

三、MySQL配置

CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB

1 下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

使用上面的命令就直接下载了安装用的Yum Repository大概25KB的样子然后就可以直接yum安装了。

yum -y install mysql57-community-release-el7-10.noarch.rpm

之后就开始安装MySQL服务器。

yum -y install mysql-community-server

这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb

至此MySQL就安装完成了,然后是对MySQL的一些设置。

2 MySQL数据库设置

  首先启动MySQL

[root@iz2zei817jjyh2ho752y69z usr]# systemctl start  mysqld.service

  查看MySQL运行状态,运行状态如图:

[root@iz2zei817jjyh2ho752y69z usr]#  systemctl status mysqld.service

阿里轻量云服务器CentOS7.3 Java Web开发环境配置(Tomcat9+JDK1.8+MySQL5.7) 以及tomcat启动慢和mysql外网访问

  此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

[root@iz2zei817jjyh2ho752y69z usr]# grep "password" /var/log/mysqld.log

 阿里轻量云服务器CentOS7.3 Java Web开发环境配置(Tomcat9+JDK1.8+MySQL5.7) 以及tomcat启动慢和mysql外网访问

  如下命令进入数据库(密码为上图红色圈出部分):

 [root@iz2zei817jjyh2ho752y69z usr]#  mysql -uroot -p

  输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

  mysql>ALTER USER 'root'@'localhost'IDENTIFIED BY 'newpassword';

  这里有个问题,新密码设置的时候如果设置的过于简单会报错:

  原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关:

   MySQL完整的初始密码规则可以通过如下命令查看

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.01 sec)

  密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:

validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

 

我的是已经修改过的,初始情况下第一个的值是ON,validate_password_length是8。可以通过如下命令修改:

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

  设置之后就是我上面查出来的那几个值,此时密码就可以设置的很简单,例如1234之类的。到此数据库的密码设置就完成了。

  但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch

  此时才算真的完成了。

MYSQL配置转载网址:https://www.cnblogs.com/bigbrotherer/p/7241845.html

此外在mysql的配置过程中可能会出现的很多问题,我们不得不卸载并清除mysql的配置信息,给大家分享个博文:

http://blog.csdn.net/qq_31307269/article/details/69525781

上述博文中,再删除时,最后不要忘记删除/var/log/mysqld.log

3 mysql外网访问

mysql默认是不能用客户端远程连接的,阿里云提供的help.docx里面做了设置说明,mysql密码默认存放在/alidata/account.log

(1)首先登陆mysql,上面有,不在陈述。

(2)切换到mysql表下

mysql> use mysql
(3)将host设置为%表示任何ip都能连接mysql,当然您也可以将host指定为某个ip
update user set host='%' where user='root' and host='localhost';
(4)刷新权限表,使配置生效
flush privileges;
(5)接下来我们用Navicat远程连接测试一下,出现一下界面说明mysql外网访问成功

阿里轻量云服务器CentOS7.3 Java Web开发环境配置(Tomcat9+JDK1.8+MySQL5.7) 以及tomcat启动慢和mysql外网访问

4.总结

      这样centos服务器中基本Java  Web的开发环境基本搭建完成,也有很多问题需要后续解决,例如tomcat的支持https协议的配置等。我将继续为大家更新新手开发中的一些问题。