1.安装jdk8
1.1 官网下载JDK
地址: https://www.oracle.com/java/technologies/downloads/#java8
选择相应的 .gz包下载
1.2 解压缩,放到指定目录(以jdk-8u311-linux-x64.tar.gz为例)
创建目录:
sudo mkdir /usr/local/java
加压缩到该目录:
sudo tar -xf jdk-8u311-linux-x64.tar.gz -C /usr/local/java/
1.3 修改环境变量:
sudo vim ~/.bashrc
文件的末尾追加下面内容:
#set oracle jdk environment export JAVA_HOME=/usr/local/java/jdk1.8.0_311 ## 这里要注意目录要换成自己解压的jdk 目录 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
使环境变量马上生效
source ~/.bashrc
1.4 测试jdk8
java -version java version "1.8.0_311" Java(TM) SE Runtime Environment (build 1.8.0_311-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode)
2.安装tomcat
2.1 官网下载tomcat
sudo wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.12/bin/apache-tomcat-10.0.12.tar.gz
2.2 解压缩,放到指定目录
创建目录:
sudo mkdir /usr/local/tomcat
加压缩到该目录:
sudo tar -xf apache-tomcat-10.0.12.tar.gz -C /usr/local/tomcat/
在bin目录下启动tomcat(这里ubuntu不让进入,我切换了root账户)
ubuntu@ubuntu:/usr/local/tomcat/apache-tomcat-10.0.12$ su root
-- 此命令位创建root密码:
sudo passwd root
root@ubuntu:/usr/local/tomcat/apache-tomcat-10.0.12# cd bin/
root@ubuntu:/usr/local/tomcat/apache-tomcat-10.0.12/bin# ./startup.sh
2.3 访问tomcat
http://IP:8080/
如果需要域名访问的话,需要将tomcat的端口改成80端口
3.安装mysql(此处操作转载:(71条消息) Ubuntu20.04安装Mysql_風の住む街~的博客-CSDN博客_ubuntu20.04安装mysql)
3.1 通过apt 安装MySQL服务(推荐,会安装最新版)
#命令1 更新源
sudo apt-get update
#命令2 安装mysql服务
sudo apt-get install mysql-server
3.2 初始化配置
sudo mysql_secure_installation
配置项较多,如下所示:
#1
VALIDATE PASSWORD PLUGIN can be used to test passwords...
Press y|Y for Yes, any other key for No: N (选择N ,不会进行密码的强校验)
#2
Please set the password for root here...
New password: (输入密码)
Re-enter new password: (重复输入)
#3
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them...
Remove anonymous users? (Press y|Y for Yes, any other key for No) : N (选择N,不删除匿名用户)
#4
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network...
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : N (选择N,允许root远程连接)
#5
By default, MySQL comes with a database named 'test' that
anyone can access...
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : N (选择N,不删除test数据库)
#6
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y (选择Y,修改权限立即生效)
3.3 检查mysql服务状态
systemctl status mysql.service
3.4 配置远程访问
在Ubuntu下MySQL缺省是只允许本地访问的,使用workbench连接工具是连不上的;
如果你要其他机器也能够访问的话,需要进行配置;
找到 bind-address 修改值为 0.0.0.0(如果需要远程访问)
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf #找到 bind-address 修改值为 0.0.0.0(如果需要远程访问)
sudo /etc/init.d/mysql restart #重启mysql
访问数据库:
sudo mysql -uroot -p
输入用户密码
#切换数据库
mysql>use mysql;
#查询用户表命令:
mysql>select User,authentication_string,Host from user;
#查看状态
select host,user,plugin from user;
#设置权限与密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; #使用mysql_native_password修改加密规则
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER; #更新一下用户的密码
mysql> UPDATE user SET host = '%' WHERE user = 'root'; #允许远程访问
#刷新cache中配置 刷新权限
mysql>flush privileges;
mysql>quit;
其中root@localhost,localhost就是本地访问,配置成 % 就是所有主机都可连接;
第二个’密码’为你给新增权限用户设置的密码,%代表所有主机,也可以是具体的ip;
注意不要直接更新密码的编码格式,而不加密码,这样会把加密密码跟新了,需要携带密码
FLUSH PRIVILEGES;作用是:
将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。
MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。
通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。
而不必冒太大风险。
-
修改密码
alter user 'root'@'%' identified with mysql_native_password by '密码';
- 新增用户赋权并设置远程访问
mysql8和原来的版本有点不一样,8的安全级别更高,所以在创建远程连接用户的时候,
不能用原来的命令(同时创建用户和赋权):
#必须先创建用户(密码规则:mysql8.0以上密码策略限制必须要大小写加数字特殊符号)
mysql> CREATE USER 'sammy'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
#赋权
mysql> GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'%' WITH GRANT OPTION;
- 修改加密方式:
mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式Navicat 12以下客户端不支持;
Navicat 12以下客户端支持的是mysql_native_password这种加密方式;
update user set plugin='mysql_native_password' where user='root'
如果为了安全性,设置了用户验证,必须使用sudo,才能登录,出现如下情况:(尽量不要设置ubuntu用户在验证,否则会很麻烦)
- 解决方法:
sudo vim /etc/mysql/my.cnf
添加:
[mysqld]
skip-grant-tables
保存后重启mysql,可以正常登陆了
这样操作后,是相当于跳过了mysql的密码认证。很不安全,直接就可以登录进去。
3.5 新建数据库和用户
##1 创建数据库studentService
CREATE DATABASE studentService;
##2 创建用户teacher(密码admin) 并赋予其studentService数据库的远程连接权限
GRANT ALL PRIVILEGES ON teacher.* TO studentService@% IDENTIFIED BY "admin";
3.6 mysql服务命令
#检查服务状态
systemctl status mysql.service
或
sudo service mysql status
mysql服务启动停止
#停止
sudo service mysql stop
#启动
sudo service mysql start
4.安装redis
4.1 官网下载JDK
Redis 5.0 被包含在默认的 Ubuntu 20.04 软件源中。想要安装它,以 root 或者其他 sudo 身份运行下面的命令:
sudo apt update
sudo apt install redis-server
一旦安装完成,Redis 服务将会自动启动。想要检查服务的状态,输入下面的命令:
sudo systemctl status redis-server
你应该看到下面这些:
4.2 配置 Redis 远程访问
默认情况下,Redis 不允许远程连接。你仅仅只能从127.0.0.1(localhost)连接 Redis 服务器 - Redis 服务器正在运行的机器上。
如果你正在使用单机,数据库也同样在这台机器上,你不需要启用远程访问。
想要配置 Redis 来接受远程访问,使用你的文本编辑器打开 Redis 配置文件:
sudo vi /etc/redis.conf
定位到以bind 127.0.0.1 ::1
开头的一行,并且取消它的注释:
# bind 0.0.0.0 ::1
如果你的服务器有局域网 IP,并且你想要 Redis 从局域网可以访问 Redis,在这一行后面加上服务器局域网 IP 地址。
保存这个文件,并且重启 Redis 服务,使应用生效:
sudo systemctl restart redis-server
使用下面的命令来验证 Redis 服务器正在监听端口6379
:
ss -an | grep 6379
你应该能看到类似下面的信息:
下一步,你将需要配置你的防火墙,允许网络流量通过 TCP 端口6379
。
通常你想要允许从一个指定 IP 地址或者一个指定 IP 范围来访问 Redis 服务器。例如,想要允许从192.168.121.0/24
的连接,运行下面的命令:
sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379
确保你的防火墙被配置仅仅接受来自受信任 IP 的连接。
此时,你应该可以从远程位置通过 TCP 连接到 Redis 的 6379 端口。
想要验证所有设置都设置好了,你可以尝试使用redis-cli
从你的远程机器上 ping 一下 Redis 服务器。
redis-cli -h <REDIS_IP_ADDRESS> ping
这个命令将会返回一个响应:PONG
PONG
4.3 设置 Redis 访问密码
#vi /etc/redis/redis.conf
然后建议通过搜索来找到下面这行注释 #requirepass foobared
按一下英文键盘 i 字母进入编辑模式
把 # 号去掉,foobared 改为你想设置的redis的登录密码 比如:我想设置密码为123456
requirepass 123456
保存退出