Java大联盟
帮助万千Java学习者持续成长
关注
B 站搜索:楠哥教你学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 应用的全部操作,你都学会了吗?配套视频教程已上传至 B 站,扫描下方二维码直接观看。
原创不易,如果楠哥的教程对你有所帮助,在看,转发来一波。
推荐阅读
1、Spring Boot+Vue项目实战
2、Spring Boot源码解析
3、一文搞懂前后端分离
4、快速上手Spring Boot+Vue前后端分离
楠哥简介
资深 Java 工程师,微信号 southwindss
《Java零基础实战》一书作者,今日头条认证大V
GitChat认证作者,B站认证UP主(楠哥教你学Java)
致力于帮助万千 Java 学习者持续成长。
有收获,就点个在看