项目部署Linux步骤

1、最小化安装centos7-环境准备

安装epel-release

安装epel-release,因为有些rpm包在官方库中找不到。前提是保证可以联网

yum install -y epel-release

修改IP

net-tools

  • net-tool:工具包集合,包含ifconfig等命令
yum install -y net-tools

vim

yum install -y vim

拖拽上传文件

yum -y install lrzsz

使用方法:

输入命令rz选择文件上传或直接拖拽文件。目前好像只能安装xshell使用。

jdk

卸载虚拟机自带的JDK

注意:如果你的虚拟机是最小化安装不需要执行这一步。

[root@hadoop100 ~]# rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps

  • rpm -qa:查询所安装的所有rpm软件包
  • grep -i:忽略大小写
  • xargs -n1:表示每次只传递一个参数
  • rpm -e –nodeps:强制卸载软件

安装

想办法将JDK安装包导入到虚拟机的/opt/software文件夹下面

解压JDK安装包到/opt/module目录下

tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

改名

mv jdk1.8.0_212/ jdk

配置JDK环境变量

(1)新建/etc/profile.d/my_env.sh文件

sudo vim /etc/profile.d/my_env.sh

添加如下内容,然后保存(:wq)退出

#JAVA_HOMEexport JAVA_HOME=/opt/module/jdkexport PATH=$PATH:$JAVA_HOME/bin

(2)让环境变量生效

source /etc/profile.d/my_env.sh

6)测试JDK是否安装成功

 java -version

如果能看到以下结果、则Java正常安装

java version "1.8.0_212"

防火墙

关闭防火墙,关闭防火墙开机自启

systemctl stop firewalld
systemctl disable firewalld.service

注意:在企业开发时,通常单个服务器的防火墙时关闭的。公司整体对外会设置非常安全的防火墙

2、项目环境安装

安装Docker

为了后续更方便的安装软件,先安装一个docker,可以一键拉取镜像,启动一个容器。

centos安装docker详细步骤-CSDN博客

安装kingbase

配置内核参数
为了避免在 KingbaseES 安装和使用过程中出现问题,您需要检查和设置内核参数。
编辑 /etc/sysctl.conf 文件,备份是/etc/sysctl.conf.bak
资源使用参数
Linux 资源限制配置文件是 /etc/security/limits.conf 。限制用户可使用的资源数量对系统的稳定性非常重要。您 可以通过调整资源限制数量改进系统性能。limits.conf 文件如下所示
备份: /etc/security/limits.conf.bak
如果想启动或停止数据库服务,进入 ${ 安装目录 }/Server/bin 目录执行如下命令:
# 启动服务
sys_ctl -w start -D ${Data 文件目录} -l "${Data 文件目录}/sys_log/startup.log"
# 停止服务
sys_ctl stop -m fast -w -D ${Data 文件目录}

安装nginx

yum install -y wget
wget http://nginx.org/download/nginx-1.16.1.tar.gz
yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel
[root@localhost nginx-1.21.0]# ./configure --prefix=/usr/local/nginx
#执行make命令
[root@localhost nginx-1.21.0]# make
#执行make install命令
[root@localhost nginx-1.21.0]# make install

常用命令

cd /usr/local/nginx/sbin      首先进入 sbin 目录
./nginx              启动 Nginx
./nginx -s stop      停止 Nginx
./nginx -s reload    重新加载 Nginx
./nginx -v           查看 Nginx 版本

设置开机自启动

第一步:进入到/lib/systemd/system/目录

1

[root@iz2z init.d]# cd /lib/systemd/system

第二步:创建nginx.service文件,并编辑

1

# vim nginx.service

内如如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

[Unit]

Description=nginx service

After=network.target 

    

[Service] 

Type=forking 

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s quit

PrivateTmp=true 

    

[Install] 

