Maven Tomcat jdk1.8 在线项目部署
云服务器部署web项目 CentOS8
yum安装适合JDK版本
前置条件:
删除centos8自带jdk
之所以要删除自带的jdk,是因为自带的jdk安装的不完全,无法满足日常的java开发
# 查看自带的jdk
[root@localhost ~]# yum list installed | grep java
java-1.8.0-openjdk.x86_64 1:1.8.0.275.b01-1.el8_3 @AppStream
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.275.b01-1.el8_3 @AppStream
javapackages-filesystem.noarch 5.3.0-1.module_el8.0.0+11+5b8c10bd @AppStream
tzdata-java.noarch
# 删除自带的jdk
[root@localhost ~]# yum -y remove java*
依赖关系解决。
=============================================================================================================================================================
软件包 架构 版本 仓库 大小
=============================================================================================================================================================
移除:
......
已移除:
java-1.8.0-openjdk-1:1.8.0.275.b01-1.el8_3.x86_64 copy-jdk-configs-3.7-4.el8.noarch
java-1.8.0-openjdk-headless-1:1.8.0.275.b01-1.el8_3.x86_64 javapackages-filesystem-5.3.0-1.module_el8.0.0+11+5b8c10bd.noarch
lksctp-tools-1.0.18-3.el8.x86_64 ttmkfdir-3.0.9-54.el8.x86_64
tzdata-java-2021a-1.el8.noarch
-
查看yum支持的JDK版本
yum -y list java*
-
选择自己需要安装的JDK版本:
yum -y install + xxxxxJDK
此处以此为例:yum -y install java-17-openjdk-devel.x86_64
!!! JDK17有BUG 本人没有解决,换回了1.8版本
-
安装好的jdk默认存放在了/usr/lib下
[root@localhost java]# cd /usr/lib
[root@localhost lib]# ls
alsa gcc libanl.so.1 libm-2.28.so libncurses++w.so.5.9 libpthread-2.28.so libtinfo.so.5 realmd
audit gconv libBrokenLocale-2.28.so libmemusage.so libncursesw.so.5.9 libpthread.so.0 libtinfo.so.5.9 rpm
binfmt.d grub libBrokenLocale.so.1 libmenu.so.5 libnss_compat-2.28.so libresolv-2.28.so libutil-2.28.so sse2
cpp java libc-2.28.so libmenu.so.5.9 libnss_compat.so.2 libresolv.so.2 libutil.so.1 sysctl.d
cups jvm libc.so.6 libmenuw.so.5 libnss_dns-2.28.so librt-2.28.so locale sysimage
debug jvm-commmon libdl-2.28.so libmenuw.so.5.9 libnss_dns.so.2 librt.so.1 modprobe.d systemd
dracut jvm-private libdl.so.2 libm.so.6 libnss_files-2.28.so libSegFault.so modules sysusers.d
eclipse kbd libform.so.5 libncurses++.so.5 libnss_files.so.2 libstdc++.so.6 modules-load.d tmpfiles.d
environment.d kdump libform.so.5.9 libncurses.so.5 libpanel.so.5 libstdc++.so.6.0.25 mozilla tuned
firewalld kernel libformw.so.5 libncurses++.so.5.9 libpanel.so.5.9 libthread_db-1.0.so NetworkManager udev
firmware ld-2.28.so libformw.so.5.9 libncurses.so.5.9 libpanelw.so.5 libthread_db.so.1 ostree
fontconfig ld-linux.so.2 libgcc_s-8-20191121.so.1 libncurses++w.so.5 libpanelw.so.5.9 libtic.so.5 polkit-1
games libanl-2.28.so libgcc_s.so.1 libncursesw.so.5 libpcprofile.so libtic.so.5.9 python3.6
[root@localhost lib]# cd jvm
[root@localhost jvm]# ls
java java-1.8.0-openjdk java-openjdk jre-1.8.0 jre-1.8.0-openjdk-1.8.0.275.b01-1.el8_3.x86_64
java-1.8.0 java-1.8.0-openjdk-1.8.0.275.b01-1.el8_3.x86_64 jre jre-1.8.0-openjdk jre-openjdk
#配置环境变量 i 进入编辑模式
[root@localhost java-1.8.0-openjdk-1.8.0.275.b01-1.el8_3.x86_64]# vim /etc/profile
umask 002
else
umask 022
fi
for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
done
unset i
unset -f pathmunge
if [ -n "${BASH_VERSION-}" ] ; then
if [ -f /etc/bashrc ] ; then
# Bash login shells run only /etc/profile
# Bash non-login shells run only /etc/bashrc
# Check for double sourcing is done in /etc/bashrc.
. /etc/bashrc
fi
fi
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-1.el8_3.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar
export REDIS_HOME=/opt/fan/redis6
export PATH=$PATH:$REDIS_HOME/bin:$JAVA_HOME/bin:$JRE_HOME/bin
# ESC退出编辑模式 : 末行模式 ---> wq 保存并退出
#使配置文件立即生效
[root@localhost java-1.8.0-openjdk-1.8.0.275.b01-1.el8_3.x86_64]# source /etc/profile
# 测试是否安装成功,执行java命令
[root@localhost java-1.8.0-openjdk-1.8.0.275.b01-1.el8_3.x86_64]# java
用法: java [-options] class [args...]
(执行类)
或 java [-options] -jar jarfile [args...]
(执行 jar 文件)
其中选项包括:
-d32 使用 32 位数据模型 (如果可用)
-d64 使用 64 位数据模型 (如果可用)
-server 选择 "server" VM
默认 VM 是 server.
...
# 执行javac命令
[root@localhost java-1.8.0-openjdk-1.8.0.275.b01-1.el8_3.x86_64]# javac
用法: javac <options> <source files>
其中, 可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
- java -version 检查是否安装配置正确
安装Tomcat
- 下载Tomcat压缩包 亦可 直接将本地的tomcat拷贝到服务器中 xshell 和xftp实现
在/usr/local目录下新建一个存放Tomcat文件夹,指令如下:
[root@root ~ # cd /usr/local
[root@root local # mkdir tomcat
Tomcat压缩包官网下载地址: http: /tomcat.apache.org/download-90.cgi,下
载tar.gz文件
- 解压Tomcat
cd tomcat进入tomcat目录下,指令tar -xzvf apache-tomcat-9.0.48.tar.gz解
压tomcat,指令如下:
[root@root local # cd tomcat
[root@root tomcat # tar -xzvf apache-tomcat-9.0.48.tar.gz
- 运行Tomcat
[root@VM-12-12-centos tomcat]# cd /usr/local/tomcat/apache-tomcat-9.0.65
[root@VM-12-12-centos apache-tomcat-9.0.65]# ls
bin CONTRIBUTING.md logs RELEASE-NOTES webapps
BUILDING.txt lib NOTICE RUNNING.txt work
conf LICENSE README.md temp
[root@VM-12-12-centos apache-tomcat-9.0.65]# cd /usr/local/tomcat/apache-tomcat-9.0.65/bin
启动tomcat命令:
./startup.sh
之后提示-bash: ./startup.sh: Permission denied
原因:在Linux中,第一次启动一个新的tomcat,用户没有权限,而导致无法执行。用命令chmod 修改一下bin目录下的.sh权限就可以了
解决:在bin目录下输入:
chmod u+x *.sh
这里的u 这里指文件所有者,+x 添加可执行权限,*.sh表示所有的sh文件
[root@VM-12-12-centos bin]# chmod u+x *.sh
[root@VM-12-12-centos bin]# ./startup.sh
Using CATALINA_BASE: /usr/local/tomcat/apache-tomcat-9.0.65
Using CATALINA_HOME: /usr/local/tomcat/apache-tomcat-9.0.65
Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-9.0.65/temp
Using JRE_HOME: /usr/lib/jvm/java-17-openjdk-17.0.3.0.7-2.el8.x86_64/jre
Using CLASSPATH: /usr/local/tomcat/apache-tomcat-9.0.65/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-9.0.65/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@VM-12-12-centos bin]#
终端在bin文件下输入./startup.sh就运行了tomcat服务器
Mysql服务器安装
下载需要的对应版本:
Mysql
- ①创建/usr/local/mysql文件夹 亦可 通过xshell 与xftp完成
mkdir -p /usr/local/mysql
②将下载好的MySQL安装包上传至/usr/local/mysql
③解压安装
解压MYSQL压缩文件
CentOS8系统是默认没有安装zip组件的,我们需要手动安装 zip 和 unzip 服务,zip是CentOS8文件压缩命令,unzip是CentOS8文件解压命令。
dnf install zip unzip -y
CentOS8文件解压示例,格式为:unzip [压缩文件] [被解压的目录或文件]。
#例子:将/data/test.zip 文件解压到 /data 目录下,-d 是显示指定解压到的目录。
unzip /data/test.zip -d /data
修改文件夹名称 亦可通过 xftp直接修改
mv /usr/local/mysql/mysql-8.0.25-linux-glibc2.12-x86_64 /usr/local/mysql/mysql-8.0.25
创建data文件夹
mkdir -p /usr/local/mysql/mysql-8.0.29/data
创建mysql用户组
groupadd mysql
添加mysql用户
useradd -g mysql mysql
授权用户
chown -R mysql.mysql /usr/local/mysql/mysql-8.0.25
拷贝mysql.server至/etc/init.d/mysql 添加mysqld服务到系统
cp /usr/local/mysql/mysql-8.0.25/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --level 2345 mysql on #设置开启自动启动
yum安装MySQL 8.0.X
说明我下面的执行位置就是根目录 :~ (这玩意好像不是根目录)
第一步:添加MySQL Yum存储库
yum -y install https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
第二步:用yumyum makecache把服务器的包信息下载到本地电脑缓存起来
yum makecache
第三步:安装mysql
yum module disable mysql
yum -y install mysql-community-server
如果出现如下错误:
yum -y install mysql-community-server --nogpgcheck
第四步,启动mysql,并设置为开机启动
systemctl start mysqld # 先执行它,启动成功后执行下一步设置为开机启动
systemctl enable mysqld # 设置开机启动
第五步,密码环节(以下操作我就不分开了,注意:一步步来)
# 先查看默认生成的密码,默认的密码就是输出的最后root@localhost:后面的全部
sudo grep 'temporary password' /var/log/mysqld.log
# 登录
mysql -uroot -p
# 然后密码就是上面的那个自动生成的,然后你就会发现登录上去了,登陆后不要退!!!不要退!!!
# 然后接下来就是密码策略了,我就不解释了,一步步来就是了
mysql>set global validate_password.policy=0;
mysql>set global validate_password.length=4;
mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password By 'newPassword'; # 修改密码
mysql>flush privileges;
mysql>update mysql.user set host = '%',plugin='mysql_native_password' where user = 'root'; # 全部主机都能访问
mysql>flush privileges;
mysql>exit;
开放防火墙
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
启动命令
service mysql start #启动MySQL
service mysql stop #停止MySQL
service mysql restart #重启MySQL
service mysql status #查看MySQL状态
IDEA打包项目
maven,首先clean一下,然后package,target下会生成war包
将war包放入webapps下,重启tomcat服务器,
可以访问 IP+端口+项目名称