专栏首页Java大联盟快速上手 Linux 系统部署 Java 项目(附安装包、文档、视频)!

快速上手 Linux 系统部署 Java 项目(附安装包、文档、视频)!

1、安装 VMware Workstation

VMware Workstation 是一款桌面虚拟计算机软件,可在一部实体机器上模拟完整的网络环境,我们通过 VMware 可以在单一的桌面上同时运行不同的操作系统,进行代码的开发、测试 、部署。

2、VMware 导入 CentOS 7

CentOS 是企业级 Linux 的发行版之一,完全开源,并且完全免费,最新版本是 CentOS 8,但是目前市场主流使用的是 CentOS 7,甚至还有很多人在用 CentOS 6,我们这次的课程针对 CentOS 7 来讲解。

1、打开 VM,导入 CentOS.vmx。

默认的网络配置是桥接模式,不建议大家使用这种方式,因为这种方式的 IP 地址可能会改变,导致你无法访问 CentOS 系统,桥接模式是直接连接物理网络,也就是将虚拟机直接接入当前的网络环境中,并且独占 IP,如果你的网络不稳定,这种方式访问 CentOS 不稳定。

一般在自己本地测试的时候,推荐大家使用 NAT 模式,相当于在 Windows 系统中独立开辟了一块新的网络空间,IP 地址是固定不变的,所以无论你有没有接入外网都可以直接访问 CentOS 。

我们将网络设置为 NAT 模式。

2、虚拟机设置。

3、在虚拟网络编辑器中修改网络设置,必须以管理员身份修改。

4、选择 NAT 模式。

5、开启虚拟机。

6、点击我已复制该虚拟机。

7、点击 Not listed,使用 root 权限登录,输入用户名(root)和密码(123456)。

8、初始化选择语言,输入法等设置,完毕之后来到欢迎页面,点击开始使用 CentOS Linux(S) 进入桌面。

9、通过终端命令查看 CentOS IP 地址,如 192.168.1.111。

3、Xshell 连接 CentOS

1、打开 Xshell,新建会话,输入 CentOS IP,端口默认为 22,点击连接。

2、输入用户名密码。

3、连接成功。

4、安装 JDK

1、卸载 CentOS 自带的 OpenJDK,可以通过命令查看。

rpm -qa | grep jdk

2、通过命令删除。

rpm -e --nodeps java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64
3、查看是否删除成功。

4、在 /usr/local 目录下新建 java 文件夹,并进入。

cd /usr/local
mkdir java
cd java
5、打开 Xftp,将 JDK 安装文件拷贝到 java 目录。

6、使用命令进行安装。

rpm -ivh jdk-8u221-linux-x64.rpm

7、配置环境变量。

vim /etc/profile

按 i 进行输入,复制如下内容。

JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME

按 Esc 退出,输入 :wq,回车退出保存。

8、让配置生效。

source /etc/profile
9、检查安装是否成功。
java -version

5、安装 Tomcat

1、在 /usr/local 目录下新建 tomcat 文件夹,并进入。

cd /usr/local
mkdir tomcat
cd tomcat

2、打开 Xftp,将 Tomcat 压缩文件拷贝到 tomcat 目录。

3、解压缩。

tar -zxvf apache-tomcat-9.0.34.tar.gz

4、进入 /apache-tomcat-9.0.34/bin 路径启动 Tomcat。

./startup.sh

启动成功之后,可以在 CentOS 中直接访问。

如果要关闭 Tomcat,执行如下命令即可。

./shutdown.sh

但是现在我们还无法在本地直接访问,这是因为 CentOS 没有开放 8080 端口导致的。

5、CentOS 开放 8080 端口。

(1)、查看防火墙状态。

firewall-cmd --state

runing 表示开启,not runing 表示关闭,如果关闭,执行如下命令开启。

systemctl start firewalld.service

(2)、开启 8080 端口。

firewall-cmd --zone=public --add-port=8080/tcp --permanent

--zone=public:表示作用域为公共的;

--add-port=8080/tcp:添加tcp协议的端口8080;

--permanent:永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后失效;

(3)、输入命令重启防火墙。

systemctl restart firewalld.service

(4)、输入命令重新载入配置。

firewall-cmd --reload

