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、下载安装包

下载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
posted @ 2022-11-01 23:16  小白学CS  阅读(312)  评论(0编辑  收藏  举报