本次项目主要涉及的组件, 包括Java、Mysql、tomcat、nginx等,具体规划如下表

服务器节点

 Java

MYSQL

Tomcat

Nginx

部署工作实施

1.准备一台阿里云服务器

https://ecs.console.aliyun.com/

  • 服务器的操作系统: 必须是centos stream 9
  • 服务器的安全组:必须开放两个端口 80 和 22

xshell远程链接之后

修改主机名

#修改主机名为Zmi
hostnamectl set-hostname Zmi.itcast.cn

设置hosts

vim /etc/hosts
i
回车到最下面粘贴以下内容

172.26.70.34   Zmi  Zmi.itcast.cn


注意: 前面得IP地址, 需要填写ECS服务器的公网对应的私网(内网)IP地址

配置完成后, 可以使用ping命令测试别名是否对应了对应的IP地址, 并监测是否可以互通

ping Zmi

2,部署jdk环境

下载一个jdk包

xshell连接到我们的云服务器上

3,云服务器下载jdk包

安装包习惯放置目录: /export/software目录下

没有这个目录的话mkdie -p /export/software

#安装一下上载下载命令
dnf install lrzsz 
#下载啥啥啥
rz

#检查上传文件大小
ll -h

软件安装目录统一放置到/opt/目录下 【常规安装目录】

解压安装包

cd /export/software/
ll
tar -xzf jdk-8u241-linux-x64.tar.gz -C /opt
cd /opt/

测试使用

cd /opt/jdk1.8.0_241/bin
./java -version

配置环境变量

vim /etc/profile
i
回车到底部,把下面内容复制粘贴进去

添加以下内容:
# 设置 JAVA_HOME 环境变量
export JAVA_HOME=/opt/jdk1.8.0_241

# 设置 PATH 环境变量,方便在命令行使用 java 命令
export PATH=$JAVA_HOME/bin:$PATH

# 设置 CLASSPATH 环境变量(可选)
export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH

修改后按esc退出编辑模式

#最后保存退出
:wq!

重启 或者 直接重新加载让他生效

#重新加载配置信息,让其生效
source /etc/profile

#重启
init 6

最后在任意路径下执行java -version,可以看到版本号就ok

4,部署mysql环境

安装MySQL官方dnf(yum)仓库:这条命令直接粘贴,不要手打。

# 原因: 默认的dnf仓库存在更新不及时,版本可能会老旧的情况

dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
#查看是否启用MySQL仓库
dnf repolist enabled | grep mysql

安装MySQL

dnf install -y mysql-community-server --nogpgcheck

我们想把他放到software下面却不在是因为

你用 dnf install 安装的 MySQL,是系统级的软件,它的文件会被自动安装到系统的标准目录里,根本不会放到你当前的 /export/software 目录里。

  • 你当前目录里的 jdk-8u241-linux-x64.tar.gz,是你手动下载、解压的压缩包,才会出现在这里。
  • 而 MySQL 是通过包管理器自动安装的,所有文件都被放到了系统默认的位置,不会出现在你当前的目录里。

MySQL文件实际在

启动MySQL

# 1. 启动MySQL服务
systemctl start mysqld

# 2. 设置开机自启(重启服务器后MySQL自动运行,不用手动启动)
systemctl enable mysqld

# 3. 验证服务状态,确认正在正常运行
systemctl status mysqld

修改密码

看一下初始密码然后登录

grep password /var/log/mysqld.log

登录MySQL并看他的相关配置

mysql_secure_installation

临时密码失效怎么办

然后就会让我们输入临时密码,注意这里复制粘贴过去不会有任何提示,直接回车就行,但是当我们的临时密码失效时,再次查看日志临时密码登录已经不行了

#停止MySQL服务
systemctl stop mysqld

#跳过权限认证,用安全模式启动,跳过密码验证
mysqld --skip-grant-tables --user=mysql &

# 1. 无密码登录MySQL,直接回车就能进
mysql

# 2. 登录成功后,执行SQL重置密码
USE mysql;
UPDATE user SET authentication_string='' WHERE user='root' AND host='localhost';
FLUSH PRIVILEGES;
exit;

# 3. 杀掉安全模式的MySQL进程,恢复正常启动
pkill mysqld

# 4. 正常启动MySQL
systemctl start mysqld

# 5. 空密码登录,设置新密码
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

验证新密码

#刷新,让新密码生效
FLUSH PRIVILEGES;

#退出验证新密码
exit;

#重新登录然后使用新密码
mysql -uroot -p

这里一定要注意,新密码用刚刚改好的,不会显示出来,显示是空的,直接回车就行

数据库安全配置

mysql_secure_installation

输入我们刚刚改的密码

然后问我们要不要改密码,我们不需要输入y,把Aa123456!改成Aa123456.

密码需要和开发那边的密码一致

提示:按backspace出现

我们直接按 Ctrl + C 退出重进

如果一定要删除,用 Delete 代替 backspace 键,就不会出现乱码了。

继续前面的mysql_secure_installation

弹出确认使用这个密码吗,y

弹出提示,要删除匿名用户吗,y

弹出提示,不同意远程root登录吗,n

弹出提示,要删除test数据库吗,y

弹出提示,要重新加载配置吗,y

导入项目初始化数据集

将资料中的scheam.sql 和 data.sql导入到Zmi的家目录下,我们的云服务器里

windows导到Linux里等于是

rz

把文件导入到数据库里

mysql -uroot -pAa123456. < schema.sql
mysql -uroot -pAa123456. < data.sql

登录MySQL,校验

mysql -uroot -p

show databases;

5,部署Tomcat服务

传tomcat安装包到Zmi服务器也就是我们的云服务器:

我放到/export/software 

jdk之前也放这里了

方法二,网上下载

cd /export/software
wget https://mirrors.huaweicloud.com/apache/tomcat/tomcat-9/v9.0.97/bin/apache-tomcat-9.0.97.tar.gz

 解压Tomcat服务器到/opt/目录下

tar -xzf apache-tomcat-9.0.97.tar.gz -C /opt/

启动tomcat

cd /opt/apache-tomcat-9.0.97/bin
./startup.sh

查看他是否启动

ps -ef | grep tomcat

添加防火墙配置, 运行tomcat请求正常访问

阿里云服务器允许tomcat的8080端口。在安全组中设置

更新tomcat的webapp目录前,务必要停止tomcat

cd /opt/apache-tomcat-9.0.97/bin
./shutdown.sh

6.博客系统部署至Tomcat

将资料中提供的项目包, 上传到tomcat的webapps目录下【注意:提前停止掉Tomcat执行

删除 webapps目录下的ROOT

rm -rf ROOT/

将资料中的ROOT.war上传到webapps目录下

启动Tomcat服务器

cd /opt/apache-tomcat-9.0.97/bin
./startup.sh

访问tomcat:

前台服务: http://tomcat服务器的IP地址:8080

自行注册账号。发表博客文章。

可以尝试登录管理员账号,访问后台管理页面:

用户名:superadmin@developers.pub
密码:admin123456
  • 后台服务: http://tomcat服务器的IP地址:8080/admin

监控Tomcat日志服务:

tomcat日志位置: tomcat安装目录/logs

进入到目录下面,看日志,

实时查看catalina.out日志的最后10行

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