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

news/2024/5/29 4:38:50/文章来源:https://blog.csdn.net/weixin_43171019/article/details/136631575

磁盘挂载

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.luyixian.cn/news_show_1007740.aspx

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

相关文章

锂矿开采污废水处理需要哪些工艺设备

锂矿开采是一项重要的工业活动,但同时也会产生大量污废水。为了保护环境,及时有效地处理这些污废水至关重要。下面将介绍一些常用的工艺设备,用于锂矿开采污废水处理。 首先,对于锂矿开采产生的废水中的悬浮物和颗粒物的去除&…

C# OpenCvSharp 图片批量改名

目录 效果 项目 代码 下载 C# OpenCvSharp 图片批量改名 效果 项目 代码 using NLog; using OpenCvSharp; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Windows.Forms; namespace OpenCvSharp_Demo { publi…

【蓝桥杯】map和vector的简单练习

一.题目描述 二.问题分析 使用嵌套的容器 时间复杂度为O(NlogN)&#xff0c;O(logN)是map查找的时间复杂度。 #include <iostream> #include <map> #include <vector> using namespace std;const int N1e510; int n,m; map <int,vector<int> >…

SpringTask实现的任务调度与XXL-job实现的分布式任务调度【XXL-Job工作原理】

目录 任务调度 分布式任务调度 分布式任务调度存在的问题以及解决方案 使用SpringTask实现单体服务的任务调度 XXL-job分布式任务调度系统工作原理 XXL-job系统组成 XXL-job工作原理 使用XXL-job实现分布式任务调度 配置调度中心XXL-job 登录调度中心创建执行器和任务 …

Linux第77步_处理Linux并发的相关函数

了解linux中的“原子整形数据”操作、“原子位数据”操作、自旋锁、读写锁、顺序锁、信号量和互斥体&#xff0c;以及相关函数。 并发就是多个“用户”同时访问同一个共享资源。如&#xff1a;多个线程同时要求读写同一个EEPROM芯片&#xff0c;这个EEPROM就是共享资源&#x…

基于udp协议的网络通信(windows客户端版+简易聊天室版),重定向到终端

目录 和windows通信 引入 思路 WSADATA 代码 运行情况 简单的聊天室 思路 重定向 代码 terminal.hpp -- 重定向函数 服务端 客户端 运行情况 和windows通信 引入 linux和windows都需要联网,虽然他们系统设计不同,但网络部分一定是相同的,所以套接字也是一样的 这…

sqllab第二十二关通关笔记

知识点&#xff1a; cookie注入报错注入 直接抓取对应的数据包&#xff0c;发现还是一个cookie注入 参数值被base64加密了 测试这里使用什么手段读取输入 构造payload:uname1 base64加密&#xff1a;MSc 出现了hacker的页面&#xff0c;说明信息错误但是单引号没起作用 使…

01_04_JavaWEB03_XML、Tomcat、http

XML_Tomcat10_HTTP 参考尚硅谷再总结复习 一 XML XML是EXtensible Markup Language的缩写&#xff0c;翻译过来就是可扩展标记语言。所以很明显&#xff0c;XML和HTML一样都是标记语言&#xff0c;也就是说它们的基本语法都是标签。 可扩展 三个字表面上的意思是XML允许自定义…

七、软考-系统架构设计师笔记-数据库设计基础知识

1、数据库基础概念 数据库基本概念 数据(Data)数据库(Database)数据库管理系统(DBMS)数据库系统(DBS) 1.数据(Data) 是数据库中存储的基本对象&#xff0c;是描述事物的符号记录。 数据的种类&#xff1a; 文本、图形、图像、音频、视频等。 2.数据库(Database, DB) 数据库…

Linux:kubernetes(k8s)Deployment的操作(13)

创建deployment 命令 kubectl create deploy nginx-deploy --imagenginx:1.7.9 再去使用以下命令分别查询 ubectl get deploy kubectl get replicaset kubectl get pod 他是一个层层嵌套的一个关系 首先是创建了一个 deploy 里面包含着replicaset replicaset里面含有…

