Java服务应用开发系列(一)之服务端环境部署

从0到1部署java服务端应用环境

概述

本文章主要讲述一个JAVA应用部署到服务器的最简过程,用于部署一个JAVA服务端应用的入门学习

环境

在此之前你需要准备一台阿里云服务器,安装的系统为CentOS

  • 服务器 阿里云
  • 系统版本 centos 6.8
  • 项目采用框架 springboot

步骤

一、安装jdk8

  1. jdk下载地址:https://www.oracle.com/java/technologies/downloads/#java8

    • 现在下载需要注册oracle账号并且登录,选择最新版本下载安装:
    • 下载完成后,上传到云服务器,可选择rz命令上传或者XFtp上传,此处采用rz命令行工具进行上传
  2. jdk直接解压就相当于安装了,将上传好的jdk压缩包,移动到 /usr/local 目录下并解压

    • 移动: mv jdk-8u361-linux-x64.tar.gz /usr/local/jdk-8u361-linux-x64.tar.gz
    • 解压: tar -zxvf jdk-8u361-linux-x64.tar.gz
    • 修改读写权限: chmod -R 777 jdk1.8.0_361
  3. 设置JAVA环境变量并导出

    • 修改全局profile文件
      vi /etc/profile
       export JAVA_HOME=/usr/local/jdk1.8.0_361
       export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
       export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
    

    • 输入命令使修改生效
      source /etc/profile
  4. 输入java -version检查是否安装成功,安装成功会看到如下内容:

二、安装tomcat

  1. 下载地址:https://tomcat.apache.org/download-90.cgi
  2. 下载完成后上传到服务器 /usr/local 目录下,并解压安装,过程与上面jdk一致
  3. 解压完后如下:
  4. 进入安装目录的bin目录 /usr/local/apache-tomcat-9.0.73/bin,运行命令./startup.sh启动tomcat
  5. 启动成功后可以看到如下内容:
  6. 如需停止tomcat服务,在bin目录下执行shotdown脚本即可 ./shutdown.sh

致此,安装tomcat成功,安装成功后,还需要配置相应的访问端口监听

三、查看tomcat监听的端口

  1. 查看tomcat服务的pid ps -ef | grep tomcat
  2. 查看端口监听 netstat -anp | grep 31813,可以看到端口为8005

在浏览器输入ip:8005访问服务,如果一切正常,会显示apache-tomcat的页面

四、遇到的问题
But,安装完成tomcat后,在我这里访问出错了

仔细看一下上面监听的端口只有一个8005,其对应的ip是本地巡回地址127.0.0.1。巡回地址只能在本机上通过localhost:800527.0.0.1:8005访问,其它电脑通过 公网ip:端口号 无法访问

网上查询资料得知,tomcat默认的端口为8080,怀疑是本地8080端口被占用导致,netstat -anp | grep 8080查看一下占用情况,果然以前部署的一个博客使用了8080端口,如下:

既然端口被占用,那么修改一下tomcat的监听端口即可,找到tomcat的服务配置文件,修改监听的端口为8090
vi /usr/local/apache-tomcat-9.0.73/conf/server.xml
修改前:

修改后:

重启tomcat服务:
cd usr/local/apache-tomcat-9.0.73/bin
./shotdown.sh
./startup.sh

重启成功后,再次查询监听的端口,可以看到多出了一个8090的端口:
netstat -anp | grep java

再次在浏览器输入 服务器公网ip:8090 访问,一切正常:

posted @   vathena  阅读(213)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示