linux部署服务相关基础操作:磁盘挂载、jdk安装、docker安装、docker-compose环境安装、mysql、redis、jenkins等

磁盘挂载

1、运行mount查看数据盘挂载信息。返回结果中没有/dev/vdb1的信息。
2、运行fdisk -l查看数据盘分区信息。
3、格式化磁盘   mkfs -t ext4 /dev/vdb3.1、  (格式化后这一步跳过)运行cat /etc/fstab查看数据盘分区/dev/vdb1原有的挂载点名称。
4、运行mkdir /data重新创建数据盘分区的挂载点。
5、运行mount /dev/vdb /data重新挂载数据盘分区。
6、运行df -h查看挂载结果。
7、卸载 umount /dev/vdb

jdk 安装

1、下载所需jdk资源 上传至服务器
2、创建 /usr/local/java目录mkdir /usr/local/java
3、解压jdk 至/usr/local/java目录tar -xzvf jdk8.tar.gz.gz -C /usr/local/java
4、配置环境变量。编辑/etc/profile文件,添加JDK的路径到环境变量中。vim /etc/profile编辑后的配置文件内容为export JAVA_HOME=/usr/local/java/jdk1.8.0_60 export CLASSPATH=$JAVA_HOME/lib/ export PATH=$PATH:$JAVA_HOME/bin
5、使环境变量生效。执行source /etc/profile命令,使刚刚设置的JDK环境变量立即生效。
6、验证安装。使用Java命令(如java -version)检查JDK是否安装成功。如果看到JDK版本信息,表示安装成功

docker 安装

1、清理或卸载旧的或已安装的docker版本
    sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
2、设置仓库
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo异常解决cd /etc/yum.repos.d#根据自己服务器的版本 下载对应的yum 选一个即可wget http://mirrors.aliyun.com/repo/Centos-8.repo或wget http://mirrors.aliyun.com/repo/Centos-7.repo
3、安装docker 其中需要输入命令 一直输 y
    sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4、启动docker 至此 docker已安装完成
    sudo systemctl start docker

docker-compose环境安装

1、安装git
sudo yum install -y git
2、安装maven
sudo yum install -y maven
3、安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4、设置源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
5、安装docker
sudo yum install -y docker-ce
6、启动服务
sudo systemctl start docker
7、安装docker-compose 如果用命令下载不下来 可以自行去别处下载 然后拷贝至/usr/local/bin/目录下
curl -L https://github.com/docker/compose/releases/download/v2.17.1/docker-compose-linux-x86_64 > /usr/local/bin/docker-compose
8、授权
sudo chmod +x /usr/local/bin/docker-compose
9、检测版本号
docker-compose -v

基于docker-compose 安装mysql redis jenkins nginx等

1、编辑docker-compose.yml 需要什么 就自行添加什么
    services:mysql:image: mysql:8.0.31container_name: mysqlenvironment:# 时区上海TZ: Asia/Shanghai# root 密码MYSQL_ROOT_PASSWORD: 12345678# 初始化数据库# MYSQL_DATABASE: fishery-cloudports:- "3306:3306"volumes:# 数据挂载- /data/docker/mysql/data/:/var/lib/mysql/# 配置挂载- /data/docker/mysql/conf/:/etc/mysql/conf.d/command:# 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配)--default-authentication-plugin=mysql_native_password--character-set-server=utf8mb4--collation-server=utf8mb4_general_ci--explicit_defaults_for_timestamp=true--lower_case_table_names=0privileged: truenetwork_mode: "host"redis:image: redis:6.2.7container_name: redisports:- "6379:6379"environment:# 时区上海TZ: Asia/Shanghaivolumes:# 配置文件- /data/docker/redis/conf:/redis/config# 数据文件- /data/docker/redis/data/:/redis/data/command: "redis-server /redis/config/redis.conf"privileged: truenetwork_mode: "host"jenkins:user: root                                 # 为了避免一些权限问题 在这我使用了rootrestart: always                            # 重启方式image: jenkins/jenkins:2.346.3-lts-jdk8    # 指定服务所使用的镜像,指定jdk版本container_name: jenkins                    # 容器名称environment:JAVA_OPTS: "-server -Xms512m -Xmx1024m"ports: # 对外暴露的端口定义- 8082:8080                              # 访问Jenkins服务端口- 50000:50000volumes: # 卷挂载路径- /data/docker/jenkins:/var/jenkins_home  # 这是我们一开始创建的目录挂载到容器内的jenkins_home目录- /var/run/docker.sock:/var/run/docker.sock          # 这是为了我们可以在容器内使用docker命令- /usr/bin/docker:/usr/bin/docker                    # 这是为了我们可以在容器内使用docker命令- /usr/bin/docker-compose:/usr/bin/docker-compose    # 这是为了我们可以在容器内使用docker-compose命令nginx-web:image: nginx:1.22.1container_name: nginx-webenvironment:# 时区上海TZ: Asia/Shanghaiports:- "80:80"- "443:443"volumes:# 证书映射- /opt/docker/nginx/cert:/etc/nginx/cert# 配置文件映射- /data/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf# 配置文件映射- /data/docker/nginx/conf/conf.d:/etc/nginx/conf.d# 页面目录- /data/docker/nginx/html:/usr/share/nginx/html# 日志目录- /data/docker/nginx/log:/var/log/nginxprivileged: truenetwork_mode: "host"
