当前位置: 首页 > news >正文

【Liunx】部署Ansible自动化运维工具

Ansible自动化运维工具

  • 概述
  • 安装部署
    • 1.通过yum下载Ansible
    • 2.对自己做免密配置
    • 3.修改ansiable host配置对服务器进行分组
    • 4.测试:对所有服务器进行ping命令
    • 5.写playbook
    • 6.执行我们写的playbook脚本
    • 7.验证

概述

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible架构相对比较简单,仅需通过SSH连接客户机执行任务即可。

安装部署

1.通过yum下载Ansible

[root@server1 ~]# yum install -y ansible
Last metadata expiration check: 1:33:20 ago on 2023年11月14日 星期二 19时08分08秒.
Dependencies resolved.
=================================================================================================================================================================================================================================================Package                                                     Architecture                                  Version                                                 Repository                                                               Size
=================================================================================================================================================================================================================================================
Installing:ansible                                                     noarch                                        2.9.11-1.uel20                                          UnionTechOS-Server-20-everything                                         17 M
Installing dependencies:libsodium                                                   x86_64                                        1.0.18-1.uel20                                          UnionTechOS-Server-20-everything                                        152 kpython3-asn1crypto                                          noarch                                        1.4.0-1.uel20                                           UnionTechOS-Server-20-everything                                        181 kpython3-babel                                               noarch                                        2.8.0-3.uel20                                           UnionTechOS-Server-20-everything                                        6.1 Mpython3-bcrypt                                              x86_64                                        3.2.0-1.uel20                                           UnionTechOS-Server-20-everything                                         40 kpython3-cffi                                                x86_64                                        1.14.1-1.uel20                                          UnionTechOS-Server-20-everything                                        236 kpython3-cryptography                                        x86_64                                        3.3.1-1.uel20                                           UnionTechOS-Server-20-everything                                        402 kpython3-invoke                                              noarch                                        1.5.0-1.uel20.01                                        UnionTechOS-Server-20-everything                                        267 kpython3-jinja2                                              noarch                                        2.11.2-2.uel20                                          UnionTechOS-Server-20-everything                                        223 kpython3-jmespath                                            noarch                                        0.9.0-11.uel20                                          UnionTechOS-Server-20-everything                                         42 kpython3-markupsafe                                          x86_64                                        1.1.1-1.uel20                                           UnionTechOS-Server-20-everything                                         28 kpython3-pyasn1                                              noarch                                        0.4.8-1.uel20                                           UnionTechOS-Server-20-everything                                        136 kpython3-pycparser                                           noarch                                        2.20-2.uel20                                            UnionTechOS-Server-20-everything                                        155 kpython3-pynacl                                              x86_64                                        1.2.1-5.uel20                                           UnionTechOS-Server-20-everything                                         76 kpython3-pyyaml                                              x86_64                                        5.3.1-4.uel20                                           UnionTechOS-Server-20-everything                                        188 ksshpass                                                     x86_64                                        1.06-8.uel20                                            UnionTechOS-Server-20-everything                                         24 k
Installing weak dependencies:python3-paramiko                                            noarch                                        2.7.2-2.uel20                                           UnionTechOS-Server-20-everything                                        289 kTransaction Summary
=================================================================================================================================================================================================================================================
Install  17 PackagesTotal download size: 26 M
Installed size: 135 M
Downloading Packages:
(1/17): libsodium-1.0.18-1.uel20.x86_64.rpm                                                                                                                                                                      177 kB/s | 152 kB     00:00    
(2/17): python3-asn1crypto-1.4.0-1.uel20.noarch.rpm                                                                                                                                                              108 kB/s | 181 kB     00:01    
(3/17): python3-bcrypt-3.2.0-1.uel20.x86_64.rpm                                                                                                                                                                  8.1 kB/s |  40 kB     00:04    
(4/17): python3-cffi-1.14.1-1.uel20.x86_64.rpm                                                                                                                                                                    25 kB/s | 236 kB     00:09    
(5/17): python3-cryptography-3.3.1-1.uel20.x86_64.rpm                                                                                                                                                             31 kB/s | 402 kB     00:12    
(6/17): python3-invoke-1.5.0-1.uel20.01.noarch.rpm                                                                                                                                                                31 kB/s | 267 kB     00:08    
(7/17): python3-jinja2-2.11.2-2.uel20.noarch.rpm                                                                                                                                                                  22 kB/s | 223 kB     00:10    
(8/17): python3-jmespath-0.9.0-11.uel20.noarch.rpm                                                                                                                                                                10 kB/s |  42 kB     00:04    
(9/17): python3-markupsafe-1.1.1-1.uel20.x86_64.rpm                                                                                                                                                              4.4 kB/s |  28 kB     00:06    
(10/17): python3-paramiko-2.7.2-2.uel20.noarch.rpm                                                                                                                                                                25 kB/s | 289 kB     00:11    
(11/17): python3-pyasn1-0.4.8-1.uel20.noarch.rpm                                                                                                                                                                  17 kB/s | 136 kB     00:07    
(12/17): python3-pycparser-2.20-2.uel20.noarch.rpm                                                                                                                                                                28 kB/s | 155 kB     00:05    
(13/17): python3-pynacl-1.2.1-5.uel20.x86_64.rpm                                                                                                                                                                  13 kB/s |  76 kB     00:05    
(14/17): python3-pyyaml-5.3.1-4.uel20.x86_64.rpm                                                                                                                                                                  31 kB/s | 188 kB     00:06    
(15/17): sshpass-1.06-8.uel20.x86_64.rpm                                                                                                                                                                         5.3 kB/s |  24 kB     00:04    
(16/17): python3-babel-2.8.0-3.uel20.noarch.rpm                                                                                                                                                                   35 kB/s | 6.1 MB     02:58    
(17/17): ansible-2.9.11-1.uel20.noarch.rpm                                                                                                                                                                        87 kB/s |  17 MB     03:22    
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                                                            130 kB/s |  26 MB     03:22     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transactionPreparing        :                                                                                                                                                                                                                         1/1 Installing       : python3-jmespath-0.9.0-11.uel20.noarch                                                                                                                                                                                 1/17 Installing       : sshpass-1.06-8.uel20.x86_64                                                                                                                                                                                            2/17 Installing       : python3-pyyaml-5.3.1-4.uel20.x86_64                                                                                                                                                                                    3/17 Installing       : python3-pycparser-2.20-2.uel20.noarch                                                                                                                                                                                  4/17 Installing       : python3-cffi-1.14.1-1.uel20.x86_64                                                                                                                                                                                     5/17 Installing       : python3-bcrypt-3.2.0-1.uel20.x86_64                                                                                                                                                                                    6/17 Installing       : python3-pyasn1-0.4.8-1.uel20.noarch                                                                                                                                                                                    7/17 Installing       : python3-markupsafe-1.1.1-1.uel20.x86_64                                                                                                                                                                                8/17 Installing       : python3-invoke-1.5.0-1.uel20.01.noarch                                                                                                                                                                                 9/17 Installing       : python3-babel-2.8.0-3.uel20.noarch                                                                                                                                                                                    10/17 Installing       : python3-jinja2-2.11.2-2.uel20.noarch                                                                                                                                                                                  11/17 Installing       : python3-asn1crypto-1.4.0-1.uel20.noarch                                                                                                                                                                               12/17 Installing       : python3-cryptography-3.3.1-1.uel20.x86_64                                                                                                                                                                             13/17 Installing       : libsodium-1.0.18-1.uel20.x86_64                                                                                                                                                                                       14/17 Installing       : python3-pynacl-1.2.1-5.uel20.x86_64                                                                                                                                                                                   15/17 Installing       : python3-paramiko-2.7.2-2.uel20.noarch                                                                                                                                                                                 16/17 Installing       : ansible-2.9.11-1.uel20.noarch                                                                                                                                                                                         17/17 Running scriptlet: ansible-2.9.11-1.uel20.noarch                                                                                                                                                                                         17/17 Verifying        : ansible-2.9.11-1.uel20.noarch                                                                                                                                                                                          1/17 Verifying        : libsodium-1.0.18-1.uel20.x86_64                                                                                                                                                                                        2/17 Verifying        : python3-asn1crypto-1.4.0-1.uel20.noarch                                                                                                                                                                                3/17 Verifying        : python3-babel-2.8.0-3.uel20.noarch                                                                                                                                                                                     4/17 Verifying        : python3-bcrypt-3.2.0-1.uel20.x86_64                                                                                                                                                                                    5/17 Verifying        : python3-cffi-1.14.1-1.uel20.x86_64                                                                                                                                                                                     6/17 Verifying        : python3-cryptography-3.3.1-1.uel20.x86_64                                                                                                                                                                              7/17 Verifying        : python3-invoke-1.5.0-1.uel20.01.noarch                                                                                                                                                                                 8/17 Verifying        : python3-jinja2-2.11.2-2.uel20.noarch                                                                                                                                                                                   9/17 Verifying        : python3-jmespath-0.9.0-11.uel20.noarch                                                                                                                                                                                10/17 Verifying        : python3-markupsafe-1.1.1-1.uel20.x86_64                                                                                                                                                                               11/17 Verifying        : python3-paramiko-2.7.2-2.uel20.noarch                                                                                                                                                                                 12/17 Verifying        : python3-pyasn1-0.4.8-1.uel20.noarch                                                                                                                                                                                   13/17 Verifying        : python3-pycparser-2.20-2.uel20.noarch                                                                                                                                                                                 14/17 Verifying        : python3-pynacl-1.2.1-5.uel20.x86_64                                                                                                                                                                                   15/17 Verifying        : python3-pyyaml-5.3.1-4.uel20.x86_64                                                                                                                                                                                   16/17 Verifying        : sshpass-1.06-8.uel20.x86_64                                                                                                                                                                                           17/17 Installed:ansible-2.9.11-1.uel20.noarch             libsodium-1.0.18-1.uel20.x86_64        python3-asn1crypto-1.4.0-1.uel20.noarch python3-babel-2.8.0-3.uel20.noarch     python3-bcrypt-3.2.0-1.uel20.x86_64     python3-cffi-1.14.1-1.uel20.x86_64   python3-cryptography-3.3.1-1.uel20.x86_64 python3-invoke-1.5.0-1.uel20.01.noarch python3-jinja2-2.11.2-2.uel20.noarch    python3-jmespath-0.9.0-11.uel20.noarch python3-markupsafe-1.1.1-1.uel20.x86_64 python3-paramiko-2.7.2-2.uel20.noarchpython3-pyasn1-0.4.8-1.uel20.noarch       python3-pycparser-2.20-2.uel20.noarch  python3-pynacl-1.2.1-5.uel20.x86_64     python3-pyyaml-5.3.1-4.uel20.x86_64    sshpass-1.06-8.uel20.x86_64            Complete!
[root@server1 ~]# 

