JavaWeb项目的云服务器部署
本次是把已经在本地跑通的Javaweb项目部署到云服务器上,踩了很多坑,磨磨唧唧很长时间。我使用的服务器是阿里云的 centos7.8版本。本篇文章主要内容有:
- 云服务器的控制台配置
- 服务器上JDK的安装和配置
- 数据库MariaDB的安装和远程连接
- tomcat的安装和启动
- JDBC连接
- 本地javaweb部署到云服务器
都为亲测可试,欢迎补充。
一、云服务器配置
云服务器启动后并不能达到我们要的效果,首先要设置安全组,允许外网访问的端口范围。
开启的端口有:
- 8080:tomcat的应用端口
- 80:HTTP的服务端口
- 3306:MariaDB数据库的访问端口
- 443:https的端口
之前的MySQL远程配置一直失败,可能是忘记打开了3306端口,下次需要注意。
二、JDK的安装
采用的离线解压安装方式,提前下好安装包,https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html。然后使用Xftp上传到服务器。
再解压到自己想要的目录内,tar -zxvf jdk-13.0.1_linux-x64_bin.tar.gz -C 目标目录。
解压后,配置环境变量,使用命令 vim/etc/profile 编辑,在最后加上如下内容。
保存退出后,使用命令 source /etc/profile 重新加载配置文件。(该命令运行结束无内容)
使用 java -version 命令查看是否配置完成。
三、MariaDB的安装和远程连接
近来MySQL被收购,有闭源的风险,所以尝试了MariaDB数据的使用。该数据库完全兼容了MySQL,并且开源免费。
MariaDB的安装
采用的是在线安装。
首先输入命令:vi /etc/yum.repos.d/MariaDB.repo 在yum下添加配置文件MariaDB.repo,并编辑内容:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.2/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
然后通过命令安装即可。
yum install MariaDB-server MariaDB-client -y
MariaDB 安装完毕后,立即启动数据库服务守护进程。
systemctl start mariadb
设置 MariaDB 在操作系统重启后自动启动服务。
systemctl enable mariadb
查看 MariaDB 服务当前状态。
systemctl status mariadb
对 MariaDB 进行安全配置
通过命令 mysql_secure_installation 进行安全配置,根据实际情况用Y/N回复以下问题:
- 设置 MariaDB 的 root 账户密码
- 删除匿名用户
- 禁用 root 远程登录
- 删除测试数据库
- 重新加载权限表
本人全都是选择了Y,然后按回车。
在配置完数据库的安全配置后,可以通过以下命令查看版本,确认 MariaDB已安装成功。
mysql –version
可以通过 MariaDB 命令行登录,然后对数据库进行sql查询操作。
mysql -u root -p
远程连接
输入命令,开启root用户的远程权限并刷新即可。
grant all privileges on *.* to \'root\'@\'%\' identified by \'password\' ; flush privileges;
四、Tomcat的安装和开启
采用的离线安装:
下载后上传到服务器,并解压到自己的目录下,即安装完成。
开启服务,进入解压好的tomcat的bin目录下。输入命令:./startup.sh开启tomcat服务。
即可在浏览器输入云服务器的IP地址加8080端口号访问。
五、JDBC连接
虽说MariaDB 和 MySQL 兼容,但也难免存在问题。
首先是MariaDB的JDBC连接,需要jar包支持,下载地址 https://mariadb.com/downloads/#connectors ,在右边选择Java的版本下载即可。
下载得到的jar放入javaweb项目 Add as a Library即可。
代码也有需要修改的地方。
driverClassName=org.mariadb.jdbc.Driver
url=jdbc:mariadb://1.1.1.1:3306/dbname 填上云服务器的IP地址
import java.sql.*; public class DBTest { public static void main(String[] args) { try { String driver ="org.mariadb.jdbc.Driver"; //从配置参数中获取数据库url String url = "jdbc:mariadb://(1.11.1.1):3306/test"; //从配置参数中获取用户名 String user = "root"; //从配置参数中获取密码 String pass = ""; //注册驱动 Class.forName(driver); //获取数据库连接 Connection conn = DriverManager.getConnection(url,user,pass); //创建Statement对象 Statement stmt = conn.createStatement(); System.out.println("Success!"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
并且注意,MariaDB对sql语句的大小写敏感,数据库名,表明或字段名必须都为小写,才可以,否则报错查找不到。
六、本地javaweb部署到云服务器
将项目打包成war包,然后复制进tomcat/webapps/目录下即可。
IDEA下的war包方法:
然后在项目的 out 目录下即可查看到打包好的war包。
然后在浏览器地址,上面步骤的8080后面加上项目名字,即可在外网输入IP地址访问到我们的项目啦。
七、JAVAWEB的maven项目配置
1、Maven的服务器安装
Maven项目在如今越来越重要。下面是在CentOS7上安装和配置Maven的过程:
在mirrors镜像连接中,可以选择清华的镜像,这样速度会比较快:下载地址。
下载后上传到服务器,解压到相关目录,然后进行环境变量的配置:vim /etc/profile
#Maven Env export MAVEN_HOME=/home/tools/apache-maven-3.6.3 export PATH=$PATH:$MAVEN_HOME/bin
然后 source /etc/profile,即可。
之后输入 mvn -v,出现版本号即可。
2、JAVAWEB项目的maven配置注意事项
今天在maven中,使用durid连接池总是出错,得到原因是未能访问到durid.properties配置文件。
解决方法:添加 resources 目录,并将配置文件放进去即可。参考博客地址:https://blog.csdn.net/baidu_32045201/article/details/79223386。