欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

快速在Ubuntu服务器上部署java web项目

程序员文章站 2022-07-15 13:06:44
...

JDK和JRE的区别:

JDK,开发java程序用的开发包,JDK里面有java的运行环境(JRE),包括client和server端的。需要配置环境变量。。。。

JRE,运行java程序的环境,JVM,JRE里面只有client运行环境,安装过程中,会自动添加PATH。

Oracle has two products that implement Java Platform Standard Edition (Java SE) 8: Java SE Development Kit (JDK) 8 and Java SE Runtime Environment (JRE) 8. JDK 8 is a superset of JRE 8, and contains everything that is in JRE 8, plus tools such as the compilers and debuggers necessary for developing applets and applications. JRE 8 provides the libraries, the Java Virtual Machine (JVM), and other components to run applets and applications written in the Java programming language. Note that the JRE includes components not required by the Java SE specification, including both standard and non-standard Java components.(原文大意:JDK是JRE的超集,即父集,JRE所包含的一切东西JDK里面都有,JRE只是JAVA程序运行时候所需要的环境,而我们开发者程序员来说还需要编译器,调试器等工具,API这些都是JRE所没有的。而JRE是包括JVM,还有库,组件等)
The following conceptual diagram illustrates the components of Oracle's Java SE products:
快速在Ubuntu服务器上部署java web项目快速在Ubuntu服务器上部署java web项目
快速在Ubuntu服务器上部署java web项目

如果服务器只想部署web项目,不需要在服务器上调试项目,服务器只需安装JRE即可,若要在服务器调试java项目,则安装JDK

写在前面的话:ubuntu下先运行java -version 和javac -version,确定jre版本,如果为1.8,则下载tomcat 8,

快速在Ubuntu服务器上部署java web项目

本人是服务器已装好1.6版本,第一次安装tomcat 8之后无法连接tomcat首页,卸载8后重新下载tomcat 7版本成功。读者若是全部重装的,建议1.8+8版本。本人两次安装,教程中有些版本截图没有修改,望见谅,安装方法都一样,只不过改一下命令的版本号即可。

1.(可选)安装JRE

建议先更新一下apt,使用apt update即可。因为不更新的情况下安装下列包时有可能提示unable to locate package xxx

apt install default-jre
  • 用这个命令检查一下安装的jre版本:
java -version

2.(可选)安装JDK

2.1.查看当前有没有安装jdk

rpm -qa |grep jdk  

快速在Ubuntu服务器上部署java web项目

没有安装,需要下载安装。

2.2.查看ubuntu系统64还是32版本

getconf LONG_BIT 

快速在Ubuntu服务器上部署java web项目

2.3.下载64位版本的jdk

下载地址:http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html

版本:jdk-8u181-Linux-x64.rpm

 

2.4.使用ftp工具如FileZilla,xftp,winscp,将下载好的文件传到服务器上,我是传到了home文件夹

 

输入安装命令,无须赋予权限,可以直接执行

 

#rpm -ivh /home/jdk-8u91-linux-x64.rpm

 

设置环境变量(在文件末尾加入)

#vim /etc/profile
 
export JAVA_HOME=/usr/java/jdk1.8.0_91
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH

 

wq 保存文件并退出vi 

7、输入命令检查是否已经安装设置好(无须重启服务器)

#java -version
#java
#javac

下载TOMCAT

https://tomcat.apache.org/download-80.cgi

快速在Ubuntu服务器上部署java web项目

我们解压即可。因为tomcat是不需要安装的,所以解压即可。解压的命令是:

tar -zvxf apache-tomcat-8.5.32.tar.gz
  • 解压之后发现多了一个文件夹,这个时候可以吧源文件删除掉。
rm -rf apache-tomcat-8.5.32.tar.gz
  • 接下来就是配置了,简单的配置之后就可以访问了。配置文件就在这个文件夹里。
vim apache-tomcat-8.5.32/conf/server.xml
  • 我这边只修改了一个默认端口,默认是8080,但是我们一般访问都是80端口,所以改成80即可,找到那个有8080的地方改成80即可。

最后一步就是启动tomcat了。

cd apache-tomcat-8.5.32/bin
./startup.sh

tomcat启动成功:

快速在Ubuntu服务器上部署java web项目

 

本地pc通过浏览器输入http://服务器ip:80访问服务器默认端口,显示出汤姆猫页面,说明已成功通过本地pc连接服务器tomcat。接下来部署已做好的java web项目。如果你有域名,并且已经解析到这个IP地址上的话,可以直接用域名访问。

上传本地web项目:

在pom.xml文件中添加下面的依赖:

 <!--因配置外部TOMCAT 而配置-->
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

同时,将pom.xml文件首部的jar改成war

    <groupId>com.star</groupId>
    <artifactId>yiyong</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <!--<packaging>jar</packaging>-->

最后,将启动类从

@SpringBootApplication
public class YiyongApplication {
    public static void main(String[] args) {
        SpringApplication.run(YiyongApplication.class, args);
    }
}

修改为

@SpringBootApplication
public class YiyongApplication extends SpringBootServletInitializer{
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(YiyongApplication.class);
    }


    public static void main(String[] args) {
        SpringApplication.run(YiyongApplication.class, args);
    }
}
  • 注意:该类继承了SpringBootServletInitializer并且重写了configure方法,这是关键所在。

打包部署

在IDEA右侧Maven栏双击package等待Build Success即可。 
快速在Ubuntu服务器上部署java web项目 
然后把target目录下的war包放到服务器tomcat的webapps目录下,启动tomcat,即可自动解压部署。

快速在Ubuntu服务器上部署java web项目

但是如果你只是这样上传过去的话,那么访问的时候应该是这样访问http://域名或ip/项目名,这个项目名就是打成的war包的名字,如果你是默认的话,那么一般是xxx-0.0.1-SNAPSHOT之类。但我们是不想要这个项目名在url里面的,有2中方法,要么设置一个虚拟路径,要么直接简单粗暴替代webapps里原来的ROOT文件夹,替代就是直接把我们的war包改成ROOT.war,这样它会自动解压成ROOT文件夹,替代原先的ROOT文件夹。或者你自己解压然后把解压后的文件放在原先的ROOT文件夹下(记得删除原先ROOT下的文件即可),是一回事。其实,本质上就是,tomcat配置了一个默认的根目录,就是webapps下的ROOT目录,所以谁占领它谁就可以直接用http://域名或ip来访问了。

 

将demo-0.0.1-SNAPSHOT.war文件改名为demo.war,进入apache/bin后运行shutdown.sh关闭服务,再start.sh启动tomcat

输入http://域名或ip/demo 可以访问部署好的项目。

参考:

https://blog.csdn.net/shaochenshuo/article/details/78507132

https://blog.csdn.net/uniquewonderq/article/details/50461262

https://blog.csdn.net/weisubao/article/details/78958065

https://blog.csdn.net/u011019141/article/details/51280599#

https://blog.csdn.net/zhoucheng05_13/article/details/77915294