2.对自己做免密配置

之前已生成密钥 对这一块不了解的请查看 【LIUNX】机器互访:免密登陆

[root@server1 ~]# ssh-copy-id root@server1
/usr/bin/ssh-copy-id: INFO: Source of  key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host 'server1 (192.168.122.1)' can't be established.
ECDSA key fingerprint is SHA256:TWajqYQ0cY7n48NQANig8R2qvjcRIDQagMvYot7yIT4.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
UnionTech OS Server 20 1050e
root@server1's password: Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'root@server1'"
and check to make sure that only the key(s) you wanted were added.
[root@server1 ~]# ssh root@server1
UnionTech OS Server 20 1050eAuthorized users only. All activities may be monitored and reported.
Last login: Tue Nov 14 15:18:38 2023 from 192.168.3.1Welcome to 4.19.90-2201.4.0.0135.up1.uel20.x86_64System information as of time: 		20231114日 星期二 20:53:43 CSTSystem load: 		0.01
Processes: 		202
Memory used: 		58.1%
Swap used: 		0.2%
Usage On: 		10%
IP address: 		192.168.3.5
IP address: 		192.168.122.1
IP address: 		172.17.0.1
Users online: 		3[root@server1 ~]# exit
注销
Connection to server1 closed.
[root@server1 ~]# ssh root@server2
UnionTech OS Server 20 1050eAuthorized users only. All activities may be monitored and reported.
Last login: Tue Nov 14 15:18:29 2023 from 192.168.122.1Welcome to 4.19.90-2201.4.0.0135.up1.uel20.x86_64System information as of time: 		20231114日 星期二 20:53:41 CSTSystem load: 		0.00
Processes: 		121
Memory used: 		13.2%
Swap used: 		0.0%
Usage On: 		6%
IP address: 		192.168.122.2
Users online: 		2