(5)、将打包之后的 war 拷贝到 Tomcat/webapps 下,启动访问即可。

6、部署 Spring Boot 应用

1、本地新建 Spring Boot 应用,打包,先执行 clean。

2、执行 package 进行打包。

打包成功,target 目录下可以看到 jar 文件。

3、先测试本地发布,CMD 进入 jar 目录,执行如下命令。

java -jar demo-0.0.1-SNAPSHOT.jar

4、启动成功,浏览器访问 localhost:8080/hello/index

5、通过 Xftp 将 jar 包拷贝到 CentOS。

6、命令行启动 Spring Boot 应用。

java -jar demo-0.0.1-SNAPSHOT.jar

7、打开浏览器访问,注意,如果 Spring Boot 端口不是 8080,需要提前在 CentOS 中开放对应端口。

7、安装 MySQL

1、新建 /usr/local/mysql,将 MySQL 安装包拷贝过去。

2、进入 /usr/local/mysql,解压。

tar -xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar

3、安装 MySQL 之前需要先删除 mariadb,执行如下命令检查是否存在 mariadb。

rpm -qa | grep mariadb

4、执行如下命令卸载 mariadb。

rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps

5、安装 common。

rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm --nodeps --force

6、安装 libs。

rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm --nodeps --force

7、安装 client。

rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm --nodeps --force

8、安装 server。

rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm --nodeps --force

9、检查安装结果。

rpm -qa | grep mysql

10、初始化 MySQL。

mysqld --initialize

11、授权防火墙。

chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;

12、查看数据库默认密码。

cat /var/log/mysqld.log | grep password

13、登录数据库。

mysql -uroot -p

14、复制粘贴密码。

15、登录成功,修改密码。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

16、exit 退出,使用新密码重新登陆。

17、开启远程访问。

create user 'root'@'%' identified with mysql_native_password by 'root';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

18、CentOS 开放 3306 端口。

firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload

19、使用 DataGrip 连接,如果报如下错误,是数据库的时区问题,因为 MySQL 安装默认设置为美国时区,而北京时间比美国晚 8 小时。

在数据库中修改时区即可。

set global time_zone='+8:00';

再次连接,成功。

以上就是在 Linux 系统中部署 Java 应用的全部操作,你都学会了吗?

本文分享自微信公众号 - Java大联盟(javaunion),作者:楠哥

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 国内 Mono 相关文章汇总

    一则新闻《软件服务提供商Xamarin融资1200万美元》,更详细的内容可以看Xamarin的官方博客Xamarin raises $12M to help y...

    张善友
  • 杨老师课堂_安卓教程第一篇之入门

    杨校
  • GitHubDaily 周报第 98 期

    一个开源的 JavaScript 图表库,让开发者可以更轻松的构建可交互图表,可视化数据

    GitHubDaily
  • 收藏的技术文章链接(ubuntu,python,android等)

    开发过程中收藏在Chrome书签栏里的技术文章,与自己的文章分开。 主要涉及python,android,ubuntu等内容,我自己常常在这里面找回忘了的知识...

    梦里茶
  • Python3网络爬虫实战-12、部署相

    如果想要大规模抓取数据,那么一定会用到分布式爬虫,对于分布式爬虫来说,我们一定需要多台主机,每台主机多个爬虫任务,但是源代码其实只有一份。那么我们需要做的就是将...

    py3study
  • Apache Spark 2.2.0 中文文档 - 概述 | ApacheCN

    Spark 概述 Apache Spark 是一个快速的, 多用途的集群计算系统。 它提供了 Java, Scala, Python 和 R 的高级 API...

    片刻
  • 最新腾讯云服务器linux系统+配置java项目+部署微信小程序后台

    对于企业来说稳定、极速就选择 2核 4G内存配置的云服务器比较稳妥。这个配置跑企业网站是比较轻松无压力的。配上 avada主题,可以做出的很大气、高大上的企业网...

    用户5920968
  • 最新腾讯云服务器linux系统+配置java项目+部署微信小程序后台

    对于企业来说稳定、极速就选择 2核 4G内存配置的云服务器比较稳妥。这个配置跑企业网站是比较轻松无压力的。配上 avada主题,可以做出的很大气、高大上的企业网...

    用户6495800

扫码关注云+社区

领取腾讯云代金券