部署Springboot+vue项目version01

本文详细介绍了如何在Linux服务器上部署Springboot+Vue项目,包括安装JDK、卸载原有JDK、配置MySQL、Redis和Nginx,以及启动和管理这些服务的过程。还涉及到了防火墙设置和安全组管理,确保项目顺利运行并对外访问。
摘要由CSDN通过智能技术生成

部署Springboot+vue项目version01

ps:某些会用到的指令:

创建文件夹 ---- mkdir 文件名

编辑文件 ---- vi/vim 文件名

强制退出编辑文件(不保存)---- :q!

保存并强制退出编辑文件 ---- :wq!

查看当前所在文件夹路径 ---- pwd

赋权 ---- chmod +x 文件名

删除单个文件:rm 文件路径/文件名
删除多个文件:rm 文件 1 文件 2 文件 3
删除目录及其中的所有内容:rm -r 目录路径/目录名

解压文件:
.tar.gz 后缀:tar -zxvf /路径/文件名 -C /usr/local/

.tar.xz 后缀:tar -Jxvf /路径/文件名 -C /usr/local/

.tar 后缀:tar -xvf /路径/文件名 -C /usr/local/

ai生成的一个部署项目的流程图(可做参考):
在这里插入图片描述

一、安装 JDK

1、卸载 CentOS 自带的 OpenJDK,可以通过命令查看。
rpm -qa | grep jdk
2、通过命令删除已安装的jdk。
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64
3、查看是否删除成功。
ll(查看文件夹中的文件)
4、在 /usr/local 目录下新建 java 文件夹,并进入
cd /usr/local
mkdir java
cd java
5、打开 Xftp,将 JDK 安装文件拷贝到 java 目录。

在这里插入图片描述

6、使用命令进行安装、与配置
# 解压 mysql 压缩包
tar -zxvf /tmp/jdk-8u371-linux-x64.tar.gz -C /usr/local/
# 对解压后的文件重命名(输入解压后的 jdk 文件夹名,可以点击 tab 键补全内容)
mv /usr/local/jdk1.8.0_371 /usr/local/java
# 编辑 mysql 的配置文件
vi /etc/profile

# 配置环境变量,与 windows 系统类似,也可以使用下面配置环境变量的版本
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH

# 使配置的环境变量生效
source /etc/profile

# 验证
java -version
7、配置环境变量(可选)

按 i 进行输入,复制如下内容

vim /etc/profile

按 i 进入编辑模式,按 Esc 退出编辑模式,输入 :wq,回车退出保存。输入 :q,回车直接退出

JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
8、使配置的环境变量生效(可选)
source /etc/profile
9、检查安装是否成功(可选)
java -version

二、安装 MySQL

查看 mysql 状态

rpm -qa | grep mysql

1、卸载 maridb 数据库

linux系统会自动携带一个数据库 maridb,我们需要把他给卸载掉,通过以下命令可以查看 maridb 数据库并卸载

rpm -qa | grep mariadb
yum remove -y mariadb-connector-c-3.1.11-2.oc8.1.x86_64
yum remove -y mariadb-connector-c-config-3.1.11-2.oc8.1.noarch
2、上传 mysql 的 .tar.gz 压缩包

可以直接使用 Xftp 将 mysql 压缩包上传到服务器的 /tmp 文件夹中

3、解压并安装 mysql
# 创建 /data/mysql 文件夹
mkdir /data/mysql
# 解压 mysql 安装包到 /usr/local 文件夹(需加 -C)
tar -zxvf /tmp/mysql-5.7.42-el7-x86_64.tar.gz -C /usr/local
# 修改解压后的文件名
mv /usr/local/mysql-5.7.42-el7-x86_64 /usr/local/mysql

# 添加用户组
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /data/mysql

#  将mysql加入到服务中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

# 进入 /usr/local/mysql 文件夹
cd /usr/local/mysql
# 初始化 mysql
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql --initialize


# mysql快捷方式(软链接)
ln -s  /usr/local/mysql/bin/mysql /usr/bin
ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5
ps:添加软链接时,若添加软链接失败,可先尝试直接继续后面的操作,建议先尝试后续操作,若无法继续,则可选择在Xftp中找到并删掉这两个文件libtinfo.so.5,libncurses.so.5,然后通过yum -y install 文件名 下载这两个文件,然后做软链接

初始化成功后会出现一个临时密码,需复制下来备用

在这里插入图片描述

4、配置 mysql 配置文件 my.cnf(文件路径为:/etc/my.cnf)
# 编辑配置文件
vim /etc/my.cnf

[mysqld]
datadir=/data/mysql
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证
# skip-grant-tables
# # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
5、启动 mysql
cd /usr/local/mysql

service mysql start
6、设置 mysql 开机启动等
chkconfig mysql on
登录 mysql:mysql -u root -p
输入刚才记录的 mysql 的临时密码,进入 mysql