免密已经成功了

3.修改ansiable host配置对服务器进行分组

  • 在/etc/ansible/hosts最下方新增一下组别和服务器名

[web]
server1
[db]
server2

结果如下

[root@server1 ~]# vi /etc/ansible/hosts 
[root@server1 ~]# cat /etc/ansible/hosts 
# This is the default ansible 'hosts' file.
#
# It should live in /etc/ansible/hosts
#
#   - Comments begin with the '#' character
#   - Blank lines are ignored
#   - Groups of hosts are delimited by [header] elements
#   - You can enter hostnames or ip addresses
#   - A hostname/ip can be a member of multiple groups# Ex 1: Ungrouped hosts, specify before any group headers.## green.example.com
## blue.example.com
## 192.168.100.1
## 192.168.100.10# Ex 2: A collection of hosts belonging to the 'webservers' group## [webservers]
## alpha.example.org
## beta.example.org
## 192.168.1.100
## 192.168.1.110# If you have multiple hosts following a pattern you can specify
# them like this:## www[001:006].example.com# Ex 3: A collection of database servers in the 'dbservers' group## [dbservers]
## 
## db01.intranet.mydomain.net
## db02.intranet.mydomain.net
## 10.25.1.56
## 10.25.1.57# Here's another example of host ranges, this time there are no
# leading 0s:## db-[99:101]-node.example.com
[web]
server1
[db]
server2

