• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    服务器Centos部署Spring boot 前后端项目的详细步骤

    发布者: 涵韵3588 | 发布时间: 2025-8-16 07:08| 查看数: 91| 评论数: 0|帖子模式

    使用centos部署前后端项目,使用的是centos 8,后端用的是Spring,前端用的是Vue,使用下面的步骤进行部署:

    - 安装MySQL
    1. 这一步有多种方式进行安装,可以使用包管理器,可以使用安装包解压缩进行安装,但是最终都需要使用对配置文件进行配置,我建议大家可是尝试下面的MySQL脚本就行安装,只需要在里面改动值就可以。
    复制代码

      1. vi InstallMySQL.sh
      复制代码
    • 创建bash文件,填入下面的内容
    1. #!/bin/bash
    2. # https://blog.csdn.net/qq_41054313
    3. #数据库密码
    4. mysqlPWD="lhDream@123"
    5. echo "--MySQL5.7安装--"
    6. echo "下载依赖环境"
    7. yum -y install wget
    8. wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    9. echo "开始安装"
    10. yum -y install mysql57-community-release-el7-10.noarch.rpm
    11. yum -y install mysql-community-server
    12. echo "启动MySQL"
    13. systemctl start  mysqld.service
    14. systemctl status mysqld.service
    15. a=$(systemctl status mysqld.service | grep "active (running)" | wc -l)
    16. if [ $a -gt 0 ]
    17. then
    18.         echo "启动完成,状态正常"
    19.         #配置MySQL
    20.         echo "配置MySQL"
    21.         str=$(grep "password is generated for root@localhost:" /var/log/mysqld.log)
    22.         localPWD=${str##*"root@localhost: "}
    23.         echo "数据库默认密码:"$localPWD
    24.         export MYSQL_PWD=$localPWD
    25.         echo "重置数据库密码为:"$mysqlPWD
    26.         mysql --connect-expired-password -uroot  -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$mysqlPWD'"
    27.         echo "刷新权限"
    28.         export MYSQL_PWD=$mysqlPWD
    29.         mysql --connect-expired-password -uroot  -e "flush privileges"
    30.         echo "配置远程登录"
    31.         mysql --connect-expired-password -uroot  -e "grant all privileges on *.* to 'root'@'%' identified by '$mysqlPWD' with grant option"
    32.         echo "配置数据库编码"
    33.         echo "[client]" > /etc/my.cnf
    34.         echo "default-character-set=utf8" >> /etc/my.cnf
    35.         echo "" >> /etc/my.cnf
    36.         echo "[mysqld]" >> /etc/my.cnf
    37.         echo "datadir=/var/lib/mysql" >> /etc/my.cnf
    38.         echo "socket=/var/lib/mysql/mysql.sock" >> /etc/my.cnf
    39.         echo "character-set-server=utf8" >> /etc/my.cnf
    40.         echo "collation-server=utf8_general_ci" >> /etc/my.cnf
    41.         cat /etc/my.cnf
    42.         #重启MySQL查看配置结果
    43.         systemctl restart mysqld
    44.         systemctl status mysqld.service
    45.         mysql --connect-expired-password -uroot  -e "status"
    46.         echo "安装完成"
    47. else
    48.         echo "状态异常,安装失败"
    49. fi
    50. #rm -f mysql57-community-release-el7-10.noarch.rpm
    51. echo "exit"
    复制代码
    1. bash InstallMySQL.sh
    复制代码
    1. 运行脚本,查看安装进度
    复制代码
    安装Redis
    1. vi InstallRedis.sh
    复制代码
    1. #!/bin/bash
    2. # 安装版本
    3. redis_version="6.2.7"
    4. # 安装目录
    5. #redis_installDir="/opt/module/redis"
    6. redis_installDir="/opt/bigdata/redis"
    7. install_redis() {
    8.   local version=$1
    9.   local installDir=$2
    10.   local redisconf_file=$installDir/redis-$version/redis.conf
    11.   # 安装工具包
    12.   yum -y install epel-release gcc make tcl
    13.   # 下载地址
    14.   local downloadUrl="http://download.redis.io/releases/redis-$version.tar.gz"
    15.   if [ -z "$(command -v wget)" ]; then
    16.     yum -y install wget
    17.     if [ $? -eq 0 ]; then
    18.       echo "wget安装完成"
    19.     else
    20.       echo "wget安装失败,请检查"
    21.       exit 1
    22.     fi
    23.   fi
    24.   if [ ! -d "${installDir}" ]; then
    25.     mkdir -p "${installDir}"
    26.     if [ $? -eq 0 ]; then
    27.       echo "安装目录${installDir}已创建"
    28.     else
    29.       echo "请确保您有足够的权限来创建目录,请增加权限后再次执行"
    30.       exit 1
    31.     fi
    32.   fi
    33.   if [ ! -f "/tmp/redis-$version.tar.gz" ] ; then
    34.     wget "$downloadUrl" -P /tmp
    35.     if [ $? -eq 0 ]; then
    36.       echo "redis-$version.tar.gz下载成功"
    37.     else
    38.       echo "redis-$version.tar.gz下载失败,请重试或手动下载到/tmp目录下再次执行"
    39.       echo "下载地址:$downloadUrl"
    40.       exit 1
    41.     fi
    42.   else
    43.     echo "/tmp/redis-$version.tar.gz文件已存在"
    44.   fi
    45.   if [ -d "${installDir}/redis-$version" ]; then
    46.     echo "${installDir}/redis-$version 已存在,正在删除..."
    47.     rm -rf "${installDir}/redis-$version"
    48.   fi
    49.   tar -zxvf "/tmp/redis-$version.tar.gz" -C "${installDir}"
    50.   if [ $? -eq 0 ]; then
    51.     echo "redis-$version.tar.gz解压成功"
    52.   else
    53.     echo "redis-$version.tar.gz解压失败,请查看异常信息后重试"
    54.     exit 1
    55.   fi
    56.   # 编译和安装
    57.   cd ${installDir}/redis-$version
    58.   make && make install
    59.   sed -i "s|daemonize no|daemonize yes|" "$redisconf_file"
    60.   sed -i "s|bind 127.0.0.1 -::1|bind 127.0.0.1 -::1\nbind 0.0.0.0|" "$redisconf_file"
    61.   sed -i "s|# requirepass foobared|# requirepass foobared|" "$redisconf_file"
    62. #  sed -i "s|port 6379|port 6379|" "$redisconf_file"
    63. #  sed -i "s|# cluster-enabled yes|cluster-enabled yes|" "$redisconf_file"
    64. #  sed -i "s|# cluster-config-file nodes-6379.conf|cluster-config-file nodes.conf|" "$redisconf_file"
    65. #  sed -i "s|# cluster-node-timeout 15000|cluster-node-timeout 5000|" "$redisconf_file"
    66. #  sed -i "s|appendonly no|appendonly yes|" "$redisconf_file"
    67.   echo "redis 单机版下载、安装、配置完成"
    68.   echo "redis安装目录:${installDir}/redis-$version"
    69.   echo "单机版 进入 redis 交互界面命令:redis-cli -h $(ip addr | grep 'inet ' | awk '{print $2}'| tail -n 1 | grep -oP '\d+\.\d+\.\d+\.\d+') -p 6379"
    70.   echo "集群版 进入 redis 交互界面命令:redis-cli -h $(ip addr | grep 'inet ' | awk '{print $2}'| tail -n 1 | grep -oP '\d+\.\d+\.\d+\.\d+') -c -p 30001"
    71. #  mkdir -p "${installDir}/redis-$version/cluster-test"
    72. #  for cluster_dir in {7000..7005}
    73. #  do
    74. #    local create_dir="${installDir}/redis-$version/cluster-test/$cluster_dir"
    75. #    mkdir -p "$create_dir"
    76. #    cp "$redisconf_file" "$create_dir"
    77. #    sed -i "s|port 6379|port $cluster_dir|" "$create_dir/redis.conf"
    78. #    redis-server "$create_dir/redis.conf"
    79. #    echo "$cluster_dir 端口的redis启动成功"
    80. #  done
    81. #  local dir=${installDir}/redis-$version/utils/create-cluster
    82. #  sed -i "s|CLUSTER_HOST=127.0.0.1|CLUSTER_HOST=192.168.145.105|" "$dir/create-cluster"
    83. #  sed -i "s|PROTECTED_MODE=yes|PROTECTED_MODE=no|" "$dir/create-cluster"
    84. #  $dir/create-cluster start
    85. #  $dir/create-cluster create
    86. }
    87. install_redis "$redis_version" "$redis_installDir"
    88. exit 0
    复制代码
    增加执行权限
    1. chmod a+x /tmp/install_redis.sh
    复制代码
    运行当前的bash文件
    1. bash InstallRedis.sh
    复制代码
    1. 基本上后端需要这些工具
    复制代码
    配置后端项目 Maven项目直接通过 clean 和 package 就可以将项目进行打包
    -

    先点 clean,之后点package,后端项目就打包完成。之后package完成之后会生成一个target文件,target文件内估计生成一个xxxx.jar文件,这个jar文件就是打包的文件,如果在ide中没有看到这个target文件,可以去项目的本地文件夹中看一下。 将jar文件上传到服务器中
    这里可以使用任何带有ftp功能的客户端进行上传,Winscp,Xftp,Xterminal都可以,建议在上传之前创建一个项目文件夹,单独存放文件。
    上传之后运行jar文件
    1. java -jar xxx.jar -spring.profiles.active=dev
    复制代码
    jar后面的内容可以删除,主要是为了换一个环境进行启动java项目
    之后可以输入服务器的网址进行访问,可以一些返回的结果
    1. spring:  datasource:    driver-class-name: com.cj.mysql.jdbc.Driver    url: jdbc:mysql://192.168.198.149:3306/xxx?useSSL=false    username: root    password: xxxxx  redis:    host: 127.0.0.1    port: 6379#    password: 115474287Zxcczld  server:    port: 8080    servlet:      context-path: /api #设置路径前缀与前端一致,默认是/    database: 0    lettuce:      pool:        max-active: 10        max-idle: 10        min-idle: 1        time-between-eviction-runs: 10s
    复制代码
    前端配置 nginx安装配置
    1. nginx 配置同样也比较麻烦,我这边写了一个 一键安装的脚本,可以修改内容直接使用
    复制代码
    nginx一键安装

    前端项目打包 上传

    我们使用npm工具进行打包
    1. npm build
    复制代码
    在IDE打包之后会生成一个dist文件夹,将这个文件夹的内容和刚刚的方式一样上传到服务器中,可以和后端项目在同一个父文件夹中

    配置 nginx.conf文件

    找到nginx.conf文件,进行配置,主要需要配置的是server里面的内容,location的内容,location后面跟的内容是当前dist文件所在的目录,比如当前dist文件在 www下面,那么内容就是 /www/dist
    之后重启nginx服务
    1. sudo service nginx restart
    复制代码
    或者
    1. sudo systemctl restart nginx
    复制代码
    之后在浏览器中输入ip地址之后,就会显示前端的主页内容

    注意

    如果运行之后显示错误,返回错误页面,403 或者 404 可以去/var/log/nginx 中查看错误文件,是由于什么运行不能运行。
    如果你在CentOS操作系统下面运行Nginx服务出现权限方面的问题,有可能是SELinux(Security Enhanced Linux)在起作用。SELinux提供了一种机制来限制进程的权限,以此增强系统的安全性。
    临时禁用SElinux
    1.     sudo setenforce 0
    复制代码
    1.     sudo nano /etc/selinux/config
    复制代码
    修改如下内容:
    1.     # This file controls the state of SELinux on the system.
    2.     # SELINUX= can take one of these three values:
    3.     #     enforcing - SELinux security policy is enforced.
    4.     #     permissive - SELinux prints warnings instead of enforcing.
    5.     #     disabled - No SELinux policy is loaded.
    6.     SELINUX=disabled
    7.     # SELINUXTYPE= can take one of these two values:
    8.     #     targeted - Targeted processes are protected,
    9.     #     mls - Multi Level Security protection.
    10.     SELINUXTYPE=targeted
    复制代码
    重新运行
    相信这时候已经OK了!
    到此这篇关于服务器Centos部署Spring boot 前后端项目的文章就介绍到这了,更多相关Centos部署Spring boot项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表