原生方式部署JavaWeb项目到远程主机
使用原生的方式部署项目就需要自己一步步的在远程主机上配置与本地开发时候的环境,然后再将项目推送到远端
我主要使用的环境是Maven3.6.1、Tomcat8.5.82、MySQL8.0.32、JDK1.8
1.配置Java环境 (下载链接:https://www.oracle.com/java/technologies/downloads/)
我这里选择了jdk8u361,如果需要历史版本可以在这个链接中下载:https://www.oracle.com/java/technologies/downloads/archive/
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230122201914069-1032356882.png)
在 /usr/local/ 下创建 java ⽂件夹并进⼊
cd /usr/local/
mkdir java
cd java
在本地通过xftp将下载的 jdk-8u361-linux-x64.tar.gz
文件上传到 /usr/local/java
目录下
将安装包解压
tar -zxvf jdk-8u361-linux-x64.tar.gz
解压完之后, /usr/local/java
⽬录中会出现⼀个 jdk1.8.0_361
的⽬录
配置JDK环境变量:
编辑 /etc/profile ⽂件,在⽂件尾部加⼊如下 JDK 环境配置即可
JAVA_HOME=/usr/local/java/jdk1.8.0_361
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
刷新环境变量:
source /etc/profile
检查安装结果:
java -version
2.安装Maven (https://maven.apache.org/download.cgi)
在这个页面中可以下载最新版本的maven
如果需要下载历史版本:
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230122204059749-1432357327.png)
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230122204149834-1699107605.png)
我这里选择二进制版本,解压就能使用:
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230122204235781-1201633708.png)
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230122204251410-163269120.png)
在 /opt
目录下创建maven文件夹并进入:
cd /opt
mkdir maven
cd maven
将下载的安装包推送到该文件夹下并解压
tar -zxvf apache-maven-3.6.1-bin.tar.gz
解压完成后就可以在 /opt/maven
目录下得到 apache-maven-3.6.1 文件夹
配置MAVEN加速镜像源:
选择阿里云的maven镜像源作为仓库
编辑修改 /opt/maven/apache-maven-3.6.1/conf/settings.xml
文件,找到 <mirrors></mirrors>
标签添加如下内容:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
配置环境变量:
编辑修改全局环境变量 /etc/profile
配置文件,在文件末尾加入以下内容:
export MAVEN_HOME=/opt/maven/apache-maven-3.6.1
export PATH=$MAVEN_HOME/bin:$PATH
刷新环境变量:
source /etc/profile
检查安装结果:
mvn -v
3.Tomcat的安装 (https://tomcat.apache.org/)
下载对应开发环境版本的tomcat:
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230122205149651-568791934.png)
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230122205205848-128396302.png)
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230122205230985-578117726.png)
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230122205316982-602169108.png)
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230122205337344-2106447968.png)
在 /opt
目录下创建tomcat文件夹并进入:
cd /opt
mkdir tomcat
cd tomcat
将下载的安装包推送到该文件夹下并解压
tar zxvf apache-tomcat-8.5.82.tar.gz
解压完成后就可以在 /opt/tomcat
目录下得到 apache-tomcat-8.5.82
文件夹
进入 /opt/tomcat/apache-tomcat-8.5.82/bin
文件夹开启tomcat
cd /opt/tomcat/apache-tomcat-8.5.82/bin
./startup.sh
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125221250734-1735687388.png)
通过浏览器访问: 远程主机IP:8080
, 可以得到下面的画面:
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125221320504-751600120.png)
4. 安装MySQL并进行连接:https://www.cnblogs.com/junlin623/p/17062850.html
5. 将项目中的数据库复制到远程主机的数据库中
我这里使用Windows中的SQLyog做演示:
新建两个数据库连接:本机数据库和远程主机数据库
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125221532026-1540087310.png)
在远程主机的数据库连接下新建一个与要复制的数据库同名的数据库,我这里因为要复制homesystem这个数据库,所以就在远程主机上新建一个同名的homesystem数据库(直接在sqlyog中操作就好):
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125221902843-1226925736.png)
找到要备份的数据库右击选择将数据库复制到不同的主机:
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125221627078-401067865.png)
此时我们可以看到远程主机上的那个同名的数据库了,直接选择就好:
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125221949380-1320583062.png)
到远程数据库连接上查看可以发现已经成功复制过来了:
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125222052012-1677060177.png)
6. 将本地的JavaWeb项目打包:
我使用的开发工具的Idea
打包之前需要在项目中修改一些地方:
找到项目中配置数据库连接的地方修改连接的ip以及连接密码:
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125222418618-1293161248.png)
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125222700639-669685496.png)
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125222850841-152843758.png)
也可以对导出的war包进行重名名或者导出后直接手动重命名也行(这里要改成本地开发时项目的名称):
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125222921162-877930653.png)
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125222948455-1178035294.png)
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125223016635-1108571220.png)
找到你的项目:
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125223045219-1895716038.png)
打包成功:
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125223324630-1733321939.png)
到目录中查看
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125223340682-2131518058.png)
打包过程中可能会出现错误:java: 无法访问org.testng.annotations.Test
可以去参考这篇博客:(https://blog.csdn.net/weixin_46022090/article/details/127241979)
7. 上传war包
通过xftp将 homesystem.war 上传到 /opt/tomcat/apache-tomcat-8.5.82/webapps
目录下
此时一定要到 /opt/tomcat/apache-tomcat-8.5.82/bin
目录下执行 ./shutdown.sh
先关闭tomcat后执行 ./startup.sh
重新启动tomcat
启动tomcat过程中会自动解压我们上传的war包
接着向调试的时候那样(只不过是替换了ip地址和端口号<tomcat默认开启8080>)访问即可:
![](https://img2023.cnblogs.com/blog/2935791/202301/2935791-20230125223931994-214177635.png)