修改密码并设置权限(此状态时命令行输入状态,因此在结束一条命令时需加分号(;))
SET PASSWORD = PASSWORD('123456');

use mysql;
update user set host ='%'where user ='root' and host ='localhost';
flush privileges;
exit;
7、使用 Navicat 连接 mysql

ps:若想使用本地 navicat 连接远程服务器的 mysql,需在云服务器中添加3306端口的安全组

在这里插入图片描述

ps:连接上远程服务器的 mysql 之后,可建立对应的数据库表,并将数据库表复制进去

三、安装 redis

1、上传 redis 的 .tar.gz 安装包

可以直接使用 Xftp 将 redis 压缩包上传到服务器的 /tmp 文件夹中

2、解压 redis-7.0.15.tar.gz 压缩包
解压:
tar -xzf /tmp/redis-7.0.15.tar.gz -C /usr/local
重命名:
mv /usr/local/redis-7.0.15 /usr/local/redis
3、安装 redis 依赖

redis 是基于 C 语言编写的,因此首先需要安装 redis 所需要的 gcc 依赖:

yum install -y gcc tcl
4、运行编译命令
cd /usr/local/redis

make && make install
5、启动 redis
# 进入redis安装目录 
cd /usr/local/redis/src
# 启动
./redis-server ../redis.conf
# 查看是否启动成功
ps -ef | grep redis

# 杀死redis进程
kill -9 进程号
6、配置 redis
6.1 注释掉bind 127.0.0.1

ps:否则只有此IP能访问
在这里插入图片描述

6.2 将保护模式改为no

ps:否则无法远程连接
在这里插入图片描述

6.3 开启守护进程 daemonize yes

ps:需开启
在这里插入图片描述

6.4 重启 redis 服务
/usr/local/src/redis-server /usr/local/redis.conf

ps:若还是无法远程连接,可以先在linux系统上设置一个密码,然后再进行远程连接,若此处开启密码,在后端项目有关 redis 的配置中需加上密码

在服务启动后,在云服务器中连接redis
redis-cli

设置密码:
set requirepass 密码

使用命令查看设置的密码:
get requirepass

退出 redis 窗口
exit 按enter
若设置了密码,需先登录:
auth 密码
7、远程连接 redis

ps:需先添加云服务器的安全组,端口号为6379
在这里插入图片描述

四、安装 nginx,反向代理

1、安装库文件
#安装gcc
yum install gcc-c++

#安装PCRE pcre-devel
yum install -y pcre pcre-devel

#安装zlib
yum install -y zlib zlib-devel

#安装Open SSL
yum install -y openssl openssl-devel
2、解压、编译 nginx 并安装
mkdir /usr/local/nginx
tar -zxvf /tmp/nginx-1.24.0.tar.gz -C /usr/local/nginx

cd /usr/local/nginx/nginx-1.24.0
# 编译安装
./configure --with-http_stub_status_module --with-http_ssl_module
make && make install

成功:
在这里插入图片描述

3、nginx 命令
cd /usr/local/nginx/sbin
./nginx     # 启动

ps -ef | grep nginx  # 查看
./nginx -s stop      # 停止
./nginx -s reload    # 重启

ps -ef | grep nginx 查看 nginx 启动成功

在这里插入图片描述

访问:http://个人的公网ip/

ps:nginx 的初始页面

在这里插入图片描述

4、配置 nginx
server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
    	# 此处为前端项目 dist 所在目录
        root   /home/server/honey2024/vue/dist;
        # 此处为 dist 中的 index.html,通过 nginx 进入网站默认打开的地方
        index  index.html index.htm;
        # 一定要添加
        try_files $uri $uri/ /index.html;
    }
}
配置文件修改之后需重启 nginx,执行以下命令
cd /usr/local/nginx/sbin
./nginx -s reload

五、打包上传项目

ps:此处项目使用的是springboot+vue前后端框架,而前端vue项目除了可通过 nginx 反向代理进行部署外,还可以通过 tomcat 部署,也可通过 springboot 部署(打包在 springboot jar 包中)

1、修改前端项目请求路径

修改前端 vue 项目,axios 请求的 baseURL,以及各种会和后台信息交互的路径,如上传图片,打开管理员登录页面等

打开管理员登录的页面:

