前言
上一篇博客(云服务器(Centos7系统)部署javaweb项目(一)Xshell和Xftp的安装和配置)已经按照和配置了 xshell和Xftp,并连上了服务器。现在继续来配置云服务的环境
配置java环境
这里我选择了java1.8的版本,首先查看yum源的java1.8的包
yum list java-1.8*
- 1
这里我们选择x86_64版本进行安装
yum -y install java-1.8.0-openjdk.x86_64
- 1
这时候云服务器会自动安装并配置java环境。
安装完成后,可以使用 java -version
命令查看java是否安装成功了
安装mysql
这里我选择了mysql5.7进行安装,当然你也可以选择mysql8.0,这里稍微总结一下对于java 项目来说,使用mysql5.7和mysql8.0 的区别。
- 主要是JDBC驱动jar包的版本区别。
mysql5.7及之前的版本对应的JDBC驱动jar包版本为5.1,而mysql8.0及以上的版本对应的JDBC驱动jar包版本为8.0,值得注意的是,8.0版本的驱动jar包也可以用来连接mysql5.7及5.7之前的版本,但是5.1版本的驱动不能连接mysql8.0
<!--mysql 连接驱动 用于连接mysql5.7以及5.7之前的版本,不能用来连接mysql8.0 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
<!--mysql驱动 可用与连接mysql8.0,也可以用来连接mysql5.7-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version> 8.0.17</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
- 由于驱动jar包版本的不同,导致的Driver类的位置不同。5.1版本的驱动,Driver类的位置为
com.mysql.jdbc.Driver
, 8.0版本的驱动,Driver类的驱动为com.mysql.cj.jdbc.Driver
- 连接数据库的URL也不太一样,连接mysql8.0 的时候,需要显式的关闭SSL以及指定时区。假定要连接的数据库名为manzuo,对于mysql5.7,连接的URL为
jdbc:mysql://127.0.0.1:3306/manzuo
,而对于mysql8.0,连接的URL为jdbc:mysql://127.0.0.1:3306/manzuo?useSSL=false&serverTimezone=UTC
接下来就开始安装mysql5.7,依次执行以下三条命令
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
- 1
- 2
- 3
执行完上面三条命令,就成功安装了mysql5.7了
现在还需要配置一下mysql。
- 启动mysql服务:
systemctl start mysqld.service
- 找出mysql的临时密码:
grep "password" /var/log/mysqld.log
- 复制临时密码,然后执行
mysql -u root -p
命令,然后粘贴刚刚复制的密码进入数据库。 - 因为现在的密码是mysql产生的临时密码,所以首先需要更改mysql的密码,才能正常使用数据库。利用
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
更改密码,密码长度至少为8位,且必须包含大小写字母,数字和字符。 - 如果想设置一个简单的密码,比如
12345
之类的,这就需要说到mysql的初始密码策略了,为了数据库的安全,mysql规定数据库的密码必须符合一定的规范。我们可以在数据库里 利用show variables like 'validate_password%';
查看当前的密码策略(需要更改初始密码后才能查看)。
我们可以通过修改密码策略,达到修改简单密码的目的。在mysql里执行下面两条命令
//将策略要求置为LOW
set global validate_password_policy=0;
//将密码最小长度设为1
set global validate_password_length=1;
- 1
- 2
- 3
- 4
这样就可以设置 简单密码了。
安装Tomcat9
将javaweb项目部署到云服务器运行一般有两种办法,
- 将项目打包成war包,并放到云服务器的tomcat目录下的webapps文件下,tomcat 会自动将war包解压成相应的文件夹,这样就可以通过云服务的ip访问到项目了。
- 现在的Springboot项目一般都打包成jar包,把jar包放到云服务器后可以通过java命令运行jar包,也可以达到将项目部署到服务器的目的,而且jar包内嵌有tomcat,不用手动在服务器安装tomcat,所以如果你的项目是springboot项目,这一步可以忽略。
下面开始安装tomcat9,依次执行以下命令(输入命令时,忽略#号,这里#代表管理员身份)
# cd /usr/local/
# mkdir tomcat && cd tomcat/
# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz
# tar -zxvf apache-tomcat-9.0.27.tar.gz
- 1
- 2
- 3
- 4
到这里,我们已经完成了tomcat 的安装,我们可以设置tomcat的端口,默认是8080.
//首先进入tomcat9的目录
//完整路径为 /usr/local/tomcat/apache-tomcat-9.0.27
# cd apache-tomcat-9.0.27
//编辑server.xml
//vi的操作方法自行百度
# vi conf/server.xml
- 1
- 2
- 3
- 4
- 5
- 6
找到下面的位置,改掉默认的8080端口 就可以,我这里没有改,保存默认的8080端口,并且加了一句URIEncoding="utf-8"
,设置编码,防止中文乱码的问题。设置后,就可以保存退出了。
接下来要根据你上面设置的端口配置云服务器的防火墙:
默认情况下,8080端口(或者你设置的其他端口)是不对外开放,你需要将你设置的端口号加入服务器的防火墙白名单。下面以开放8080端口为例
//开放8080端口
# firewall-cmd --zone=public --add-port=8080/tcp --permanent
//防火墙重启
# firewall-cmd --reload
- 1
- 2
- 3
- 4
–zone 作用域,–zone表示任意ip都可以访问
–add-port=8080/tcp 添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
配置tomcat服务及开机自启动
//新建tomcat.service 文件
# vi /etc/systemd/system/tomcat.service
- 1
- 2
把下面的内容复制进tomcat.service
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=oneshot
ExecStart=/usr/local/tomcat/apache-tomcat-9.0.27/bin/startup.sh
ExecStop=/usr/local/tomcat/apache-tomcat-9.0.27/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
现在你可以用下面的命令来控制tomcat了:
- 设置开机自启动:
systemctl enable tomcat.service
- 启动tomcat:
systemctl start tomcat.service
- 关闭tomcat:
systemctl stop tomcat.service
- 重启tomcat
systemctl restart tomcat.service