python爬虫 Appium+mitmdump 京东商品

爬虫系列&#xff1a;http://t.csdnimg.cn/WfCSx 前言 我们知道通过Charles进行抓包可以发现其参数相当复杂&#xff0c;Form 表单有很多加密参数。如果我们只用 Charles 探测到这个接口链接和参数&#xff0c;还是无法直接构造请求的参数&#xff0c;构造的过程涉及一些加密…

Linux搭建我的世界(MC)整合包服务器,All the Mods 9(ATM9)整合包开服教程

Linux使用MCSM面板搭建我的世界(Minecraft)整合包服务器&#xff0c;MC开服教程&#xff0c;All the Mods 9(ATM9)整合包搭建服务器的教程。 本教程使用Docker来运行mc服&#xff0c;可以方便切换不同Java版本&#xff0c;方便安装多个mc服版本。 视频教程&#xff1a;https:…

Linux下的第一个C++小程序——进度条

一、进度条小程序 1.行缓存区 printf函数的输出&#xff0c;会先进入缓存区&#xff0c;而Linux下的缓存区刷新机制是按行刷新&#xff08;根据不同系统机制不同&#xff09;&#xff0c;例如用printf函数去调试时&#xff0c;可以看到如果printf语句中不带换行&#xff0c;则…

lspci详解

lspci的作用 lspci是一个Linux命令&#xff0c;用于列出系统中的PCI总线设备信息。PCI&#xff08;Peripheral Component Interconnect&#xff09;是一种常见的计算机总线标准&#xff0c;用于连接各种外部设备&#xff08;如网卡、显卡、声卡等&#xff09;到计算机主板上。…

嵌入式3-14

1、整理思维导图 2、重写链表的代码 3、实现链表&#xff0c;按值查找返回位置的功能&#xff0c;按位置查找返回值&#xff0c;释放单链表&#xff0c;链表逆置 node_p create_link_list()//创建头结点 { node_p p(node_p)malloc(sizeof(node)); if(pNULL) { …

巨控GRM560远程模块即将上市

在自动化和工业控制领域&#xff0c;通信模块的作用至关重要。它们是实现设备间通信&#xff0c;以及与上位系统交换数据的桥梁。近年来&#xff0c;随着工业4.0的不断推进&#xff0c;对通信模块的要求也越来越高&#xff0c;不仅需要高效稳定的通信能力&#xff0c;还需要兼容…

【SpringBoot3】整合SpringMVC

文章目录 一、实现过程1.1 创建程序1.2 引入依赖1.3 启动类1.4 Controller 二、web相关配置三、静态资源处理3.1 默认路径3.2 覆盖路径 四、自定义拦截器(SpringMVC配置)4.1 拦截器声明4.2 拦截器配置4.2 拦截器测试 一、实现过程 springboot-part - GitHub 1.1 创建程序 模…

pip 配置镜像加速安装

在使用pip安装Python第三方库时&#xff0c;默认是使用pip官网的非常慢&#xff0c;可通过配置国内镜像源加速下载速度&#xff0c;以下是如何使用国内镜像源安装Python库的两种常见方式&#xff1a; 临时使用镜像源安装 如果你只是想临时使用某个镜像源安装单个或几个库&…

Hadoop大数据应用:Yarn 节点实现扩容与缩容

目录 一、实验 1.环境 2.Yarn 节点扩容 3.Yarn 节点缩容 二、问题 1.yarn启动服务报错 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 主机架构软件版本IP备注hadoop NameNode &#xff08;已部署&#xff09; SecondaryNameNode &#xff08;已部署&…

Hadoop大数据应用:HDFS 集群节点缩容

目录 一、实验 1.环境 2.HDFS 集群节点缩容 二、问题 1.数据迁移有哪些状态 2.数据迁移失败 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 主机架构软件版本IP备注hadoop NameNode &#xff08;已部署&#xff09; SecondaryNameNode &#xff08;已部署…