离线安装部署springboot+vue系统到服务器

news2024/11/22 21:01:36

        注意:首先服务器会有多个网卡,这些服务器的网卡连接所需要的文件可能不是我们默认的ifcfg-eth0/ifcfg=ens33,可以试着切换一下服务器网线插入的接口,要保证服务器网线插入的接口和网卡对应的文件一致

        说明,在一些政府(保密性较强的企业)做项目部署时,操作环境可能非常的简陋原始,所以做了一个在无网络环境下裸机部署java环境。

        我们在这种环境下部署项目,需要提前将所需要的环境提前下载好,在下载java运行所需要的环境没有安装时,就手动解压,如果没有就百度搜索下在所需要的资源

目前按步骤来所需要的环境:

https://pan.baidu.com/s/1e5H52xoNc15jH0IJZD6S5w  

提取码:1111

一、安装操作系统

(一)安装CentOS

          1、选择DVD版本的centOS 7.9 配置的时候选上java环境、图形化界面等。创建一个普通用户账户

(二)配置网络也可以在下载的时候选择ipv4手动改配置

     1、ifconfig或者ip addr查看配置,看到当前的网卡

     2、手动设置静态IP,命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33

     3、设置参数

        BOOTPROTO=static 

        IPADDR=192.168.252.18

        NETMASK=255.255.255.0

        GATEWAY=192.168.252.1

        DNS1=8.8.8.8

        DNS2=8.8.4.4

   4、重启网络

systemctl restart network

需要通过ping命令查看windows是否已经可以互相通信

二、安装依赖环境

 (一)挂载U盘或者光盘

         1、使用fdisk -l命令查看所有的硬件磁盘,通过观察设备的大小来确定哪一个是U盘。

         2、创建挂载点

             mkdir /media/usb

             mount -t ntfs  /dev/sdb1 /media/usb    其中sdb1是fdisk找到的硬盘。

             umount /media/usb

  • 把U盘里的文件全部拷贝到本地磁盘

  1、安装Java

   由于在安装系统时选择了java,不需要重新安装,

   如果没有在下载centos时安装javau环境、按下列方法操作

  下载地址 

   链接: https://pan.baidu.com/s/1uLWJcouVlNUCu6EM_obKzA?pwd=vbi1 提取码: vbi1

   解压 命令: unzip jdk8.zip

   配置环境变量

  1:进入jdk解压文件目录,使用 pwd 复制路径备用

  2:  修改配置文件 ,使用命令 vi /etc/profile 命令编辑

  3:粘贴下面内容到末行

  #set java environment

 JAVA_HOME=/usr/local/jdk1.8.0_40

 JRE_HOME=/usr/local/jdk1.8.0_40/jre

 CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

 PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

 export JAVA_HOME JRE_HOME CLASS_PATH PATH

   4:保存文件退出

   5:刷新配置 命令:source /etc/profile

   检查 使用 java -version 命令,看到下图显示版本号表示Java安装成功

2、安装mysql