window.open(‘http://*******/managerLogin’)

打包命令:

npm run build

ps:会打包成一个 dist 文件夹

2、修改后端项目配置文件

1、使用 prod 生产环境,将 dev 配置文件 粘贴复制到 prod 配置文件中进行修改

2、修改连接数据库的 ip,改为服务器的公网 ip,若数据库密码与本地数据库密码不一致,需修改密码

3、redis 的 ip 也许修改,若 redis 设置了密码需在 prod 配置文件中加上

4、修改日志文件的输出位置,若不修改,在运行 jar 包后,会直接在 jar 包所在文件夹创建对应路径的文件夹,存储日志输出文件

5、修改配置文件中静态资源映射路径(可直接在jar包所在文件夹建个文件夹存储图片),以及上传图片方法中生产的映射路径 http://ip:port/**

打包项目

方式一、直接在 idea 中打包,点击 maven 的 clean,然后再点击 package,会出现一个 target 目录,*.jar 即是我们所求

方式二、找到项目所在路径,打开 cmd 窗口,或是打开 cmd 窗口后进入项目所在路径,然后运行

mvn clean install -Dmaven.test.skip=true

跳过测试打包项目

3、上传打包好的文件
创建文件夹存放打包好的项目 *.jar 和 dist 文件夹
mkdir /home/server/ljj2024/java
mkdir /home/server/ljj2024/vue

在上传完打包后的文件之后,需给后端项目的 jar 包或配置文件赋权,否者无法运行

chmod +x 文件名

4、启动 *.jar 包

可以将配置文件 application.yml 文件上传到 jar 包所在同级目录,用于覆盖 jar 包中的配置文件

4.1 创建 start.sh 启动脚本

NAME=项目名.jar
nohup java -jar $NAME > server.log 2>&1 &
echo 'start success'

之后启动项目,只需进入/home/server/ljj2024/java目录输入:

./start.sh

即可启动java项目,原本控制台输出的文件在 server.log 文件里面

可使用 tail -100f server.log 查看(需在/home/server/ljj2024/java目录),ctrl+z 退出查看

4.2 创建 stop.sh 停止脚本

PORT=端口号(后端项目的)
pid=`netstat -tnlp | grep $PORT | grep -v grep | awk '{print $7}' | awk -F/ '{print $1}'`
if [ ${pid} ]; then
    kill -9 $pid
    echo "kill $PORT"
else
    echo 'stop sucess!'
fi

之后启动项目,只需进入/home/server/ljj2024/java目录输入:

./stop.sh

即可停止java项目,若修改了后端项目,启动项目前,最后使用 ./stop.sh 停止已运行的项目

end: 安装 Tomcat(可选择不装,完全不影响,看选择何种方式部署 vue)

1、在 /usr/local 目录下新建 tomcat 文件夹,并进入。
cd /usr/local
mkdir tomcat
cd tomcat
2、打开 Xftp,将 Tomcat 压缩文件拷贝到 tomcat 目录。
3、解压缩。
tar -zxvf apache-tomcat-9.0.85.tar.gz

# 添加用户组

创建有一个用户组:mysql5

groupadd mysql 5

创建一个系统用户:mysql5,指定用户组mysql5

useradd -r -g mysql5 mysql5

chown -R mysql5.mysql5 /usr/local/mysql/mysql5

mkdir -p /data/mysql5

chown -R mysql5.mysql5 /data/mysql5/

cd /usr/local/mysql/mysql5

/usr/local/mysql/mysql5/bin/mysqld --user=mysql5 --basedir=/usr/local/mysql/mysql5/ --datadir=/data/mysql5 --initialize

将服务加入到服务中

cp /usr/local/mysql/mysql5/support-files/mysql.server /etc/init.d/mysql

templatePassword:

P:kr>)rGv5mh

rootroot

4、进入 /apache-tomcat-9.0.85/bin 路径启动 Tomcat。
./startup.sh

关闭 Tomcat

./shutdomn.sh

启动成功之后,可以在 CentOS 中直接访问。

但是在本地无法访问,这是因为 CentOS 没有开放 8080 端口导致的。

5、CentOS 开放 8080 端口。(这一步可直接在阿里云服务器安全组中操作)
5.1、查看防火墙状态
firewall-cmd --state

runing 表示开启,not runing 表示关闭,如果关闭,执行

systemctl start firewalld.service
5.2、开启 8080 端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
5.3、输入命令重启防火墙
systemctl restart firewalld.service
5.4、输入命令重新载入配置
firewall-cmd --reload
5.5、打开浏览器,访问成功。

cat-9.0.85/bin 路径启动 Tomcat。

./startup.sh

关闭 Tomcat

./shutdomn.sh

启动成功之后,可以在 CentOS 中直接访问。

但是在本地无法访问,这是因为 CentOS 没有开放 8080 端口导致的。

5、CentOS 开放 8080 端口。(这一步可直接在阿里云服务器安全组中操作)
5.1、查看防火墙状态
firewall-cmd --state

runing 表示开启,not runing 表示关闭,如果关闭,执行

systemctl start firewalld.service
5.2、开启 8080 端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
5.3、输入命令重启防火墙
systemctl restart firewalld.service
5.4、输入命令重新载入配置
firewall-cmd --reload
5.5、打开浏览器,访问成功。
5.6、将打包之后的 war 拷贝到 Tomcat/webapps 下,启动访问即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值