• Linux服务器部署java项目


    安装JDK

    在官网下载JDK
    我下载的是 jdk-8u341-linux-x64.tar.gz

    一、上传

    在/usr/local中创建java文件夹

    mkdir /usr/local/java
    
    • 1

    把JDK上传到java目录下
    在这里插入图片描述
    可以用ls命令查看一下
    在这里插入图片描述

    二、解压

    输入命令

    tar -xzvf jdk-8u341-linux-x64.tar.gz
    
    • 1

    jdk-8u341-linux-x64.tar.gz是我下载的JDK文件名,此处输入自己下载对应的文件名,解压之后可以看到/usr/local/java目录下多出了一个文件夹
    在这里插入图片描述
    解压之后JDK的安装包可以删掉

    三、配置JAVA环境变量

    java命令测试,直接输入java,出现-bash:java:command nor found说明没有配置java环境变量
    在这里插入图片描述

    需要配置的环境变量

    项目Value备注
    PATH指定命令搜索路径,shell执行命令时会到PATH所指定的路径中查看能否找到命令程序jdk的/bin中包含经常要访问的javac、java、javadoc等命令,设置后可以在任何目录下执行该命令
    CLASSPATH指定类搜索路径,JVM通过CLASSPATH来寻找类设置jdk的/lib中的dt.jar和tools.jar以及当前目录"."给CLASSPATH
    JAVA_HOME指向jdk安装目录Eclipse、NetBeans、Tomcat等软件会通过JAVA_HOME来使用jdk
    使用vim编辑
    vim /etc/profile
    
    • 1

    或使用文本编辑器打开
    修改.bash_profile或者/etc/profile在末尾引入环境变量,JAVA_HOME的值填写自己解压包的路径

    export JAVA_HOME=/usr/local/java/jdk1.8.0_341
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
    export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
    export PATH=$PATH:${JAVA_PATH}
    
    • 1
    • 2
    • 3
    • 4
    • 5

    完成上述修改后,执行命令:

    source /etc/profile
    
    • 1

    或者重启
    输入命令查看java版本,返回版本信息说明环境变量设置生效
    在这里插入图片描述

    安装MySQL

    我是在docker环境部署的MySQL,docker部署框架支持mysql服务器的简单安装和配置。

    一、安装Docker环境

    #安装Docker
    yum install docker -y
    #启动Docker服务
    service docker start
    
    • 1
    • 2
    • 3
    • 4

    因为Docker在线安装镜像是从国外的DockerHub网站下载文件,所以速度超级慢,所以我们要给Docker设置加速器。我用的是腾讯云主机,所以设置腾讯云加速器是最快的。
    打开/etc/docker/daemon.json文件,然后设置成如下内容:

    {
    	"registry-mirrors":["https:mirror.ccs.tencentyun.com"]
    }
    
    • 1
    • 2
    • 3

    重新启动Docker服务,加速器才能生效

    service docker restart
    
    • 1

    二、安装MySQL

    利用刚才设置的加速器,我们可以在线安装MySQL镜像,这里我下载8.0.23版本的MySQL数据库

    docker pull mysql:8.0.23
    
    • 1

    创建容器的时候,我们需要把MySQL容器内的数据目录映射到CentOS系统上面。如果MySQL容器挂掉了,数据库文件不会丢失。我们新建一个MySQL容器,挂载上这个数据目录就又能正常使用MySQL了。
    Docker会给每个容器创建一个虚拟的网卡,然后分配一个Docker内网IP地址。假设A容器部署了MySQL,B容器中的Java程序想要访问A容器的MySQL,JDBC路径就要写A容器的Docker内网IP地址,略显麻烦。
    这次把容器设置成host模式,就是不让Docker为容器创建虚拟网卡,Docker容器直接使用CentOS的网卡,所以A容器中localhost代表CentOS,B容器中的localhost也代表CentOS,两个容器相互访问,URL地址写localhost即可。
    例如B容器中JDBC路径的host写localhost,就能访问到A容器里面的MySQL。
    这样我们部署的若干容器,相互访问就简单多了。

    MySQL容器我分配内存空间是500M,如果将来觉得不够用,删除容器,再创建新容器的时候分配更大的内存。而且只要挂载上那些文件目录,MySQL的数据就不会丢失。

    docker run -it -d --name mysql --net=host \			//创建容器名字叫mysql host模式
    -m 500m -v /root/mysql/data:/var/lib/mysql \		//分配内存500M。做文件夹映射,MySQL默认数据目录是/var/lib/mysql 映射到CentOS/root/mysql/data文件夹上
    -v /root/mysql/config:/etc/mysql/conf.d \			//映射mysql配置文件
    -e MYSQL_ROOT_PASSWORD=abc123456 \					//传入参数,root账号的密码
    -e TZ=Asia/Shanghai mysql:8.0.23					//mysql时区
    
    • 1
    • 2
    • 3
    • 4
    • 5

    \是换行,可以把命令分成多行来写

    修改mysql密码
    进入容器并以root用户登录

    docker exec -it mysql bash
    mysql -uroot -p
    abc123456
    //修改密码,与5.7版本不同
    ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'xfx24805861WSQ';	
    FLUSH PRIVILEGES;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    安装Tomcat

    官网下载地址
    在这里插入图片描述
    在/usr/local/下创建tomcat文件夹,把压缩包上传到该目录下

    tar -xzvf apache-tomcat-9.0.65.tar.gz
    
    • 1

    在这里插入图片描述
    启动Tomcat
    启动前,可以在tomcat9的conf目录下,找到server.xml文件修改tomcat的启动端口号
    在这里插入图片描述
    进入tomcat服务器的bin目录下输入命令

    ./startup.sh
    
    • 1

    在这里插入图片描述
    然后就可以通过ip:port访问tomcat了
    如果访问不了,需要查看云服务器设置端口号允许访问,我用的是腾讯云,在防火墙中设置
    在这里插入图片描述
    配置好就可以访问到tomcat了
    在这里插入图片描述关闭Tomcat服务,在bin目录下执行./shutdown.sh命令
    在这里插入图片描述

    打包SpringBoot项目部署到Tomcat

    我的项目是打成了war包,放到Tomcat的webapps文件夹中,启动tomcat会自动解压到同名文件夹,访问路径也是这个文件夹名。
    在这里插入图片描述
    想要修改访问路径,修改conf文件夹中的server.xml配置文件
    docBase中的属性值是原文件夹,path中的属性值是修改后的访问路径
    在这里插入图片描述
    最后就可以访问到自己的项目了
    在这里插入图片描述

  • 相关阅读:
    制作一个模板二
    排序算法:插入排序
    linux设备模型:固件设备及efi固件(平台)设备节点创建过程分析
    Python数据分析-2023-2024 NBA 球员统计数据分析
    指针拔尖1——(看完包会,不会来打我)
    PBR学习笔记
    JS对闭包的理解
    IDEA下载安装
    【python】删除远程服务器的某些文件
    labview串口大数据量报错的一种解决思路(通过tcp进行写入和读取串口数据)
  • 原文地址:https://blog.csdn.net/xfx_1994/article/details/126541611