安装mysql依赖包命令libaio(可不操作

一般为系统自带,验证的命令为

rpm -qa | grep libaio

如果有返回信息,说明完成了安装

删除mariadb (可不操作)

同时要删除系统自带的mariadb数据库,首先看下是否安装

rpm -qa | grep mariadb

如果有返回值,那么使用以下命令删除

yum remove mariadb mariadb-server mariadb-lib

再使用命令看是否删除干净。

安装gcc

为安装redis作准备,需要安装gcc

先查看是否已经安装 gcc -v  返回信息则已经安装(该版本中自带)

安装pcre  zlib   opensslnginx的下载所需环境,如果下载失败,在nginx下载模块做了详细的解决办法

系统里面已经安装了上述组件。

查询的命令为 rpm -qa | grep ***

但是pcre-devel  zlib-devel  openssl-devel没有

指令是这样的:

yum localinstall pcre***  pcre-devel****

没有的会安装,有了的会更新

 一般都可以自己完成安装,

但是openssl有问题,需要把依赖包一个个地安装

顺序:libcom_err, libsepol,keyutils-libs,libselinux-devel,libverto-devel.

有一个命令可以下载所有依赖包,repotrack

repotrack gcc

下载的包全部放在当前目录下

这里面确实存在的密钥的问题

如果还是装不上,那么直接安装nginx的rpm版本。

安装MySQL

cd到mysql的文件目录,解压缩

tar -zxvf mysql-8.0.21-el7-x86_64.tar.gz

简化目录

mv mysql-8.0.21-el7-x86_64 mysql

#文件移动到/usr/local目录下:

mv /root/mysql/  /usr/local/

#进入mysql目录,新建存放数据的文件夹

mkdir data

#mysql安装目录赋予权限 命令:

chmod -R 777 /usr/local/mysql/

#mysql配置文件 命令:

vi /etc/my.cnf

[mysqld]

# 设置3306端口

port=3306

# 设置mysql的安装目录

basedir=/usr/local/mysql

# 设置mysql数据库的数据的存放目录

datadir=/usr/local/mysql/data

# 允许最大连接数

max_connections=10000

# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统

max_connect_errors=10

# 服务端使用的字符集默认为UTF8

character-set-server=UTF8MB4

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

# 默认使用“mysql_native_password”插件认证

default_authentication_plugin=mysql_native_password

lower_case_table_names=1

进入mysql安装目录,执行安装(一定要用“exit”指令,切换到普通用户状态)

cd /usr/local/mysql/bin/

安装mysql,并记住初始化随机密码

./mysqld --initialize --console

启动mysql服务,进入mysql.server服务目录下并启动服务

cd /usr/local/mysql/support-files

./mysql.server start

遇到的问题:(一般为权限问题:没有log-err和suicer.pid)

如果 PID 文件不存在,创建一个空的文件

sudo touch /usr/local/mysql/data/suicer.pid

更改权限

sudo chown mysql:mysql /usr/local/mysql/data/suicer.pid

sudo chmod 660 /usr/local/mysql/data/suicer.pid

如果出现 chown: invalid user: ‘mysql:mysql’ 错误,说明mysql用户不存在,执行以下命令

操作完再执行更改权限命令

groupadd mysql

useradd -r -g mysql mysql

确保 /usr/local/mysql/data/ 目录对 mysql 用户可写

sudo chown -R mysql:mysql /usr/local/mysql/data/

sudo chmod -R 770 /usr/local/mysql/data/

尝试重新启动 MySQL 服务( ./mysql.server start)

登陆数据库,创建数据库

cd /usr/local/mysql/bin

./mysql -u root -p  

按照提示输入随机密码

修改密码

ALTER USER root@localhost IDENTIFIED BY 'danmo';(注意后面要加分号)

构建数据库

CREATE DATABASE wms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;(提示错误的话,就不要分号)

退出mysql

/\q

若提示host@suicer问题

# 选择mysql数据库

use mysql;

# 修改host项

update user set host='%' where user='root';

# 查看修改后的项

select host,user from user;

3、安装Redis

1、进入redis目录

2、把redis解压到 /usr/local下

tar -zxvf redis-6.2.14.tar.gz -C /usr/local

3、编译

cd /usr/local/redis-6.2.14

make

4、执行安装

make install

5、修改配置文件

先将配置文件copy到启动项下,修改配置

cp /usr/local/redis-6.2.14/redis.conf /usr/local/bin

cd /usr/local/bin

vim redis.conf

打开文件后,输入 / daemonized  回车查找了,按n表示下一个匹配字符

把daemonized  改为 yes

再输入/ requirepass 回车,按n下一个匹配

requirepass danmo  (注意前面的#去掉,‘danmo’这是redis的密码)

隐藏:bing 127.0.0.1 如下

将protected-mode yes中yes改为no

6、启动服务

./redis-server redis.conf

7、验证服务

redis-cli ping          

会收到授权错误的信息

# 杀掉redis进程

ps -ef |grep redis

kill -7 2822

# 启动redis

redis-server yredis/redis-conf

4、安装Nginx

需要安装各种环境(pcre,gcc,g++,zlib等)

Pcre

解压 tar -zxvf pcre-8.39.tar.gz

进入解压目录 cd/home/skytech/component/nginx/pcre-8.39

系统配置 ./configure

配置时遇到错误(共享库的问题),如下图所示:

重新配置命令:./configure --disable-shared --with-pic

编译 sudo make

安装 sudo make install

Gcc

cd ../gcc-c++/ rpm -ivh *.rpm --nodeps --force    

tar -zxvf perl-5.28.0.tar.gz

进入解压目录 cd/home/skytech/component/nginx/perl-5.28.0

配置 ./Configure -des -Dprefix=$HOME/localperl

编译 make

测试 make test

安装 make install

zlib

解压 tar -zxvf zlib-1.2.11.tar.gz

进入解压目录 cd/home/skytech/component/nginx/zlib-1.2.11

配置 ./configure

编译 sudo make

安装 sudo make install

openssl

解压 tar openssl-fips-2.0.16.tar.gz

进入解压目录 cd/home/skytech/component/nginx/openssl-fips-2.0.16

配置 ./config

编译 sudo make

安装 sudo make install

Make

下载 http://ftp.gnu.org/gnu/make/ make-3.81.tar.gz

解压 tar xf make-3.81.tar.gz

进入解压目录 cd /home/skytech/make-3.81

系统配置 ./configure --prefix=/usr/local/make-3.81

编译命令 make

安装命令 sudo make install

成功后切换目录 cd /usr/local/make-3.81

查看版本信息 bin/make --version

Nginx下载

1、进入nginx下载文件目录,执行解压缩,放到/usr/local/下

 tar -zvxf nginx-1.26.1.tar.gz -C /usr/local/

2、进入/usr/local/nginx-1.20.2/  执行编译安装操作

./configure                  

make

make install

3、启动nginx

找到Nginx安装目录, 执行sbin目录下的nginx文件启动nginx

/usr/local/nginx/sbin/nginx

4、验证是否启动成功

curl 127.0.0.1:80   

5、关闭防火墙 保证其他电脑的访问

firewall-cmd --zone=public --add-port=80/tcp --permanent

systemctl reload firewalld

另一种是安装nginx的rpm版本

yum localinstall /home/danmo/DM-WMS/software/nginx-1.26.1-1.el7.ngx.x86_64.rpm

三、安装仓库管理系统

1、安装后台系统

  1、  进入文件下载目录,解压缩danmo-server.zip

     unzip danmo-server.zip

   2、把文件夹移动到/usr/local下

          mv danmo-server /usr/local/

  3、进入danmo-server 修改启动配置

         vi start.sh

       注意,这里要把JAVA_HOME改成当前系统的Java路径

       需要找到java的安装路,使用命令

           readlink -f $(which java)

           得到例如:

           /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/jre/bin/java

           这样的字符串,JAVA_HOME的值应该为到bin的前面,如上案例,应该为

           /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/jre

 4、创建日志目录

        mkdir logs

5、修改配置文件       

   vi application-druid.yml

    数据redis缓存地址,端口,密码

spring:

      # redis 配置

    redis:

      # 地址,需调整为服务地址

      host: 127.0.0.1

      # 端口,默认为6379

      port: 6379

      # 数据库索引

      database: 0

      # 密码

      password: danmo



     数据库连接 ,账号,密码等配置

spring:

    datasource:

        type: com.alibaba.druid.pool.DruidDataSource

        driverClassName: com.mysql.cj.jdbc.Driver

        druid:

            # 主库数据源

            master:

                url: jdbc:mysql://192.168.1.210:3306/wms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8

                #账号

                username: root

#密码

                password: danmo

 6、导入执行wms.sql脚本

先把wms.sql移动到 /usr/local/mysql/bin

cd /usr/local/mysql/bin

./mysql -u username -p database_name < script.sql

其中:

username 是你的MySQL用户名。

database_name 是你想要执行脚本的数据库名。

script.sql 是包含SQL命令的文件路径。

示例:./mysql -u root -p wms < wms.sql

7、启动应用

   ./start.sh

    如果提示没有权限,就要执行

    chmod +x *.sh

8、查看日志

     tail -500f danmo-admin.log

(二)安装客户端

1、进入danmo-admin目录,解压缩

    unzip danmo-admin.zip

2、移动到 /usr/local

    mv danmo-admin /usr/local

3、将danmo-server里面带的nginx.conf拷贝到/usr/local/nginx/conf

     mv nginx.conf /usr/local/nginx/conf

4、到nginx目录里,修改配置文件

   vi /usr/local/nginx/conf/nginx.conf

   里面的ip地址修改为服务器地址,或者127.0.0.1

   修改admin存放的路径

location /danmo-admin {

      alias /usr/local/danmo-admin/;    这一行要修改,改成danmo-admin存放的路径

      #index index.html index.htm;

      #post请求静态资源页面导致405问题。允许post请求静态资源页面

      error_page  405     =200 $uri;

      try_files $uri $uri/ /danmo-admin/index.html;

}

如果是用nginx rpm安装的, 用命令找到nginx的运行程序和配置文件

       whereis nginx

       修改nginx配置文件,和上述一样。

5、重新加载配置,启动nginx(cd /usr/local/nginx/sbin)

          ./nginx -s reload

6、客户端访问

         浏览器访问 http://服务器ip/danmo-admin/index   

         示例:http://192.168.252.18/danmo-admin/index

 扩展:

安装字体

#进入字体文件夹

rpm -ivh fontconfig-2.13.0-4.3.el7.x86_64.rpm --nodeps --force

rpm -ivh ttmkfdir-3.0.9-42.el7.x86_64.rpm --nodeps --force

#执行ttmkfdir命令

ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir

#上传字体到chinese(需要新建chinese)

mkdir -p /usr/share/fonts/chinese

#添加文件夹权限

chmod -R 755 /usr/share/fonts/chinese

#编辑配置文件  增加字体文件路径

vim /etc/fonts/fonts.conf

#添加我的路径

<dir>/usr/share/fonts/chinese</dir>

#刷新内存中的字体缓存

fc-cache

#查看字体列表

fc-list

拓展:ES

# 假设你已经将rpm包拷贝到了/path/to/rpms目录下

cd /path/to/rpms

# 安装Elasticsearch

sudo rpm -ivh elasticsearch-7.x.y.rpm

#开放端口

firewall-cmd --zone=public --add-port=9200/tcp --permanent

#确保es启动

sudo systemctl start elasticsearch

      

           

    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2036642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

lvs的相关应用2

lvs 安装lvs 配置规则&#xff0c;查看所有的规则&#xff0c;如果已经配置好规则&#xff0c;重启之后就没了 [rootds01 ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forwa…

react的setState中为什么不能用++?

背景&#xff1a; 在使用react的过程中产生了一些困惑&#xff0c;handleClick函数的功能是记录点击次数&#xff0c;handleClick函数被绑定到按钮中&#xff0c;每点击一次将通过this.state.counter将累计的点击次数显示在页面上 困惑&#xff1a; 为什么不能直接写prevStat…

为什么要学习AI大模型?

AI大模型正在以惊人的速度改变着各行各业。正如移动互联网时代造就了无数成功的开发者&#xff0c;今天的大模型技术也为我们带来了前所未有的机遇。学习和掌握这项技术&#xff0c;不仅能让你站在行业前沿&#xff0c;还能为你的职业生涯带来巨大的回报。 01 企业为什么需要…

Linux shell编程学习笔记70: curl 命令行网络数据传输工具 选项数量雷人(下)

0 前言 curl是一款综合性网络传输工具&#xff0c;既可以上传也可以下载&#xff0c;支持HTTP、HTTPS、FTP等30余种常见协‍议。 Linux和Windows都提供了curl命令。 D:\>curl --help Usage: curl [options...] <url>-d, --data <data> HTTP POST da…

sql实战

这里写自定义目录标题 sql实战cmseasy daiqile全局污染 RCE限制16字符传入参数限制传入字符7个限制35字符&#xff0c;并过滤所有英文数字 sql实战 cmseasy 1、/lib/admin/admin.php和/lib/admin/tool/front_class.php源代码中发现&#xff0c;可以伪造IP并且传入ishtml1&…

Leetcode JAVA刷刷站(26)删除有序数组中的重复项

一、题目概述 二、思路方向 为了原地删除重复出现的元素&#xff0c;并保持元素的相对顺序一致&#xff0c;我们可以使用双指针的方法来解决这个问题。这种方法通常被称为“快慢指针”法。在这个问题中&#xff0c;快指针&#xff08;fast&#xff09;用于遍历数组&#xff0…

计算机的错误计算(六十一)

摘要 解释计算机的错误计算&#xff08;六十&#xff09;中的错误计算原因。 计算机的错误计算&#xff08;六十&#xff09;中的计算可以归纳为 因此&#xff0c;我们只需要分析该算式。 例1. 已知 分析如何计算 首先&#xff0c;一个数乘以一个2&#xff0c;一般不会…

[Megagon Labs] Annotating Columns with Pre-trained Language Models

Annotating Columns with Pre-trained Language Models 任务定义 输入&#xff1a;一张数据表&#xff0c;但没有表头&#xff0c;只有表中的数据。 输出&#xff1a;每一列数据的数据类型&#xff0c;以及两列数据之间的关系。 数据类型和数据关系都是由训练数据决定的固定…

docker部署Prometheus、Grafana

docker部署Prometheus 1、 拉取prometheus镜像 docler pull prom/prometheus 遇到问题&#xff1a;注意下科学上网。 2、将prometheus配置文件放在外面管理 prometheus.yml global:scrape_interval: 15sevaluation_interval: 15salerting:alertmanagers:- static_configs:-…

聚合平台项目之数据抓取

首先先记录一下我自己对这个数据抓取的一些心得&#xff1a; 数据抓取也就是常说的爬虫。 在我没真正去做的时候&#xff0c;我还想爬虫好高大上。 现在学完之后也就怯魅了 其实本质就是在自己的代码中模拟浏览器给后端发请求&#xff0c;后端收到响应之后&#xff0c;返回…

Redis知识进阶-私人定制组

Redis 目录 RedisRedis 简介关键特征Redis不同操作系统安装在Linux上的安装&#xff1a;在macOS上的安装&#xff1a;在Windows上的安装&#xff1a; Redis 数据结构及特点常用5种及示例&#xff1a;其他结构 主要功能总结 Redis 简介 Redis是一个开源的高性能键值对数据库&am…

酶促4+2和2+2环加成反应(有机合成与生物合成)-文献精读38

酶促42和22环加成反应&#xff1a;区域与立体选择性的理解与应用 01 有机合成 类似有机化学&#xff1a;狄尔斯–阿尔德反应 狄尔斯–阿尔德反应是[42]环加成反应中最具代表的&#xff0c;由共轭双烯与亲双烯体构建环己烯骨架的经典反应。反应有良好的立体、位置选择性。 该…

3.类和对象(中)

1. 类的默认成员函数 默认成员函数就是用户没有显式实现&#xff0c;编译器会自动生成的成员函数称为默认成员函数&#xff08;就是我们不写&#xff0c;编译器会默认生成一份&#xff09;。一个类&#xff0c;我们不写的情况下编译器会默认生成以下6个默认成员函数&#xff0…

江协科技STM32学习笔记(第09章 I2C通信)

第09章 I2C通信 9.1 I2C通信协议 9.1.1 I2C通信 串口通信没有时钟线的异步全双工的协议。 案例&#xff1a;通信协议设计&#xff1a; 某个公司开发了一款芯片&#xff0c;可以干很多事情,比如AD转换、温湿度测量、姿态测量等等。这个芯片里的众多外设也是通过读写寄存器来…

InCDE论文翻译

InCDE论文翻译 Towards Continual Knowledge Graph Embedding via Incremental Distillation 通过增量蒸馏实现持续知识图嵌入 Abstract 传统的知识图嵌入(KGE)方法通常需要在新知识出现时保留整个知识图(KG)&#xff0c;这会带来巨大的训练成本。为了解决这个问题&#xf…

掌握网络数据的钥匙:Python Requests-HTML库深度解析

文章目录 掌握网络数据的钥匙&#xff1a;Python Requests-HTML库深度解析背景&#xff1a;为何选择Requests-HTML&#xff1f;什么是Requests-HTML&#xff1f;如何安装Requests-HTML&#xff1f;5个简单库函数的使用方法3个场景下库的使用示例常见Bug及解决方案总结 掌握网络…

[C++][opencv]基于opencv实现photoshop算法可选颜色调整

【测试环境】 vs2019 opencv4.8.0 【效果演示】 【核心实现代码】 SelectiveColor.hpp #ifndef OPENCV2_PS_SELECTIVECOLOR_HPP_ #define OPENCV2_PS_SELECTIVECOLOR_HPP_#include "opencv2/core.hpp" #include "opencv2/imgproc.hpp" #include "…

笔记:在WPF中OverridesDefaultStyle属性如何使用

一、目的&#xff1a;介绍下在WPF中OverridesDefaultStyle属性如何使用 OverridesDefaultStyle 属性在 WPF 中用于控制控件是否使用默认的主题样式。将其设置为 True 时&#xff0c;控件将不会应用默认的主题样式&#xff0c;而是完全依赖于你在 Style 中定义的样式。以下是如何…

代码随想录算法训练营day39||动态规划07:多重背包+打家劫舍

多重背包理论 描述&#xff1a; 有N种物品和一个容量为V 的背包。 第i种物品最多有Mi件可用&#xff0c;每件耗费的空间是Ci &#xff0c;价值是Wi 。 求解将哪些物品装入背包可使这些物品的耗费的空间 总和不超过背包容量&#xff0c;且价值总和最大。 本质&#xff1a; …

图论------迪杰斯特拉(Dijkstra)算法求单源最短路径。

编程要求 在图的应用中&#xff0c;有一个很重要的需求&#xff1a;我们需要知道从某一个点开始&#xff0c;到其他所有点的最短路径。这其中&#xff0c;Dijkstra 算法是典型的最短路径算法。 本关的编程任务是补全右侧代码片段中 Begin 至 End 中间的代码&#xff0c;实现 …