因为程序猿写的应用,是要给别人用的。别人怎么用?当然不可能直接访问程序猿的电脑啦,访问的是服务器。 服务器就是一台性能、稳定性、扩展性比普通个人PC机要更强的一台机器,它也需要搭载操作系统,比如Linux、Windows Server等操作系统。
服务器软件大科普:https://blog.csdn.net/qq_41822345/article/details/106788715
如果你有钱,去买一个服务器,这样你就可以部署你的程序应用,别人也能访问到你的应用。
如果你和我一样没钱,那就在自己的个人PC机上安装一个虚拟机,用它来搭载Linux等操作系统。
VMware是一款开源免费的虚拟机。安装上它,就相当于在你的PC机中安装了一台虚拟的计算机(这个计算机包括内存、CPU、硬盘等必须的硬件,只不过都是虚拟的)。
CentOS是一个开源免费的Linux操作系统。
安装简单,每一步看一看,基本不会出现装错的情况。
需要一个安装秘钥,这个亲测可用:CG392-4PX5J-H816Z-HYZNG-PQRG2
1、解压 CentOS7。
2、在VMware中导入解压之后的文件,运行即可(这是已通过iso文件创建好的CentOS,直接使用)
3、虚拟机设置(这一步重要,用于配置固定Ip,每次开启虚拟机时都需要配置网络,否则本地ping不同虚拟机)
默认的网络配置是桥接模式,直接接入当前的网络环境,如果网络不稳定,IP 会变。NAT模式,相当于在 Windows 系统中独立开辟一块新的网络空间,IP 地址固定不变的,无论是否接入外网,都可以访问 CentOS。
Step1:编辑虚拟机设置,将网络适配器修改为NAT模式。点击确定。
Step2:编辑虚拟网络编辑器,点击VMnet8,点击确定键。网络配置完毕。(注意:要点确定)
4、启动虚拟机,用 root 权限登录
用户名:root 密码:123456
5、一些使用习惯设置可以选择跳过。
1、删除 CentOS 自带的 jdk
rpm -qa|grep jdk
rpm -e --nodeps 目标文件名
所以这里删除:
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-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
2、通过 Xftp 将jdk安装包拷贝到 CentOS 中
先在usr文件中创建java文件夹,用来存jdk
[root@localhost ~]# cd /usr/local
[root@localhost local]# mkdir java
[root@localhost local]# cd java
在XShell中点击新建文件传输(快捷键Ctrl+Alt+F),即可打开Xftp界面(且路径在当前java文件夹),直接通过鼠标拖拽将目标文件拖拽到虚拟机中。如图:
3、通过命令安装 jdk
rpm -ivh jdk-8u221-linux-x64.rpm
4、配环境变量
[root@localhost ~]#vim /etc/profile
在文末添加:(先键盘点击i即可进入编辑模式,添加完之后键盘点击ESC即可进入命令行模式,输入:wq即可保存退出,补充:不要编辑原文本导致出错,输入:q!即可不保存退出)
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
5、让配置生效
[root@localhost ~]# source /etc/profile
1、配置 Tomcat
在usr/local目录下新建文件夹tomcat用来存放Tomcat。
2、解压缩
tar -zxvf apache-tomcat-9.0.34.tar.gz
3、进入到bin目录下启动 Tomcat(在windows中是启动.bat文件;Linux是启动.sh文件)
[root@localhost apache-tomcat-9.0.34]# cd bin/
[root@localhost bin]# ./startup.sh
4、CentOS 开放 8080 端口
firewall-cmd --state
running 表示防火墙是开启的,如果你看到的是 not running,防火墙关闭,则需要开启
systemctl restart firewalld.service
firewall-cmd --zone=public --add-port=8080/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload
在Linux中部署Java Web应用到Tomcat服务器。
1、通过 Xftp 将 MySQL 安装包拷贝到 Linux
2、解压缩
tar -xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
3、安装 common、libs、client、server
4、删除自带的 mariadb
rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps
5、安装命令行
rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm --nodeps --force
6、初始化 MySQL
mysqld --initialize
7、授权防火墙
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;
8、查看数据库的初始化密码
cat /var/log/mysqld.log | grep password
9、登录数据库
mysql -uroot -p
10、修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
11、使用新密码登录
12、开启远程访问
create user 'root'@'%' identified with mysql_native_password by 'root';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
13、开放 3306 端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload
14、MySQL 安装默认使用美国的时区,北京时间比美国晚 8 小时
set global time_zone='+8:00';
15、创建数据表
create database test character set utf8 collate utf8_general_ci;
use test;
create table user(
id int primary key auto_increment,
name varchar(22),
birthday datetime
);
insert into user(name, birthday) VALUES ('小明','1999-01-01');
insert into user(name, birthday) VALUES ('小红','2000-01-01');
IDEA 启动 Spring Boot ,将 Spring Boot 应用打成 jar包,通过命令行部署。
jar包 因为SpringBoot已经集成了Tomcat,(内嵌Tomcat需要提供jar包)
war包 则不一样,前面的Web应用部署需要自己提供Tomcat,需要打war包。(配置Tomcat需要提供war包。)
因此如果是 SSM应用 或者 Java WEB应用(非 SpringBoot应用)需要通过 war 包进行部署,先把你的应用打成 war 包,丢到外置的 Tomcat 中,启动 Tomcat 服务以部署应用,进而访问你的应用。如果是 SpringBoot应用,则仅仅需要打成 jar包,不需要进行操作,通过在当前jar包存放路径运行如下命令即可自动部署并访问你的应用。
java -jar xxx.jar
1、将 Spring Boot 应用打包(maven→package)
注意:①项目需要支持打成Jar包,pom.xml中添加
<packaging>jar</packaging>
②项目需要支持自动生成主清单属性,pom.xml中添加
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
在运行maven→package的时候,需要自动生成这些主清单属性,运行java -jar xxx.jar时才会根据主清单属性找到启动类,从而启动程序。
2、通过命令行启动 jar 即可
java -jar demo.jar