2、上传docker-compose.yml 和相关配置文件至/data/docker 目录下
	2.1 、mysql配置 my.cnf中的内容
[client]default-character-set=utf8mb4[mysql]default-character-set=utf8mb4[mysqld]# 设置东八区时区
default-time_zone = '+8:00'# 设置密码验证规则,default_authentication_plugin参数已被废弃# 改为authentication_policy#default_authentication_plugin=mysql_native_password
authentication_policy=mysql_native_password# 限制导入和导出的数据目录
# 为空,不限制导入到处的数据目录;
# 指定目录,必须从该目录导入到处,且MySQL不会自动创建该目录;
# 为NULL,禁止导入与导出功能
#secure_file_priv=/var/lib/mysql
secure_file_priv=init_connect='SET collation_connection = utf8mb4_0900_ai_ci'init_connect='SET NAMES utf8mb4'character-set-server=utf8mb4collation-server=utf8mb4_0900_ai_ciskip-character-set-client-handshakesql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'skip-name-resolvemax_connections=1600
lower_case_table_names=0
skip-log-bin

2.2 、redis配置 redis.conf

# redis 密码
requirepass 12345678# key 监听器配置
# notify-keyspace-events Ex# 配置持久化文件存储路径
dir /redis/data
# 配置rdb
# 15分钟内有至少1个key被更改则进行快照
save 900 1
# 5分钟内有至少10个key被更改则进行快照
save 300 10
# 1分钟内有至少10000个key被更改则进行快照
save 60 10000
# 开启压缩
rdbcompression yes
# rdb文件名 用默认的即可
dbfilename dump.rdb# 开启aof
appendonly yes
# 文件名
appendfilename "appendonly.aof"
# 持久化策略,no:不同步,everysec:每秒一次,always:总是同步,速度比较慢
# appendfsync always
appendfsync everysec
# appendfsync no

2.3 、nginx配置 nginx.conf

