Linux部署springboot项目(从安装java开始)
一 安装jdk
方式一:yum方式下载安装
- 查找java相关的列表
yum -y list java* 或者 yum search jdk
2. 可以查看当前Linux系统中已经安装了那些java相关的软件包 如果没有安装java的可以使用一下方式自动安装
yum install java-1.8.0-openjdk.x86_64 java -version 检查是否安装成功
3. 通过yum安装的默认路径为:/usr/lib/jvm 4. 将jdk的安装路径加入到JAVA_HOME,打开/etc/profile文件,
vi /etc/profile
在文件末尾添加:
JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64 具体名称根据安装包版本修改 PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME CLASSPATH PATH
修改/etc/profile之后让其生效
. /etc/profile (注意 . 之后应有一个空格)
方式二:官网下载jdk,ftp上传服务器解压安装
- 进入 Oracle 官方网站 下载合适的 JDK 版本,我这里使用的是jdk-8u351-linux-x64.tar.gz
- 创建目录,上传
mkdir /usr/local/java cd /usr/local/java
上传:下载完后执行下面rz这个命令然后选择到下载的文件后通过xshell上传上去 或者通过其他软件上传到服务器/usr/local/src目录,本文安装了finaShell可以直接拖入该目录下
rz
- 解压
tar -zxvf jdk-8u351-linux-x64.tar.gz
4.设置环境变量
vi /etc/profile
在文件末尾添加:
export JAVA_HOME=/usr/local/java/jdk1.8.0_351
export JRE_HOME=${
JAVA_HOME}/jre
export CLASSPATH=.:${
JAVA_HOME}/lib:${
JRE_HOME}/lib
export PATH=${
JAVA_HOME}/bin:$PATH
修改/etc/profile之后让其生效
source /etc/profile java -version 测试
在修改/etc/profile的时候可能会出现这种情况
可以通过finalShell手动修改该文件,并source命令执行,同样的效果!
二 部署SpingBoot工程
一 新建SpingBoot工程
- 新建Springboot工程, 运行Application启动类,在浏览器端检查其是否正常
- 使用maven进行工程打包 通过打包的方式将SpingBoot工程封装成jar,然后使用运行Jar文件的通常的方法启动工程
- 运行Jar文件时通常的方法 由于SpingBoot内嵌tomcat,不需要打包成war包。只需要掌握两种常用的运行jar包方法即可。
1 java -jar test.jar
这种方法运行之后,没法切出去执行其他任务,有没有办法让Jar在后台运行
2 nohup java -jar test.jar & //nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 //当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中 //除非另外指定了输出文件。
3 nohup java -jar test.jar >temp.txt & //这种方法会把日志文件输入到你指定的文件中,没有则会自动创建
- jobs命令和 fg命令,操作后台运行程序
jobs //那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。 //如果想将某个作业调回前台控制,只需要 fg + 编号即可。 fg 2
- 查看某端口占用的线程的pid
netstat -nlp | grep :8080
二 在虚拟机上运行SpingBoot工程
- 上传jar包,可以使用rz命令,也可以使用ftp工具传
- 运行jar包
- 想要后台运行,请看前面描述的运行jar包方法!!!
三 解决虚拟机上运行的程序,window访问不了!
- 在虚拟机中运行程序,分别检查在Linux和windows下的访问情况 首先使用Linux浏览器访问虚拟机中运行程序的8080端口:正常访问 然后使用windows浏览器访问虚拟机中运行程序的8080端口:访问失败
iptables -L -n
- 端口权限开放 使用以下命令,开通8080(自选)权限
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
