在实际项目部署运维过程中,如果是云服务器,基本安装项目所需的依赖环境都是通过yum联网拉取网络资源实现自动化安装的;但是对于一些特殊场合,在没有外部网络的情况下,就无法使用yum命令联网操作,只能通过编译安装的方式来处理解决。
本文案主要讲解centos7.9离线部署java项目所需的依赖环境,所有依赖的软件均通过编译安装的方式来解决,希望对大家有所帮助。
一. 首先确定服务器的系统版本以及相关服务器配置
##系统内核
uname -r
##系统版本
cat /etc/redhat-release
##ubuntu分支系统版本查看
lsb_release -a
##其他信息可通过top简单查看
top

二.下载对应系统版本的安装镜像包
为什么要下载镜像包?因为安装web项目的依赖环境需要其他一些依赖文件,在对应的Packages 文件夹内都有相关的文件,上传安装即可解决对应问题。
1.镜像下载网站
- 国内大学共建镜像库(你正常学习用的都有,包括所有子站点):https://mirrorz.org/site
- 推荐使用的站点(阿里巴巴,网易,浙大,兰大等)
- 也可以使用镜像库提供的packages包,下载需要的编译文件,如https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/
阿里: https://developer.aliyun.com/mirror/
浙大:https://mirrors.zju.edu.cn/
2.具体下载操作参看如下:
按照上面的网站,找到对应系统的镜像包,下载全量IOS镜像文件即可。

然后将iso文件解压后,找到Packages文件夹,打开可以看到有大量的rpm文件。

三.安装运维过程中常见的操作命令
1.rpm安装卸载
###rpm安装
rpm -Uvh *.rpm --nodeps --force
###检查是否安装
rpm -qa|grep mariadb
###rpm卸载
rpm -e --nodeps mariadb-libs
2.防火墙操作
###防火墙目前的信息,包括开放的端口
firewall-cmd --list-all
###将80端口加入允许访问
firewall-cmd --zone=public --add-port=80/tcp --permanent
###重置防火墙
firewall-cmd --reload
3.解压缩相关命令
###解压.tar文件
tar -zxvf nginx-1.20.2.tar.gz
###解压.zip文件
unzip test.zip
4.查看服务信息,文件位置或者kill进程
###查看服务信息或者进程
ps -ef|grep nginx
###查找文件位置信息
whereis nginx
###杀死27108进程
kill -9 27108
5.测试服务器网络和端口是否联通
###测试网络ip是否联通
ping 192.168.1.12
###测试网络对应的端口是否开放
windows:
telnet 192.168.1.12 3306
linux:
telnet 192.168.1.12 3306
nc -v 192.168.1.12 3306
firewall-cmd --list-all
6.更新系统时间
####查看当前系统时间
date
timedatectl status
####修改系统时间
date --set="2024-01-01 10:30:00"
7.其他linux相关命令
##查看系统cpu情况
lscpu
##查看系统内存情况
free -h
##查看系统存储情况
df -h
##查看文件夹大小
du -sh fileName
##查看文件大小
ls -hl
##查找大于200M文件的位置
find / -size +200M
命令相关示例:

8.mysql8相关命令
###创建mysql其他登录用户(存储过程和视图均为引用需要创建的用户,否则无法创建成功)
CREATE USER 'base_user'@'%' IDENTIFIED BY 'root123456';
###设置其他用户的登录权限为所有或者本地
GRANT USAGE ON *.* TO 'base_user'@'%';
GRANT USAGE ON *.* TO 'base_user'@'localhost';
###为新创建的用户设置可以访问的数据库指定权限,需要刷新权限
GRANT SELECT, INSERT, UPDATE, DELETE ON test_base.* TO 'base_user'@'%';
###为新创建的用户设置指定数据库所有权限,需要刷新权限
GRANT ALL PRIVILEGES ON test_base.* TO 'base_user';
FLUSH PRIVILEGES;
###删除数据库
drop database test_base;
###从mysql命令下导入sql文件
source /home/java/sql/test20240101.sql

其他相关命令持续更新中。。。
四.离线安装jdk1.8
详细操作请参看如下链接:centos7.9离线安装配置jdk1.8
五.离线安装并配置nginx1.20.2
1.需要关联的rpm文件,全部来自步骤二中的iso镜像包内

2.详细操作请参看如下链接:
CentOS7.9离线安装配置nginx,同时设置前端项目访问和开机自启动
六. 离线安装并配置redis5.0.9
1.需要关联的rpm文件(基于nginx安装成功的基础上,或者看下面的链接参考)

2. 详细操作请参看如下链接
七. 离线安装并配置mysql8.0.15
1.需要关联的rpm文件(基于redis安装成功的基础上,或者看下面的链接参考)

2.详细操作请参看如下链接:
CentOS7.9通过rpm离线安装mysql8.0_centos7.9 离线安装mysql8.0-优快云博客
3.mysql8.0配置需要注意的点
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
[mysqld]
###解决mysql8远程连接问题
bind-address=0.0.0.0
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
datadir=/var/lib/mysql
###datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
####解决mysql8分组异常问题
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
八. 离线安装unzip(此应用无需无需关联其他rpm文件)
方便对.zip格式的文件进行操作,详细使用请参看如下链接:
九.jar项目启动运行以及读取外部配置文件相关操作
1.启动命令
####使用系统配置的日志并后台运行
nohup java -jar ./test.jar &
####在当前目录下生成日志文件
nohup java -jar test.jar >/dev/null 2>&1 &
###自定义打印日志位置并设置当前的配置信息
nohup java -jar ./test.jar --spring.profiles.active=pro -Dlogsdir=logs test.jar>./test8808-202400101.log 2>&1 &
2.设置读取配置文件位置
springboot 读取配置文件的方式如下,优先级按照先后次序依次读取:
1)是在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下,即./config/目录下。./表示jar包所在目录。

2)直接把配置文件放到jar包的同级目录,即./目录下。

3)在classpath下建一个config文件夹,然后把配置文件放进去。即classpath:/config/目录下。

4)在classpath下直接放配置文件。即classpath:/目录下。

注意:
a.如果不同的位置都存在相同的配置时,比如mysq链接配置,优先使用外部配置;
b.如果不同的位置存在互补的配置,比例外部存在mysql链接配置,jar包存在redis链接配置,那么它在启动时会依次读取,不会报错。
c.内外都有相同的配置信息时听外的,内外有不同的配置信息时都生效
3.查看jar包的运行指标参数
####系统运行指标
top
####java项目运行指标
jstat -gcutil 1 5s



1830

被折叠的 条评论
为什么被折叠?



