2024年8月30日,本网站正式弃用centos5.7,改用Ubuntu 22.04,为保证网站成功运行,一共部署四个必要软件,分别是mysql8.0、redis6.0、ngnix1.18、jdk21。

一、mysql8.0

在 Ubuntu 22.04 上安装 MySQL 8.0 ,安装操作需root权限:

  1. 通过 sudo su -,切换到root用户

    本文选择这种方式操作

  2. 或在每一个命令前,加上sudo,用来临时提升权限

1.卸载仓库信息

如果已经安装过MySQL5.7版本,需要卸载仓库信息

1
2
3
4
5
# 卸载MySQL5.7版本
apt remove -y mysql-client=5.7* mysql-community-server=5.7*

# 卸载5.7的仓库信息
dpkg -l | grep mysql | awk '{print $2}' | xargs dpkg -P

2.更新apt仓库信息

1
sudo apt update

3.安装mysql

1
sudo apt install -y mysql-server

4.启动 MySQL 服务

1
2
3
/etc/init.d/mysql start			# 启动
/etc/init.d/mysql stop # 停止
/etc/init.d/mysql status # 查看状态

5.登陆MySQL设置密码

给root账号设置密码

1
2
3
# 直接执行:mysql
mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

6.根据需要,也可以创建新用户

1
CREATE USER 'abcde'@'localhost' IDENTIFIED BY 'event123';

如果你希望该用户可以从任何主机连接,可以使用:

1
CREATE USER 'abcde'@'%' IDENTIFIED BY 'event123';

7.授予权限

1
GRANT ALL PRIVILEGES ON *.* TO 'abcde'@'localhost' WITH GRANT OPTION;

如果使用 %,则命令为:

1
GRANT ALL PRIVILEGES ON *.* TO 'abcde'@'%' WITH GRANT OPTION;

8.刷新权限

1
FLUSH PRIVILEGES;

9.退出MySQL控制台

1
EXIT;

10.对MySQL进行初始化

1
2
3
4
5
# 执行如下命令,此命令是MySQL安装后自带的配置程序
mysql_secure_installation
# 可以通过which命令查看到这个自带程序所在的位置
root@DESKTOP-Q89USRE:~# which mysql_secure_installation
/usr/bin/mysql_secure_installation

11.重新登陆MySQL(用更改后的密码)

1
mysql -uroot -p

12.退出MySQL控制台

1
EXIT;

13.检查防火墙设置

确保防火墙允许 MySQL 的端口(默认是 3306)通过。

1
sudo ufw allow 3306

14.检查 MySQL 配置

1
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

确保 bind-address 设置为 0.0.0.0 或注释掉这一行:

1
bind-address = 0.0.0.0

15.重启 MySQL 服务

1
sudo systemctl restart mysql

二、redis6.0

在 Ubuntu 22.04 上安装 Redis,可以按照以下步骤进行:

1. 更新系统包

打开终端并运行以下命令:

1
2
sudo apt update
sudo apt upgrade

2. 安装 Redis

使用以下命令安装 Redis:

1
sudo apt install redis-server

3. 配置 Redis

编辑 Redis 配置文件以确保其在后台运行:

1
sudo nano /etc/redis/redis.conf

找到以下行并进行修改:

1
supervised no

改为:

1
supervised systemd

4. 启动 Redis 服务

启动 Redis 服务并使其在系统启动时自动启动:

1
2
sudo systemctl start redis
sudo systemctl enable redis

5. 检查 Redis 状态

确认 Redis 正在运行:

1
sudo systemctl status redis

6. 测试 Redis

使用 Redis CLI 测试安装:

1
redis-cli

在 Redis 提示符下,输入:

1
ping

如果返回 PONG,则表示 Redis 正在正常运行。

7. 配置远程访问

打开 Redis 配置文件:

1
sudo nano /etc/redis/redis.conf

修改允许连接的 IP 地址,找到以下行:

1
bind 127.0.0.1

将其修改为:

1
bind 0.0.0.0

这将允许 Redis 接受来自任何 IP 地址的连接。

8. 设置密码

在配置文件中添加或修改以下行,以设置访问密码:

1
requirepass yourpassword

9. 重启 Redis 服务

保存文件并退出编辑器,然后重启 Redis 服务以应用更改:

1
sudo systemctl restart redis

10. 配置防火墙

确保你的防火墙允许访问 Redis 默认端口(6379):

1
sudo ufw allow 6379

11. 测试远程连接

在远程机器上使用以下命令连接:

1
redis-cli -h your_server_ip -p 6379 -a yourpassword

三、安装Nginx

安装 Nginx,按照以下步骤进行操作:

1. 更新包列表

首先,确保你的包列表是最新的:

1
sudo apt update

2. 安装 Nginx

使用以下命令安装 Nginx:

1
sudo apt install nginx

3. 启动 Nginx 服务

安装完成后,启动 Nginx 服务:

1
sudo systemctl start nginx

4. 启用 Nginx 开机自启

使 Nginx 在系统启动时自动启动:

1
sudo systemctl enable nginx

5. 检查 Nginx 状态

确认 Nginx 服务正在运行:

1
sudo systemctl status nginx

6. 测试 Nginx

在浏览器中访问你的服务器 IP 地址(例如 http://your_server_ip),如果看到 Nginx 的欢迎页面,说明安装成功。

7. 配置防火墙

如果你使用的是 UFW 防火墙,允许 HTTP 和 HTTPS 流量:

1
sudo ufw allow 'Nginx Full'

8.部署前端项目

vue项目执行npm run build 命令打包后,将dist文件放到/var/www/html即可

四、安装jdk21

要安装 JDK21,请按照以下步骤进行操作:

1. 更新包列表

首先,确保你的包列表是最新的:

1
sudo apt update

2. 安装 JDK 21

使用以下命令安装 OpenJDK 21:

1
sudo apt install openjdk-21-jdk

3. 验证安装

安装完成后,可以通过以下命令验证 JDK 是否安装成功:

1
java -version

你应该看到类似于以下的输出:

1
openjdk version "21.0.x" ...

4. 设置环境变量

如果需要设置 JAVA_HOME 环境变量,可以编辑 ~/.bashrc 文件:

1
nano ~/.bashrc

在文件末尾添加以下行:

1
2
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin

保存并退出后,运行以下命令以使更改生效:

1
source ~/.bashrc

5.部署jar包(nohup)

如果已经运行过,需先关闭进程

1
2
3
ps aux | grep api.jar

kill <PID>

启动服务

1
nohup java -jar /root/api.jar --server.port=8443 > /root/api.log 2>&1 &

查看日志

1
tail -f /root/api.log

6.部署jar包(systemd)

使用以下命令运行 JAR 包:

1
java -jar /path/to/your/file.jar

如果希望 JAR 包在后台运行并在系统启动时自动启动,可以使用 systemd 创建一个服务文件:

1
sudo nano /etc/systemd/system/myapp.service

添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=My Java Application
After=network.target

[Service]
User=your_username
ExecStart=/usr/bin/java -jar /path/to/your/file.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

your_username 替换为实际用户名。

启动服务

1
2
sudo systemctl enable myapp
sudo systemctl start myapp