4.测试:对所有服务器进行ping命令

root@server1 ~]# ansible all -m ping
[WARNING]: Platform linux on host server2 is using the discovered Python interpreter at /usr/bin/python, but future installation of another Python interpreter could change this. See
https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information.
server2 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": false,"ping": "pong"
}
[WARNING]: Platform linux on host server1 is using the discovered Python interpreter at /usr/bin/python, but future installation of another Python interpreter could change this. See
https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information.
server1 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": false,"ping": "pong"
}

5.写playbook

vi install_php_fpm.yml

内容如下:

---
- hosts: webuser: roottasks: - name: install php-fpmyum: name: php-fpmstate: present- name: start php-fpmservice: name: php-fpmstate: startedenable: yes

注意:yml文件每行的前面不能用tab只能使用空格

[root@server1 ~]# vi install_php_fpm.yml
[root@server1 ~]# cat install_php_fpm.yml 
---
- hosts: webtasks:- name: install phpyum:name: "{{item}}"state: presentloop:- php-fpm- samba- name: start phpservice:name: php-fpmstate: startedenabled: yes- name: start smbservice:name: smbstate: startedenabled: yes
- hosts: dbtasks:- name: install mariadbyum:name: mariadb-serverstate: present- name: start mariadbservice:name: mariadbstate: startedenabled: yes
[root@server1 ~]# ansible-playbook --syntax-check install_php_fpm.yml playbook: install_php_fpm.yml

ansible-playbook --syntax-check验证脚本是否正确
命令格式如下:
ansible-playbook --syntax-check xxx.yml

6.执行我们写的playbook脚本

[root@server1 ~]#  ansible-playbook install_php_fpm.yml -e "ansible_python_interpreter=/usr/bin/python3"PLAY [web] **************************************************************************************************************************************************************************************************************************************TASK [Gathering Facts] **************************************************************************************************************************************************************************************************************************
ok: [server1]TASK [install php] ******************************************************************************************************************************************************************************************************************************
ok: [server1] => (item=php-fpm)
changed: [server1] => (item=samba)TASK [start php] ********************************************************************************************************************************************************************************************************************************
ok: [server1]TASK [start smb] ********************************************************************************************************************************************************************************************************************************
changed: [server1]PLAY [db] ***************************************************************************************************************************************************************************************************************************************TASK [Gathering Facts] **************************************************************************************************************************************************************************************************************************
ok: [server2]TASK [install mariadb] **************************************************************************************************************************************************************************************************************************
changed: [server2]TASK [start mariadb] ****************************************************************************************************************************************************************************************************************************
changed: [server2]PLAY RECAP **************************************************************************************************************************************************************************************************************************************
server1                    : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
server2                    : ok=3    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   [root@server1 ~]# 