worker_processes  1;error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;# 限制body大小client_max_body_size 100m;# gzip 压缩gzip on;gzip_min_length 1k;gzip_disable "MSIE [1-6]\.";gzip_comp_level 5;gzip_types text/css text/javascript text/xml text/plain application/json application/javascript application/x-javascript application/xml application/xml+rss;gzip_http_version 1.1;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;upstream server {ip_hash;# gateway 地址server 127.0.0.1:8080;# server 127.0.0.1:8081;}server {listen       80;server_name  localhost;# https配置参考 start#listen       443 ssl;# 证书直接存放 /docker/nginx/cert/ 目录下即可 更改证书名称即可 无需更改证书路径#ssl on;#ssl_certificate      /etc/nginx/cert/xxx.local.crt; # /etc/nginx/cert/ 为docker映射路径 不允许更改#ssl_certificate_key  /etc/nginx/cert/xxx.local.key; # /etc/nginx/cert/ 为docker映射路径 不允许更改#ssl_session_timeout 5m;#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#ssl_prefer_server_ciphers on;# https配置参考 end# 演示环境配置 拦截除 GET POST 之外的所有请求# if ($request_method !~* GET|POST) {#     rewrite  ^/(.*)$  /403;# }# location = /403 {#     default_type application/json;#     return 200 '{"msg":"演示模式,不允许操作","code":500}';# }# 限制外网访问内网 actuator 相关路径location ~ ^(/[^/]*)?/actuator(/.*)?$ {return 403;}location / {root   /usr/share/nginx/html;try_files $uri $uri/ /index.html;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}
3、执行命令安装 mysql redis nginx-web
    cd /data/dockerdocker-compose up -d mysql redis nginx-web问题1:如果执行上面的命令失败,可以尝试按以下方式解决在 docker-ce 中,已废弃/etc/sysconfig/docker 这种配置方式,转而采用/etc/docker/daemon.json 来配置将 docker 的下载镜像的仓库,修改为国内的友商的镜像仓vim /etc/docker/daemon.json 修改内容为{"registry-mirrors": ["https://9xi9dqfp.mirror.aliyuncs.com","https://registry.docker-cn.com","http://hub-mirror.c.163.com"]}然后重启docker  sudo systemctl daemon-reloadsudo systemctl restart docker问题2:如果执行命令后容器生成成功了,但是未启动成功,可查看对应容器日志,解决对应问题1、如果是Can't open the append-only file: Permission denied 类的,则给对应宿主机目录加上权限即可 例: chmod 777 /data/docker/redis/data  

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

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

相关文章

[python3] 责任链模式

责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。请求沿着链传递,直到有一个对象处理它为止。 下面是一个简单的 Pyth…

Linux---多线程(上)

一、线程概念 线程是比进程更加轻量化的一种执行流 / 线程是在进程内部执行的一种执行流线程是CPU调度的基本单位,进程是承担系统资源的基本实体 在说线程之前我们来回顾一下进程的创建过程,如下图 那么以进程为参考,我们该如何去设计创建一个…

paddle的版面分析的环境搭建及使用

一、什么是版面分析 版面分析技术,主要是对图片形式的文档进行版面分析,将文档划分为文字、标题、表格、图片以及列表5类区域,如下图所示: 二、应用场景 2.1 合同比对 2.2 文本类型划分 2.3 通用文档的还原 版面分析技术可将以…

论文阅读FCN-Transformer Feature Fusion for PolypSegmentation

本文提出了一种名为Fully Convolutional Branch-TransFormer (FCBFormer)的图像分割框架。该架构旨在结合Transformer和全卷积网络(FCN)的优势,以提高结肠镜图像中息肉的检测和分类准确性。 1,框架结构: 模型采用双分…

【Python】牛客网—软件开发-Python专项练习

专栏文章索引:Python 1.(单选)下面哪个是Python中不可变的数据结构? A.set B.list C.tuple D.dict 可变数据类型:列表list[ ]、字典dict{ }、集合set{ }(能查询,也可更改)数据发生改…

Golang 开发实战day03 - Arrays Slices

Golang 教程03 - Arrays,Slices Go语言中的数组和切片都是用于存储数据的类型,但它们之间存在一些重要的区别。了解这些区别对于有效地使用它们至关重要。 1. Arrays 数组 1.1 定义 数组是一种固定大小的数据结构,用于存储相同类型的值。…

广西省行政村边界shp数据/广西省乡镇边界/广西省土地利用分类数据/径流分布

广西壮族自治区,地处中国南部,北回归线横贯中部。南北以贺州——东兰一线为界,此界以北属中亚热带季风,以南属南亚热带季风。 数据范围:全国行政区划-行政村界 数据类型:面状数据,全国各省市县…

1月笔记本电脑行业分析:多品牌下滑但ThinkPad逆势增长!