WantedBy=multi-user.target

  • Description:描述服务

  • After:描述服务类别

  • [Service]服务运行参数的设置

  • Type=forking是后台运行的形式

  • ExecStart为服务的具体运行命令

  • ExecReload为重启命令

  • ExecStop为停止命令

  • PrivateTmp=True表示给服务分配独立的临时空间

  • 注意:[Service]的启动、重启、停止命令全部要求使用绝对路径

  • [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

保存退出。

第三步:加入开机自启动

1

# systemctl enable nginx

如果不想开机自启动了,可以使用下面的命令取消开机自启动

1

# systemctl disable nginx

第四步:服务的启动/停止/刷新配置文件/查看状态

1

2

3

4

5

6

7

# systemctl start nginx.service          启动nginx服务

# systemctl stop nginx.service           停止服务

# systemctl restart nginx.service        重新启动服务

# systemctl list-units --type=service     查看所有已启动的服务

# systemctl status nginx.service          查看服务当前状态

# systemctl enable nginx.service          设置开机自启动

# systemctl disable nginx.service         停止开机自启动

一个常见的错误

Warning: nginx.service changed on disk. Run 'systemctl daemon-reload' to reload units.

直接按照提示执行命令systemctl daemon-reload 即可。

安装Redis

docker pull redis

docker run -itd --name redis-test -p 6379:6379 redis

设置开机自启动

systemctl enable docker

创建容器时,设置自动启动容器,  添加--restart=always

docker run --restart=always


如果创建时未指定 --restart=always ,可通过update 命令设置

docker update --restart=always 容器id(或者容器名称)


 

上传项目部署

1、注册为Linux服务

  • 打包上传         xxx.jar

  • 首先需要现修改pom中spring-boot-maven-plugin配置,其实spring boot 打成jar包以后,是可以直接像shell脚本一样直接运行的,要实现这样可以直接运行,pom.xml 的build节点需要增加这样的配置:
<!--这样配置后,通过maven打出来的jar 可以直接 执行  ./aabb.jar  就能运行起来。 -->
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><executable>true</executable></configuration></plugin></plugins></build>
  • 在Linux上注册服务(此处基于init.d注册部署)

将打好的jar包放到Linux任意目录 eg: /var/project/

sudo ln -s /var/project/demo.jar /etc/init.d/abc
(其中demo为jar包名称,abc为服务名称)

之后就可以用 service XXX start 命令来启动jar包

启动/关闭 服务
service abc start/stop
查看状态
service abc status
设置开机自启
chkconfig abc on

报错

1、client_encoding

项目启动报错:

nested exception is com.kingbase8.util.KSQLException: ������������: ������ "client_encoding" ������������: "ANSI_X3.4-1968"

字符集和数据库的不一致:

url: jdbc:kingbase8://192.168.31.90:54321/qjjk?clientEncoding=UTF-8

2、Unable to find Java

在这里插入图片描述
原因:jar包同文件夹缺少同名配置文件,文件名相同,扩展名为.conf
解决:新增.conf文件,内容如下:

JAVA_HOME=/usr/java/jdk1.8.0_301

3、logback.xml生成的日志文件乱码

 加上<charset class="java.nio.charset.Charset">UTF-8</charset>

<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/sys-info.log</file><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern><charset class="java.nio.charset.Charset">UTF-8</charset></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>INFO</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender>

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

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

相关文章

【MySQL-->数据操作】

文章目录 前言一、insert1.单行插入2.多行插入3.插入更新/替换 二、select1.全列查询2.指定列插入3.列别名4. 表达式计算5.去重6.where条件查询7.排序8.limit分页显示 三、update四、delete五、插入查询结果六、聚合函数六、聚合分组1.格式2.where和having的区别 前言 一、inse…

个人创业新机遇,零成本开启真人手办定制项目

桌上的日历变薄&#xff0c;2023年已经接近尾声&#xff0c;浅观这一年&#xff0c;您是否发现大家日常关注的重点有明显的变化&#xff0c;诸多社会事件和宏观数字的背后&#xff0c;潜藏着对经济的“不托底”&#xff0c;而当我们真正开始关注起用个人经济积累去对冲未来的不…

大数据Flink(一百零一):SQL 表值函数(Table Function)

文章目录 SQL 表值函数(Table Function) SQL 表值函数(Table Function) Python UDTF,即 Python TableFunction,针对每一条输入数据,Python UDTF 可以产生 0 条、1 条或者多条输出数据,此外,一条输出数据可以包含多个列。比如以下示例,定义了一个名字为 split 的Pyt…

【会员管理系统】篇二之项目搭建、初始化、安装第三方库

一、项目搭建 1.全局安装vue-cli npm install -g vue/cli查看版本信息 vue -V 2.创建项目 vue create 项目名称 回车 回车 剩余选择如下 之后等待项目创建 最后npm run serve 二、初始化配置 1.更改标题 打开public下的index&#xff0c;将title标签里的改成想要设置的…

汽车电子专有名词与相应技术

1.EEA &#xff08;Electronic & Electrical Architecture 电子电气架构&#xff09; EEA在宏观上概括为物理架构与逻辑架构的结合&#xff0c;微观上通过众多电子元器件的协同配合&#xff0c;或集成式或分布式的系统级电子电气架构&#xff0c;具体详见专栏 新能源汽车电…

大疆DJI RoboMaster 机甲大师知识库和参赛攻略

标题链接【RM2021 四川站第二期直播】步兵设计及弹道测试https://bbs.robomaster.com/forum.php?modviewthread&tid11504&extrapage%3D1%26filter%3Dtypeid%26orderby%3Ddateline【RM2021 黑龙江站第4期直播】步兵机械设计入门2https://bbs.robomaster.com/forum.php?…

contenteditable实现文本内容确认提示

功能需求&#xff1a; 列表进行批量查询&#xff0c;需要对输入的值做提交校验&#xff0c;分三种情况&#xff1a; 若部分字符串有误&#xff0c;部分字符串需要变更字体颜色做提示&#xff0c;再次点击确认则对部分正确数据执行批量查询 若全部数据有误则变更字体颜色做提示&…

redis场用命令及其Java操作

目录 1. Redis入门 1.1 Redis简介 1.2 Redis下载与安装 1.2.1 Redis下载 1.2.2 Redis安装 1.3 Redis服务启动与停止 1.3.1 服务启动命令 1.3.2 客户端连接命令 1.3.3 修改Redis配置文件 1.3.4 Redis客户端图形工具 2. Redis数据类型 2.1 五种常用数据类型介绍 2.2 …

docker(1) dockfile制作docker java镜像 并启动

Dockerfile就是利用固定的指令来描述镜像的结构和构建过程&#xff0c;这样Docker才可以依次来构建镜像&#xff1b; 将springboot项目打包上传到指定目录,并且编写一个dockefile文件放在jar包的同级目录 输入命令 打包镜像 成功打包显示 运行镜像

中国区域2013-2021年森林地上生物量产品

该数据集包括中国陆地区域2013-2021年30m分辨率森林地上生物量产品。每年的产品存放在以年份数字命名的文件夹中&#xff0c;有2013-2021共9个文件夹。 每个文件夹内包括分块的产品和vrt文件。 产品命名方式为分区名年份数字.tif。 不同的分区名称如下&#xff1a; cold te…

Web开发中会话跟踪的隐藏表单字段(隐藏input)方法

隐藏表单字段是一种会话跟踪方法&#xff0c;通过在HTML表单中添加一个隐藏字段来存储会话标识符。 这样&#xff0c;每次用户提交表单时&#xff0c;会话标识符将与请求一起发送到服务器&#xff0c;以便服务器可以跟踪用户的会话状态。 以下是一个隐藏表单字段的示例&#…

简单聊下Redis的主从复制和哨兵机制以及集群(面试题)

ChatGPT的简答&#xff1a; Redis的主从复制&#xff08;Master-Slave Replication&#xff09;是指将一个Redis服务器的数据复制到其他Redis服务器的过程&#xff0c;其中一个服务器作为主节点&#xff08;Master&#xff09;&#xff0c;而其他服务器作为从节点&#xff08;S…

python转yuyv422到jpg

import cv2 as cv import yuvio import os import cv2 as cv import numpy as np#参考&#xff1a;https://pypi.org/project/yuvio/yuv_frame yuvio.imread("my.yuv", 720, 640, yuyv422)y yuv_frame.y u yuv_frame.u v yuv_frame.vcv.imshow(y,y)reshaped_y y…

Docker操作总结

Docker安装 安装CentOS 7 VirtualBox安装CentOS 7&#xff0c;网络设置为桥接网卡&#xff0c;确保虚拟机能访问外网&#xff0c;且宿主机与虚拟机能相互ping通 安装docker yum update -yyum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager -…

加上boot程序,FreeRTOS就跑不起来了

一、问题描述 bootloader跳转到APP时&#xff0c;app执行完初始化程序后死机 二、分析问题 第一步&#xff0c;执行app时死机死到哪里&#xff1f;通过DEBUG调试发现死到hardfault_handler()函数中&#xff0c;硬件错误&#xff0c;导致硬件错误的原因一般都是中断异常引起的。…

【python入门】异常、文件操作

【大家好&#xff0c;我是爱干饭的猿&#xff0c;本文重点介绍python入门的异常、文件操作。 后续会继续分享其他重要知识点总结&#xff0c;如果喜欢这篇文章&#xff0c;点个赞&#x1f44d;&#xff0c;关注一下吧】 上一篇文章&#xff1a;《【python入门】函数&#xff…

Linux系统镜像备忘

阿里镜像源&#xff1a; ubuntu ubuntu-releases安装包下载_开源镜像站-阿里云 centos centos-stream安装包下载_开源镜像站-阿里云

李宇航

该篇文章仅用作能直接在百度搜索到我的csdn,进入我的主页,没有实际意义. 进入李宇航博客方法 通过百度搜索"李宇航" 链接: https://blog.csdn.net/llllyh812 1.电脑端进入方法 输入网址链接: https://blog.csdn.net/llllyh812 或者 进入csdn主页,搜索"李宇…

口袋参谋:实时监测竞争对手的流量来源!

​ 在竞争激烈的淘宝天猫上运营店铺&#xff0c;如果想快速了解竞争对手的销售情况。 则可以通过口袋参谋同类目竞店透视工具&#xff0c;来剖析对方的数据信息&#xff0c;全面了解竞争对手的营销策略。 口袋参谋【同类目竞店透视】功能&#xff1a; 支持一键透视任意竞品…

双指针解决数组问题(python)

1、快慢指针 快慢指针&#xff0c;常用于原地修改数组 删除有序数组中的重复项 def removeDup(nums):slow, fast 0, 1while fast < len(nums):if nums[slow] ! nums[fast]:slow 1nums[slow] nums[fast]fast 1return slow1# nums[:slow1]给定一个已排序的链表&#xff0…