命令格式如下:
ansible-playbook xxx.yml

7.验证

[root@server1 ~]# rpm -qc php-fpm
/etc/httpd/conf.d/php.conf
/etc/logrotate.d/php-fpm
/etc/nginx/conf.d/php-fpm.conf
/etc/nginx/default.d/php.conf
/etc/php-fpm.conf
/etc/php-fpm.d/www.conf
[root@server1 ~]# systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process ManagerLoaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2023-11-15 00:14:45 CST; 4min 33s agoMain PID: 22863 (php-fpm)Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"Tasks: 6Memory: 16.1MCGroup: /system.slice/php-fpm.service├─22863 php-fpm: master process (/etc/php-fpm.conf)├─22864 php-fpm: pool www├─22865 php-fpm: pool www├─22866 php-fpm: pool www├─22867 php-fpm: pool www└─22868 php-fpm: pool www1115 00:14:45 server1 systemd[1]: Starting The PHP FastCGI Process Manager...
1115 00:14:45 server1 systemd[1]: Started The PHP FastCGI Process Manager.
[root@server1 ~]# 

相关文章:

【Liunx】部署Ansible自动化运维工具

Ansible自动化运维工具 概述安装部署1.通过yum下载Ansible2.对自己做免密配置3.修改ansiable host配置对服务器进行分组4.测试:对所有服务器进行ping命令5.写playbook6.执行我们写的playbook脚本7.验证 概述 ansible是新出现的自动化运维工具,基于Pytho…...

Python的基础语法

