看 Centos 版本命令 cat /etc/redhat-release
安装JDK
这里的 CentOS 是最小安装,除系统外不会带其他的组件,其他的版本安装可能会带 openjdk 组件,与要自己安装的 jdk 会有冲突,卸载掉 openjdk 即可
通过 rpm -qa | grep java
查看是否有安装 openjdk,或者使用 java -version
看是否有 openjdk 版本信息输出
有就用 rpm -e --nodeps 系统自带的jdk名
命令将带有 openjdk 字样的删除掉即可(注是带有 openjdk 字样的)
1.下载
JDK:https://www.oracle.com/java/technologies/javase-downloads.html
镜像:http://www.codebaoku.com/jdk/jdk-index.html
注意不要下错版本
下载需要注册,如果没有可以看:https://blog.csdn.net/u010180815/article/details/96479701
2.上传
没什么好说的,利用 filezilla 将下载好的 jdk 上传到 CentOS 服务器
也可以从上面官网获得下载链接后使用 wget 命令进行下载,会下载到当前目录下
wget https://download.oracle.com/otn-pub/java/jdk/15.0.1%2B9/51f4f36ad4ef43e39d0dfdbaf6549e32/jdk-15.0.1_linux-x64_bin.tar.gz
3.解压缩
进入到存放 jdk 压缩包的文件夹
cd /home/vsftpd/ZhangWT/
创建文件夹,用于存放解压缩后的文件
mkdir /usr/java
解压缩到创建的 /usr/java文件夹
tar zxvf jdk-15.0.1_linux-x64_bin.tar.gz -C /usr/java
4.配置环境变量
编辑 vi /etc/profile 文件
vi /etc/profile
在文件的末尾添加
export JAVA_HOME=/usr/java/jdk-15.0.1
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
新版的 jdk 已经默认不再包含 jre ,不需要手动配置 jre 环境变量,如果需要可以通过进入到 jdk 的 bin 文件,里面有一个 jlink 文件,输入
jlink --module-path jmods --add-modules java.desktop --output jre
就可以生成 jre 文件
使变量生效
source /etc/profile
5.验证
java -version
看到版本信息表示安装成功
MySQL
rmp 包安装方式的 MySQL 卸载
rpm -qa | grep -i mysql
卸载前关闭MySQL服务
删除 mysql 组件
rpm -ev [上面命令查出来的组件]
例:rpm -ev MySQL-devel-8.0.22-1.linux_glibc2.12
收集MySQL对应的文件夹信息
whereis mysql
删除mysql用户及用户组
# 查询 mysql 用户信息
more /etc/passwd | grep mysql
# 查询 mysql 用户信息
more /etc/shadow | grep mysql
# 查询 mysql 用户组信息
more /etc/group | grep mysql
# 删除用户
userdel mysql
# 删除用户组
groupdel mysql
注意:/etc/shadow文件是/etc/passwd 的影子文件,这两个文件是对应互补的
压缩包安装方式的MySQL卸载
删除 mysql 解压后的文件夹
删除配置文件以及环境变量
配置文件一般有/etc/my.cnf 或/etc/init.d/mysql.server,视具体安装配置情况而定
删除mysql用户及用户组
与上面相同
1.下载
镜像汇总:https://segmentfault.com/a/1190000000375848
推荐中国科学技术大学的镜像,速度比较快:http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-8.0/
2.解压缩 到 /usr/local 文件夹下
tar xvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz -C /usr/local
进入解压后文件夹
cd /usr/local
重命名为 mysql
mv mysql-8.0.22-linux-glibc2.12-x86_64 mysql
3.在 /usr/local 文件夹下创建用户组和用户
groupadd mysql
useradd -r -g mysql mysql
进入 mysql 文件夹授权
cd mysql
文件夹授权
chown -R mysql:mysql ./
4.创建data文件夹,及修改目录用户
在 /usr/local/mysql 文件夹下创建 data 文件夹
mkdir data
修改/usr/local/mysql当前目录的用户
chown -R root:root ./
chown -R mysql:mysql data
5.初始化数据库,并会自动生成随机密码,记下等下登陆要用
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
8.配置 my.cnf
vi /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
tmpdir = /tmp
port = 3306
max_allowed_packet=32M
log_bin_trust_function_creators = ON
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
~
启动 mysql 时也许会有一个警告
原因:权限777,任何一个用户都可以改my.cnf,存在很大的安全隐患
修改权限
chmod 644 /etc/my.cnf
9.开机自启
进入 /usr/local/mysql/support-files
将 support-files 文件夹下的 mysql.server 复制到 /etc/init.d/mysql 目录下,并赋予权限
cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
10.配置环境变量
vi /etc/profile
在最后更改
export MYSQL_HOME=/usr/local/mysql
export JAVA_HOME=/usr/java/jdk-15.0.1
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$MYSQL_HOME/bin
11.登录
启动 mysql 服务,注意 5.0之前版本启动命令:service mysqld start ( 是mysqld )
启动 mysql 服务
service mysql start
停止 mysql 服务
service mysql stop
查看 mysql 服务状态
service mysql status
重启 mysql 服务
service mysql restart
登录
mysql -uroot -h localhost -p
password 就是上面生成的零时密码,登录后要修改密码,不能进行其他操作
修改密码
alter user 'root'@'localhost' identified by 'root';
修改成功可以退出用新密码重新登陆
登陆时包找不到so包的错误,是由于CentOS 8 或 9版本使用了新的版本号的依赖包,导致就的版本号找不到,这里推荐使用MariaDB 是MySQL的一个分支,与MySQL兼容
解决办法:
cd /usr/lib64/
ln -s libtinfo.so.6.2 libtinfo.so.5
结果中看到我们要找的文件 libtinfo.so.6.2 然后做一个软连接,就可以登陆了
12.开启Navicat远程连接
登录数据库
#进入数据库
use mysql;
# 查询用户信息用户账户与主机的对应关系
select Host,User from user;
# 将 root 对应的主机修改为 “ % ” ,表示匹配任意字符
update user set host= '%' where User ='root';
# 强制刷新,立即生效
flush privileges;
# 退出mysql
exit;
#重启mysql服务
service mysql restart
localhost 表示只允许本机访问,一般 root 用户不会使用远程连接,一般是创建一个新的用户来进行远程连接,%表示允许任意host访问,如果需要设置只允许特定 ip 访问,则应改为对应的 ip
13.开放端口
开放3306端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新载入配置:firewall-cmd --reload
注意这里开放的对口是上面 my.cnf 文件中定义的端口(mysql 默认3306)
使用 Navicat 连接出现问题
出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级 navicat ,一种是把 mysql 用户登录密码加密规则还原成 mysql_native_password
修改规则
MYSQL 8.0内新增加mysql_native_password函数,通过更改这个函数密码来进行远程连接。
#修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
#更新一下用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
#刷新权限
FLUSH PRIVILEGES;
升级 navicat
这里使用的是 Navicat Premium 12,Navicat Premium 15 已经出来了,可以升级成 15 就不会报这个错误
Tomcat
1.下载
https://tomcat.apache.org/download-90.cgi
2.解压缩
可以解压到任意自己喜欢的文件夹
tar zxvf apache-tomcat-9.0.39.tar.gz -C /usr/java
3.配置环境变量
vi /etc/profile
更改最后
export CATALINA_HOME=/usr/java/apache-tomcat-9.0.39
export MYSQL_HOME=/usr/local/mysql
export JAVA_HOME=/usr/java/jdk-15.0.1
export CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$MYSQL_HOME/bin::$CATALINA_HOME/bin
使环境变量生效
source /etc/profile
4.开放端口
永久添加8080端口:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
重新载入配置:
firewall-cmd --reload
5.检验
进入到 tomcat 安装目录的 bin 文件
cd /usr/java/apache-tomcat-9.0.39/bin
开启服务:
startup.sh
关闭服务:shutdown.sh
在浏览器中输入 ip:端口 可以看到 tomcat 的欢迎页面
6.用service来管理tomcat服务器的启动
vi /etc/init.d/tomcat
#!/bin/bash
# This is the init script for starting up the
# Jakarta Tomcat server
#
# chkconfig: 345 91 10
# description: Starts and stops the Tomcat daemon.
#
# Check that networking is up.
# Source function library
export JAVA_HOME=/usr/java/jdk-15.0.1 #自己的jdk安装目录
tomcat_home=/usr/java/apache-tomcat-9.0.39 #自己的tomcat安装目录
start(){
echo -n "Starting Tomcat service..."
$tomcat_home/bin/startup.sh
echo "tomcat is succeessfully started up"
}
stop(){
echo -n "Shutting down tomcat..."
$tomcat_home/bin/shutdown.sh
echo "tomcat is succeessfully shut down."
}
status(){
numproc=`ps -ef | grep catalina | grep -v "grep catalina" | wc -l`
if [ $numproc -gt 0 ]; then
echo "Tomcat is running..."
else
echo "Tomcat is stopped..."
fi
}
restart(){
stop
sleep 2
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
restart
;;
*)
echo "Usage:$0 {start|stop|status|restart}"
exit 0
esac
添加文件权限
chmod 755 /etc/init.d/tomcat
开启服务:
service tomcat start
关闭服务:service tomcat stop
重启服务:service tomcat restart
Redis
Redis是C实现的,需要gcc来进行编译,先安装gcc
yum install gcc
1.下载
2.解压到任意地方
tar zxvf redis-6.0.9.tar.gz
进入解压后的目录
cd redis-6.0.9
make
如果报大量的 structredisServer没有名为XXXX的成员 的错误,可能是 gcc 版本太旧, 升级 gcc 即可
# 安装gcc套装
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
# 升级gcc
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
make test
安装好后 执行 make test 命令(时间略久,可以略过)
3.安装make install
make PREFIX=/usr/local/redis install
4.配置文件
拷贝一份配置文件到安装目录
cp redis.conf /usr/local/redis
5.启动服务
进入安装目录
cd /usr/local/redis
启动服务
./bin/redis-server ./redis.conf
6.让 redis 以后台进程形式运行
编辑配置文件
vi redis.conf
搜索
/daemonize
修改配置
daemonize yes
保存退出重启 redis 服务即可
查看 6379 端口,可以发现 redis 正在运行
发布网站
springboot快速建立网站,定义一个接口 hello
修改配置,加入war插件,并使主类继承SpringBootServletInitializer
apply plugin: 'war'
点击右侧bootWar打包
将 war 包,复制到 Tomcat 的 webapp 下,启动 tomcat,在浏览器输入:ip:端口/包名/访问的接口,就可以看到服务器返回的数据