Centos8.4离线安装JDK+Tomcat+MySQL8.0+Nginx
2022/5/29 2:19:54
本文主要是介绍Centos8.4离线安装JDK+Tomcat+MySQL8.0+Nginx,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、安装JDK
注:以下命令环境在Xshell中进行。
1、查询出系统自带的OpenJDK及版本
rpm -qa | grep jdk
2、如果显示已安装openjdk则对其进行卸载。
输入:rpm -e --nodeps + ‘要卸载的jdk全名’。 最后再用rpm -qa | grep jdk命令检查一遍。
3、下载JDK。
下载对应版本即,可下载地址
4、上传JDK到服务器。
先进入要上传的文件夹,我这里上传到/root/运行环境文件夹下(因为我要把jdk装到这个文件夹下)。
cd /root/运行环境
5、上传完成后查看文件夹下信息
ll
命令查看当前文件夹下的文件。
6、解压安装
注:Xshell可以对文件的名字可以用终端Ctrl+insert
组合键复制,shift+insert
组合键粘贴。
tar -zxvf jdk-8u301-linux-x64.tar.gz
7、安装完成后ll
查看
8、修改配置环境变量
1、vim /etc/profile(意思是 vim编辑某个文件,如果和这个文件在同一个文件夹下,直接跟文件名,不在同一个文件夹下,就输入该文件的完整路径+文件名,有后缀需要带后缀)。
vim /etc/profile
2、进入文件后输入英文字母i
进行编辑,上下左右键控制方向。
3、在文件最后,插入代码。
export JAVA_HOME=/root/运行环境/jdk1.8.0_301 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
4、编辑完成后按esc
键,然后按shift+:
组合键会弹出输入,输入wq
保存并退出。
9、使环境变量生效
source /etc/profile
10、查看是否安装成功
最后使用java -version查看,显示版本,则配置成功。
java -version
11、安装完成,删除安装包
rm jdk-8u301-linux-x64.tar.gz
删除命令 : rm -rf +文件名称 有后缀要带后缀,就删除了。
二、安装Tomcat
1、下载Tomcat
去Tomcat官网下载Tomcat,然后上传到服务器。下载地址
3、上传安装包
下载完成后,在/root/运行环境 文件夹下进行上传,如果不在此文件夹下输入命令cd /root/运行环境 进入此文件夹下。
cd /root/运行环境
4、查看文件夹信息
上传完成后输入ls命令进行查看
5、解压安装包
注:tar -zxv -f 是解压命令,后面跟文件名称带后缀。
tar -zxvf apache-tomcat-9.0.52.tar.gz
6、进入bin文件夹下
1、安装完成后进入cd /root/运行环境/apache-tomcat-9.0.52/bin目录下
cd /root/运行环境/apache-tomcat-9.0.52/bin
2、然后输入Tomcat的启动文件 ./startup.sh。
./startup.sh
弹出下面的表示安装成功。
8、打开防火墙端口
安装成功后打开防火墙的8080端口(Tomcat的默认端口是8080,如果不是必要,还是不要更改),重启防火墙
firewall-cmd --zone=public --add-port=8080/tcp --permanent
1、解决FirewallD is not running问题。
#查看firewalld状态,如果是dead状态,即防火墙未开启。 systemctl status firewalld #开启防火墙 systemctl start firewalld #确认firewalld状态。 systemctl status firewalld
2、重新启动tomcat。(可以一步一步找到./startup.sh文件启动,也可以使用命令启动)。
./startup.sh #也可以 systemctl start tomcat
3、输入netstat -lnpt可以查看已开放的端口。
netstat -lnpt
4、然后在浏览器输入服务器ip地址+8080
即可访问。
弹出此页面表示成功。
9、云服务器下的系统
如果是阿里的新开服务器,阿里的服务器控制台8080端口默认是不开放的,在服务器内防火墙开放端口也不能访问,需要登陆阿里官网,进入服务器控制台设置。(一般腾讯云的服务器是默认开启的)
10、VM虚拟机下的系统
如果是在VM虚拟机模拟,那么得输入命令手动开启8080端口了,因为Centos系统默认开放的端口只有:21和22。需要将8080端口号加入配置,执行以下代码可解决:
#执行命令来开启8080端口 firewall-cmd --permanent --zone=public --add-port=8080/tcp #重启防火墙 firewall-cmd --reload #验证开启的8080端口是否生效 firewall-cmd --zone=public --query-port=8080/tcp
11、最后配置Tomcat的自启动
1、为Tomcat添加启动参数pid。
#进入tomcat/bin 目录 cd /root/运行环境/apache-tomcat-9.0.52/bin #创建并编辑,tomcat启动的时候会调用 vi setenv.sh
2、进入后按i插入下面代码。
#add tomcat pid CATALINA_PID="$CATALINA_BASE/tomcat.pid" #add java opts JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
3、插入成功后,先按esc
,然后按shift+:
组合键,然后输入wq
后,enter
保存退出。
#进入/usr/lib/systemd/system目录 cd /usr/lib/systemd/system #增加tomcat.service文件 vi tomcat.service
4、插入的代码段:(记得有三处位置需要更改,如果位置一样就不用改了)。
[Unit] Description=Tomcat After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking #/root/运行环境/jdk1.8.0_301改为自己的jdk路径 Environment="JAVA_HOME=/root/运行环境/jdk1.8.0_301" # /root/运行环境/apache-tomcat-9.0.52/tomcat.pid改为自己的Tomcat路径。 PIDFile=/root/运行环境/apache-tomcat-9.0.52/tomcat.pid #/root/运行环境/apache-tomcat-9.0.52//bin/startup.sh改为自己的Tomcat路径。 ExecStart=/root/运行环境/apache-tomcat-9.0.52/bin/startup.sh ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
5、最后配置开机启动使其生效(配置完成可以重启服务器试一下)。
systemctl enable tomcat.service
#常用命令 #启动tomcat: systemctl start tomcat #停止tomcat: systemctl stop tomcat #重启tomcat: systemctl restart tomcat #查看tomcat状态: systemctl status tomcat
12、补充
有的系统重启后Tomcat启动很慢,需要好几分钟才能访问
#进入jdk的安装目录,找到java.security并进行编辑 cd /root/运行环境/JDK/jre/lib/security vim java.security
把securerandom.source=file:/dev/random 改成securerandom.source=file:/dev/./urandom
大概在150行,修改完wq重启系统发现速度变快。
三、安装MySQL
1、检查是否安装过
#检查是否安装过 rpm -qa | grep -i mysql #卸载之前的安装 rpm -e --nodeps 软件名 //强力删除,对相关依赖的文件也进行强力删除
2、卸载系统自带的Mariadb
rpm -qa| grep mariadb //查询出已安装的mariadb rpm -e --nodeps 文件名 //卸载 , 文件名为使用rpm -qa|grep mariadb 命令查出的所有文件
3、下载安装包
下载地址
选择如下选项。
4、在 /root/运行环境 新建目录“MySQL”
mkdir MySQL
5、上传安装包
将下载的二进制压缩包放到/root/运行环境/MySQL 目录下。
6、依次安装客户端(mysql-client)
#-nodeps:不检测依赖性安装。 -force:强制安装。 rpm -ivh mysql-community-common-8.0.26-1.el8.x86_64.rpm --nodeps --force rpm -ivh mysql-community-libs-8.0.26-1.el8.x86_64.rpm --nodeps --force #(前两个是其依赖) #安装客户端mysql-client rpm -ivh mysql-community-client-8.0.26-1.el8.x86_64.rpm --nodeps --force
此命令还可以使用一次性安装多个软件包,仅需将包全名用空格分开即可,如下所示:
rpm -ivh a.rpm b.rpm c.rpm
7、安装服务端(mysql-server)
#安装服务端(mysql-server) rpm -ivh mysql-community-server-8.0.26-1.el8.x86_64.rpm --nodeps --force
rpm -qa | grep -i mysql
8、查看是否安装成功
#有以下方式查看: ps -ef | grep mysql cat /etc/group | grep mysql mysqladmin --version
9、初始化mysql
#创建数据文件目录和mysql系统数据库 产生随机root密码 mysqld --initialize
10、启动mysql服务
systemctl start mysqld
失败原因:这是因为/var/lib/mysql目录权限不够。
变更mysql目录的所属者为用户root以及设置目录权限。
#变更目录权限为mysql用户组下的root用户 chown -R mysql.root /var/lib/mysql #授权目录 chmod 750 -R /root/运行环境/MySQL
11、启动mysql服务
#启动 systemctl start mysqld #查看mysql服务 ps -ef | grep mysql
12、查看初始化随机生成的root密码
cat /var/log/mysqld.log | grep password
13、安全设置
mysql_secure_installation
14、mysql登录
#随机密码登录 mysql -uroot -p
15、重置密码(Mysql8.0+有变化)
#先把root的旧密码置空 use mysql; update user set authentication_string='' where user='root'; #备注:Mysql5.7+ password字段 已改成 authentication_string字段
#重置成新密码 #备注:Mysql8.0修改密码方式已有变化(此处是个坑,需要注意) #Mysql8.0之前; update user set password=password('root') where user='root'; #Mysql8.0之后; alter user 'root'@'localhost' identified by 'root';
-
修改密码策略配置
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误原因,版本8.0 默认设置密码不能相同于用户名validate_password.check_user_name | ON // 校验密码不能等同于用户名
validate_password.policy | LOW // 设置低级别策略
validate_password.length | 4 // 设置最低长度为4#显示密码策略 SHOW VARIABLES LIKE 'validate_password%'; #校验密码不能等同于用户名 set global validate_password.check_user_name=OFF; #设置最低长度为4 set global validate_password.length=4;
-
重新修改密码
设置完密码策略后重新输入修改命令
alter user 'root'@'localhost' identified by '123456';
16、退出后使用新密码再登录mysql
#退出命令行 mysql> quit; Bye mysql -uroot -p123456
17、如何停止、重启和查看mysql服务
#停止服务 systemctl stop mysqld #重启服务 systemctl restart mysqld #查看mysql服务 systemctl status mysqld
18、mysql的相关安装目录文件
1、相关命令 /usr/bin
ls /usr/bin/my*
2、配置文件目录 /usr/share/mysql-8.0/
ls /usr/share/mysql-8.0/
3、mysql的启动配置文件 /etc/my.cnf
ls /var/lib/mysql/
19、删除上传的安装包
#这里直接删除所在的文件夹 rm -rf MySQL
四、安装Nginx
网上有很多通过tar.gz包内网安装nginx的,但前提需要安装好多依赖,gcc、g++、perl、pcre、zlib、openssl安装看的头疼,特别容易卡住进行不下去。现记录rpm包安装方式。
1、下载安装包
下载Nginx的rpm格式
2、上传安装包
将下载好的rpm包放入服务器/root/运行环境/Nginx中
cd /root/运行环境/Nginx
3、安装Nginx
#执行安装命令 rpm -ivh nginx-1.20.1-1.el8.ngx.x86_64.rpm
4、启动nginx并查看是否启动成功
#启动 nginx #查看是否启动成功 ps -ef | grep nginx #重新加载配置文件并重启 nginx -s reload #重启 nginx -s reopen #关闭nginx nginx -s stop #进程结束后关闭 nginx -s quit #查看当前nginx配置是否有错误 nginx -t #检查配置是否有问题,如果已在配置目录,则不需要 -c nginx -t -c <配置路径> #查找nginx位置 whereis nginx
注:静态nginx地址:/usr/share/nginx/html——>index.html。
5、编写初始化的Nginx网页界面
#curl http://IP地址 curl http://192.168.137.200
6、打开防火墙的80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload
7、配置Nginx开机自启动
1、进入到/lib/systemd/system/目录
cd /lib/systemd/system/
2、创建nginx.service文件,并编辑
vim nginx.service
3、文件内容
[Unit] Description=nginx service After=network.target [Service] Type=forking ExecStart=/opt/nginx/sbin/nginx ExecReload=/opt/nginx/sbin/nginx -s reload ExecStop=/opt/nginx/sbin/nginx -s stop PrivateTmp=true [Install] WantedBy=multi-user.target
[Unit]:服务的说明 Description:描述服务 After:描述服务类别 [Service]服务运行参数的设置 Type=forking是后台运行的形式 ExecStart为服务的具体运行命令 ExecReload为重启命令 ExecStop为停止命令 PrivateTmp=True表示给服务分配独立的临时空间 注意:[Service]的启动、重启、停止命令全部要求使用绝对路径 [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3 保存退出。
8、加入开机自启动
systemctl enable nginx.service
-
服务的启动/停止/刷新配置文件/查看状态
#启动nginx服务 systemctl start nginx.service #停止服务 systemctl stop nginx.service #重新启动服务 systemctl restart nginx.service #查看所有已启动的服务 systemctl list-units --type=service #查看服务当前状态 systemctl status nginx.service #设置开机自启动 systemctl enable nginx.service #停止开机自启动 systemctl disable nginx.service
9、可以将上传的安装包删除
#这里直接删除所在的文件夹 rm -rf Nginx
这篇关于Centos8.4离线安装JDK+Tomcat+MySQL8.0+Nginx的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign学习入门:轻松掌握微服务通信
- 2024-12-27OpenFeign学习入门:轻松掌握微服务间的HTTP请求
- 2024-12-27JDK17新特性学习入门:简洁教程带你轻松上手
- 2024-12-27JMeter传递token学习入门教程
- 2024-12-27JMeter压测学习入门指南
- 2024-12-27JWT单点登录学习入门指南
- 2024-12-27JWT单点登录原理学习入门
- 2024-12-27JWT单点登录原理学习入门