1. 注释:在Python中,使用井号(#)表示单行注释,三个单引号()或三个双引号(""")表示多行注释。 2. 变量:在Python中,不需要声明变量…...

Skywalking流程分析_8(拦截器插件的加载)

前言 在之前的文章中我们将,静态方法、构造方法、实例方法的增强逻辑都分析完毕,但在增强前,对于拦截类的加载是至关重要的,下面我们就来详细的分析 增强插件的加载 静态方法增强前的加载 //clazz 要修改的字节码的原生类 Sta…...

智能AI系统ChatGPT网站源码+支持OpenAI DALL-E3文生图+支持ai绘画(Midjourney)/支持GPT全模型+国内AI全模型

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…...

腾讯云服务器可用区是什么意思?可用区选择方法

腾讯云服务器可用区是什么意思?云服务器可用区如何选择?可用区是指在同一个地域内电力和网络相互独立的区域,可用区可以做到故障隔离,所以可用区存在的意义在于构建高可用、高容灾应用,将应用部署在不同可用区内&#…...

Jupyter运行显存爆炸,明明上一个单元格已经运行完毕为什么还是会炸?

问题再现 上一个单元格运行完了train(),我想要用模型输出做点东西,可是提醒我显存不够; 在命令行中查看显存占用情况,发现4张卡都占满了,可真是太厉害了! 解决方案 查看原来写的validate(),发…...

【ICE】webrtc lite 1:cmake构建

p2ptransportchannel 是 ICE 实现基于此实现了DTLTransport而前者是独立的模块。依赖库较少主要是ssl absl OpenSSL Protobuf 可选 absl webrtc 不支持大端 :big endian architectures defined in WebRTC’s arch.h D_WINSOCKAPI_ 用来做啥? 以下编译选项: add_compile_opti…...

国内最受欢迎电商API接口调用淘宝商品详情API接口数据

国内实用的API接口 国内最受欢迎的7大API供应平台对比和介绍 本文将介绍7款API供应平台:聚合数据、百度APIStore、Apix、数说聚合、通联数据、HaoService、datasift 。排名不分先后! 免费实用的API接口 第一部分 1、电商数据(API数据接口_开…...

第五篇 基于JSP 技术的网上购书系统——主页面和登录页面实现(网上商城、仿淘宝、当当、亚马逊)

目录 1.系统主界面 1.1功能说明 1.2界面设计 1.3处理流程 1.4 数据来源和算法 1.4.1数据来源 1.4.2查询条件 1.4.3表间关系 1.4.4相关sql实例 2.系统登陆后界面 2.1功能说明 2.2界面设计 2.3处理流程 2.4数据来源和算法 2.4.1数据来源 2.4.2查询条件 2.4.…...

【 云原生 | K8S 】kubeadm 部署Kubernetes集群

目录 1 环境准备 2 所有节点安装docker 3 所有节点安装kubeadm,kubelet和kubectl 4 部署K8S集群 4.1 查看初始化需要的镜像 4.2 初始化kubeadm 4.3 设定kubectl 4.4 所有节点部署网络插件flannel master(2C/4G,cpu核心数要求大于2&am…...

微信小程序rich-text 文本首行缩进和图片居中和富文本rich-text 解析多个空格不成功 nbsp

微信小程序开发使用rich-text组件渲染html格式的代码,常常因为不能自定义css导致文本不能缩进,以及图片不能居中等问题,这里可以考虑使用js的replace方法,替换字符串,然后在渲染的同时加载行内样式。 //获取字符串的图…...

uniapp 设置重写uni-body-page样式,输入字母转大写,条形码扫描

uniapp 设置重写uni-body-page样式,输入字母转大写 一、重写uni-body-page样式 page{ }二、输入字母转大写 input标签设置样式: style"text-transform: uppercase;"绑定的值通过.toUpperCase()转大写 三、条形码扫描 // 调起条码扫描uni…...

【uniapp/uview1.x】u-upload 在 v-for 中的使用时, before-upload 如何传参

引入: 是这样一种情况,在接口获取数据之后,是一个数组列表,循环展示后,需要在每条数据中都要有图片上传,互不干扰。 分析: uview 官网中有说明,before-upload 是不加括号的&#xff…...

求组合数(笔记)

//组合数2&#xff0c;取值在1e5 //Cab a! / (a - b)! * b! #include<iostream> using namespace std; using ll long long; const ll N 1e4 9, mod 1e9 7; ll fact[N], infact[N];//阶乘&#xff0c;逆元阶乘ll qmi(ll a, ll k, ll p)//逆元模板 {ll res 1;while…...

《视觉SLAM十四讲》-- 后端 1(下)

8.2 BA 与图优化 Bundle Adjustment 是指从视觉图像中提炼出最优的 3D 模型和相机参数&#xff08;内参和外参&#xff09;。 8.2.1 相机模型和 BA 代价函数 我们从一个世界坐标系中的点 p \boldsymbol{p} p 出发&#xff0c;把相机的内外参数和畸变都考虑进来&#xff0c;…...

io+day8

#ifndef __SEM2 #define __SEM3 4 //声明一个创>5 int init_sem(6 7 //声明一个p操8 int P(int sem9 10 //声明一个v操11 int W(int sem12 13 //声明一个删>14 int del_sem(i15 16 #endif 1 #include <myhead.h> …...

【图像处理:OpenCV-Python基础操作】

【图像处理&#xff1a;OpenCV-Python基础操作】 1 读取图像2 显示图像3 保存图像4 图像二值化、灰度图、彩色图&#xff0c;像素替换5 通道处理&#xff08;通道拆分、合并&#xff09;6 调整尺寸大小7 提取感兴趣区域、掩膜8 乘法、逻辑运算9 HSV色彩空间&#xff0c;获取特定…...

Java 简单实现一个 TCP 回显服务器

文章目录 TCP 服务端TCP 客户端实现效果TCP 服务端(实现字典功能)总结 TCP 服务端 package network;import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Soc…...

邦芒攻略:新手求职面试需要准备的材料

新手求职面试需要准备的材料&#xff0c;求职材料是求职者写给用人单位的信&#xff0c;目的是让对方了解自己&#xff0c;准备好充足的资料和自信的心态会让面试通过的几率大大增强&#xff0c;那么应聘者需要准备的材料呢&#xff0c;来看看吧。 ​ ​1、求职信。也是求职者…...

在docker下安装suiteCRM

安装方法&#xff1a; docker-hub来源&#xff1a;https://hub.docker.com/r/bitnami/suitecrm curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/suitecrm/docker-compose.yml > docker-compose.yml//然后可以在docker-compose.yml文件里修…...

【Python大数据笔记_day08_hive查询】

hive查询 语法结构: SELECT [ALL | DISTINCT] 字段名, 字段名, ... FROM 表名 [inner | left outer | right outer | full outer | left semi JOIN 表名 ON 关联条件 ] [WHERE 非聚合条件] [GROUP BY 分组字段名] [HAVING 聚合条件] [ORDER BY 排序字段名 asc | desc] [CLUSTE…...

魔众文库系统 v5.6.0 DWG文件格式支持,部分数据封面显示异常,定时调度清理临时文件

魔众文库系统基于文档系统知识&#xff0c;建立平台与领域&#xff0c;打造流量、用户、付费和变现的闭环&#xff0c;帮助您更好的搭建文库系统。 魔众文库系统发布v5.6.0版本&#xff0c;新功能和Bug修复累计17项&#xff0c;DWG文件格式支持&#xff0c;部分数据封面显示异…...

2023 PostgreSQL 数据库生态大会:解读拓数派大数据计算系统及其云存储底座

11月3日-5日&#xff0c;由中国开源软件推进联盟 PostgreSQL 分会主办的中国 PostgreSQL 数据库生态大会在北京中科院软件所隆重举行。大会以”极速进化融合新生”为主题&#xff0c;从线下会场和线上直播两种方式展开&#xff0c;邀请了数十位院士、教授、高管和社群专家&…...

Android10 手势导航

种类 Android10 默认的系统导航有三种&#xff1a; 1.两个按钮的 2.三个按钮的 3.手势 它们分别对应三个包名 frameworks/base/packages/overlays/NavigationBarMode2ButtonOverlay frameworks/base/packages/overlays/NavigationBarMode3ButtonOverlay frameworks/base/packa…...

Pinia 插件 pinia-plugin-persist 添加 persist 属性时报错:没有与此调用匹配的重载

项目场景&#xff1a; Vue3TS 语言Pinia插件&#xff1a;pinia-plugin-persist 问题描述 代码如下&#xff1a; import { defineStore } from piniaexport const useInfoStore defineStore(info, {state: () > {return {activeIndex: 0}},actions: {updateIndex(active…...

Django知识

目录 一.request对象方法 1.request.method 2.request.POST 3.request.GET 4.request.FILES 5.request.path 二.FBV与CBV引入 1.FBV 2.CBV (1)路由 (2)视图 3.详解 (1)FBV (2)CBV (3)小结 三.CBV源码剖析 1.as_view方法 &#xff08;1&#xff09;路由对应函…...

vue2+antd——实现权限管理——js数据格式处理(回显+数据结构渲染)

vue2antd——实现权限管理——js数据格式处理 效果图如下&#xff1a;1.需求说明2.如何展开所有子项及孙子项目——在弹窗之前就获取树形结构&#xff0c;然后直接将数据传到弹窗中3.template部分代码4.script的data部分5.权限tree数据处理——将row中的权限分配到具体的value参…...

ffmpeg 4.4 cenc-aes-ctr 加解密 MP4 工程性质分析

目录 一、cenc-aes-ctr 原理介绍 二、显式 cenc-aes-ctr 和隐式 cenc-aes-ctr 三、加密工具---ffmpeg 四、播放---ffplay 五、总结 ​​​​​​​一、cenc-aes-ctr 原理介绍 加密算法&#xff1a;CENC-AES-CTR 使用 AES&#xff08;Advanced Encryption Standard&…...

网络安全/黑客技术(0基础入门到进阶提升)

前言 前几天发布了一篇 网络安全&#xff08;黑客&#xff09;自学 没想到收到了许多人的私信想要学习网安黑客技术&#xff01;却不知道从哪里开始学起&#xff01;怎么学 今天给大家分享一下&#xff0c;很多人上来就说想学习黑客&#xff0c;但是连方向都没搞清楚就开始学习…...

栈的三道oj【C++】

栈和队列的相关oj 最小栈思路解决代码 栈的压入弹出序列思路解决代码 逆波兰表达式思路&#xff1a;解决代码 这里就挑了三道题用来熟悉栈 最小栈 力扣链接 咱们已经是高贵的C使用者了&#xff0c;不用像C语言一样从头开始造轮子了 这里我们调用了stack后&#xff0c;就会发…...