2024年1月,笔记本行业市场格局出现较大的变化。长期在京东平台保持头部联想和惠普,被ThinkPad挤下(虽然是联想旗下品牌),排名掉至第二和第三。ThinkPad以超2.7亿的月销售额成绩拿下第一,市占比16%。 与去年…

PHP使用 enqueue/amqp-lib拓展实现rabbitmq任务处理

一:拓展安装 composer require enqueue/amqp-lib 文档地址:https://github.com/php-enqueue/enqueue-dev/blob/master/docs/transport/amqp_lib.md 二:方法介绍 1:连接rabbitmq $factory new AmqpConnectionFactory([host &…

java SSM农产品订购网站系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM农产品订购网站系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采…

如何在 Unity 中创建简单的多人游戏

在本文中,我将向你展示如何将 Mirror 添加到 Unity 项目中,并创建一个简单的多人游戏。你还可以从 GitHub下载项目文件。Mirror 是一个网络库,可让你在 Unity 中轻松创建多人游戏。它是免费的、开源的,实际上是 UNET(Unity 自己已弃用的网络 API)的一个分支。 游戏 每个…

算法-贪心-112. 雷达设备

题目 假设海岸是一条无限长的直线,陆地位于海岸的一侧,海洋位于另外一侧。 每个小岛都位于海洋一侧的某个点上。 雷达装置均位于海岸线上,且雷达的监测范围为 d,当小岛与某雷达的距离不超过 d 时,该小岛可以被雷达覆…

大语言模型:Large Language Models Are Human-Level Prompt Engineers概述

研究内容 如何通过prompt,在不进行微调大语言模型的前提下,增加大语言模型的表现 研究动机 prompt非常有用,但是人工设置的非常不自然;因此提出了要自动使用大语言模型自己选择prompt;取得了很好的效果。 作者主要…

python实现生成树

生成树 生成树(Spanning Tree)是一个连通图的生成树是图的极小连通子图,它包含图中的所有顶点,并且只含尽可能少的边。这意味着对于生成树来说,若砍去它的一条边,则会使生成树变成非连通图;若给…

Git LFS【部署 01】Linux环境安装git-lfs及测试

Linux系统安装git-lfs及测试 1.下载2.安装3.测试4.总结 Git LFS(Large File Storage)是一个用于Git版本控制系统的扩展,它专门用来管理大型文件,如图像、音频和视频文件。 1.下载 安装包下载页面:https://github.com/…

web3D三维引擎(Direct3D、OpenGL、UE、U3D、threejs)基础扫盲

Hi,我是贝格前端工场的老司机,本文介绍文web3D的几个引擎,做个基础扫盲,如果还不能解决问题,可以私信我,搞私人订制呦。 三维引擎是指用于创建和渲染三维图形的软件框架。它们通常提供了图形处理、物理模拟…

npm yarn 一起使用报错

项目记录,具有独特性,仅供参考 项目好好的运行,前一天装个测试工具包, 突然就不行了,所有的项目都安装失败,有时候单独安装一个包可以,有时候又不行了,错误也是五花八门 疯狂百度&…

AI概念之人工智能、机器学习和数据挖掘之间的联系与区别

摘要: 本文深入探讨人工智能、机器学习和数据挖掘之间的联系与区别,涵盖基础知识、工作流程、需求分析、设计方案、实现步骤、代码示例、技巧与实践、常见问题与解答等内容,旨在帮助读者全面了解这三者之间的异同,并学会如何在实…

AIGC: 2 语音转换新纪元-Whisper技术在全球客服领域的创新运用

背景 现实世界,人跟人的沟通相当一部分是语音沟通,比如打电话,聊天中发送语音消息。 而在程序的世界,大部分以处理字符串为主。 所以,把语音转换成文字就成为了编程世界非常普遍的需求。 Whisper 是由 OpenAI 开发…

excel 将缺失的单元个填充为NA

在Excel中,有多种方法可以将缺失的单元格填充为"NA"或其他指定的值。以下是一些常用的方法: 方法1:使用“查找和选择”填充缺失值 (推荐) 打开Excel文件,并选择包含缺失值的数据区域。在“开始”标签页中,…