Centos离线安装JDK+Tomcat+MySQL8.0+Nginx
一、安装JDK
注:以下命令环境在Xshell中进行。
1、查询出系统自带的OpenJDK及版本
rpm -qa | grep jdk
2、如果显示已安装openjdk则对其进行卸载。
#卸载
rpm -e --nodeps + ‘要卸载的jdk全名’。
#检查系统自带的OpenJDK是否卸载成功
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、下载安装包
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