最近做项目需要上云服务器测试,需要搭建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
(3).配置环境变量,下面的路径根据自己安装的JDK写就好
#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
(5) ( source /etc/profile ) 让刚配置的环境生效
(6) ( java -version ) 测试环境,出现以下信息即配置成功
二、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路径)
注意:在tomcat的logs目录下,catalina.out文件中有tomcat的打印信息,可以通过ftp上传工具下载下来查看。
三、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
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
[root@iz2zei817jjyh2ho752y69z usr]# grep "password" /var/log/mysqld.log
如下命令进入数据库(密码为上图红色圈出部分):
[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外网访问成功
4.总结
这样centos服务器中基本Java Web的开发环境基本搭建完成,也有很多问题需要后续解决,例如tomcat的支持https协议的配置等。我将继续为大家更新新手开发中的一些问题。