- 使用Ansible实现高效服务器配置管理的最佳实践
范范0825
ansible服务器运维
使用Ansible实现高效服务器配置管理的最佳实践在现代IT运维中,服务器的配置管理是一个关键环节。传统的手动配置方法不仅耗时耗力,而且容易出错,特别是在规模庞大的服务器集群中,配置的一致性难以保证。Ansible作为一款无代理的自动化运维工具,通过其易用性和灵活性,提供了一种高效的服务器配置管理解决方案。本指南将从基础到高级应用,详细介绍使用Ansible实现高效服务器配置管理的最佳实践。目录什
- 使用ansible的剧本制作salt-master与salt-minion的安装与启动服务过程
qq_42750608
linuxansibleansible
虚拟机版本:RockyLinuxrelease8.6(GreenObsidian)准备几台虚拟机ipv4地址主机名192.168.137.13center192.168.137.14sp-1192.168.137.15sp-2192.168.137.16sp-3一、center主机的配置1.vim/etc/hosts127.0.0.1localhostlocalhost.localdomainlo
- Ansible Tower与AWX:构建可视化的运维自动化解决方案
勤劳兔码农
运维ansible自动化
AnsibleTower与AWX:构建可视化的运维自动化解决方案引言随着企业数字化转型的深入,运维自动化逐渐成为IT管理的重要组成部分。Ansible作为一种简单、灵活且功能强大的自动化工具,广泛应用于配置管理、应用部署和任务自动化中。然而,在大规模、复杂的企业环境中,单纯使用Ansible命令行来管理和执行任务,难以满足对自动化流程的可视化、可审计和权限管理等高级需求。为了解决这些问题,RedH
- Ansible在CentOS下批量部署Nginx到Kubernetes集群
酱江奖
RHELzabbix自学ansiblecentosnginx
在现代云计算环境中,Kubernetes(简称K8s)作为容器编排平台的标准,广泛应用于应用程序的管理和部署。Ansible作为一种自动化运维工具,可以帮助我们高效地完成各种任务,包括在Kubernetes集群上部署应用。本文将详细介绍如何在CentOS操作系统中使用Ansible来批量部署Nginx服务至Kubernetes环境,并通过具体示例说明每一步的操作。环境准备1.安装Ansible确保
- 双vip高可用的MySQL集群
Hi,你好啊
数据库mysql数据库高可用
文章目录项目介绍项目架构项目环境项目步骤环境准备Ansible服务器部署1、安装Ansible2、配置免密登录3、修改Ansible的主机清单Prometheus部署1、下载软件包2、二进制安装PrometheusServer3、通过服务管理Prometheus4、安装node_exporter5、安装mysqld_exporter6、添加被监控的服务器部署MySQL集群(基于GTID的半同步)1
- 【DevOps工具篇】使用Ansible部署Keycloak oauth2proxy 和 单点登录(SSO)设置
小涵
DevOps企业级项目实战devopsansible运维ldapkeycloakproxyoauth
【DevOps工具篇】使用Ansible部署Keycloakoauth2proxy和单点登录(SSO)设置目录【DevOps工具篇】使用Ansible部署Keycloakoauth2proxy和单点登录(SSO)设置Ansible基础知识部署Keycloak创建OIDC-客户端创建oauth2proxy部署顶级AnsiblePlaybookHost.iniplaybook.yaml推荐超级课程:D
- ansible register 之用法
图灵AI云
ansibleansibleregister
ansibleregister这个功能非常有用。当我们需要判断对执行了某个操作或者某个命令后,如何做相应的响应处理(执行其他ansible语句),则一般会用到register。举个例子:我们需要判断sda6是否存在,如果存在了就执行一些相应的脚本,则可以为该判断注册一个register变量,并用它来判断是否存在,存在返回succeeded,失败就是failed.-name:Createaregis
- linux自动化运维之ansible实战
浓黑的daidai
运维自动化ansible
ansible基础介绍优点-相比于saltatack和puppet,没有客户端,更轻量级-只是一个工具,可以很容易实现分布式拓展-更强的远程执行命令特点-模块化-支持自定义模块,可以用任何语言编写模块-基于python语言实现-部署简单,基于python和ssh,agentless,无需代理-安全安装yum安装首先安装epel源:yuminstallepel-release-y下载ansible:
- ansible实战自动化运维项目
清风 001
Linux系统运维
Ansible是一个强大的自动化工具,广泛应用于配置管理、应用部署、任务自动化和IT环境编排。在实际生产环境中,Ansible可以帮助运维团队高效地管理服务器、应用和服务。以下是一个详细的Ansible自动化运维项目的生产实际案例,包括代码和详细讲解。项目背景假设我们有一个Web应用,需要在多台服务器上进行部署和配置。我们使用Ansible来自动化以下任务:安装必要的软件包。部署应用代码。配置和启
- python自动化运维项目实战_全网稀缺的Python/Django/Ansible Playbook自动化运维项目实战视频课程...
weixin_39977642
python自动化运维项目实战
配置文件properties比yml优先级高SpringBoot使用一个全句的配置文件,配置文件名是固定的;application.propertiesapplication.yml配置文件的作用:修改SpringBoot自动配置的默认值,SpringBoot在底层都给我们自动配置好了。YAML,是/不是一个标记语言标记语言:以前的配置文件:xxx.xmlyaml:以数据为中心,比json、xml
- ansible自动化运维
芷阳99
自动化运维运维ansible自动化
1、ansble介绍ansble为一款批量化处理系统配置的服务,对批量化系统部署、批量程序部署、批量运行命令、批量修改服务、批量安装软件包、批量修改配置等诸多功能。ansible基于SSH架构,含有丰富的模块,支持win、路由器、交换机远程操作。查看playbook的网址:https://galaxy.ansible.com2、ansble部署环境准备ansible:192.168.4.10nod
- ansible自动化运维项目
不会代码的小林
运维
Ansible是一个基于Python开发的开源自动化运维工具,它通过其模块化的架构和强大的功能,实现了配置管理、批量系统配置、程序部署和运行命令等任务,旨在帮助运维工程师提高工作效能并减少重复性劳动。下面将深入探讨Ansible在自动化运维项目中的具体应用和优势:Ansible的基础架构与组件核心组件:Ansible的运作依赖于几个关键组件,包括连接插件、主机清单、模块、插件以及剧本。其中,连接插
- ansible自动化运维项目
shiming8879
运维ansible自动化
在MySQL中创建数据库和表是数据库管理的基础步骤,它们构成了数据存储和操作的基础结构。下面,我将详细介绍如何在MySQL中创建数据库和表,包括创建数据库的基本语法、设计表的考虑因素、表的创建过程、数据类型和约束的使用等,力求内容详尽且不少于2000字。一、创建数据库在MySQL中,数据库是一个创建简单的操作,使用CREATEDATABASE语句即可完成。这个语句允许你指定数据库的名称,并可选地指
- 使用Ansible进行自动化运维
weixin_58606202
运维ansible自动化
引言简介自动化运维在现代IT基础架构管理中扮演着重要角色。通过自动化,我们可以提高效率、减少人为错误和加速部署流程。本篇文章将深入介绍如何使用Ansible这款强大的工具来实现自动化运维,帮助你简化服务器管理和配置任务。什么是Ansible?Ansible是一款开源的自动化工具,基于Python开发,不需要在被管理的节点上安装任何客户端代理。它采用一种简洁的YAML格式来编写配置文件,通过SSH协
- Ansible基础安装与配置
powerx_yc
pythonshell开发工具
==========================================================================================二、Ansible基础安装与配置==========================================================================================1、An
- 使用Ansible-playbook 自建CA,并签发客户端IP证书
运维小弟| srebro.cn
运维ansible网络ssl
使用Ansible-playbook自建CA,并签发客户端IP证书需求使用Ansible-playbook来签发客户端IP证书签发单个IP地址,比如脚本中使用{{inventory_hostname}}来获取主机的IP地址作为证书签发地址----name:GenerateandsignclientIPcertificatehosts:nginxbecome:truevars:#CAsettings
- paramiko CryptographyDeprecationWarning
weixin_34228387
报错如图:解决:importwarningswarnings.filterwarnings(action='ignore',module='.*paramiko.*')复制代码详细可以看:github.com/ansible/ans…
- 执行ansible报CryptographyDeprecationWarning
rockstics
ansiblepython开发语言
现象:执行ansible报CryptographyDeprecationWarning/usr/local/lib/python3.6/site-packages/ansible/parsing/vault/init.py:44:CryptographyDeprecationWarning:Python3.6isnolongersupportedbythePythoncoreteam.Theref
- 探索Ansible自动化运维:提高效率的关键工具
一个代码猎人
笔记本自动化部署/运维运维ansible自动化
探索Ansible自动化运维:提高效率的关键工具在现代IT环境中,自动化已经成为提高效率、减少错误和优化资源利用的重要手段。作为一款领先的开源自动化工具,Ansible在运维、配置管理和应用部署等方面得到了广泛应用。本文将介绍Ansible的核心概念,并通过一个实际项目示例,展示如何利用Ansible来实现自动化运维。1.Ansible简介Ansible是由RedHat开发的一款自动化工具,旨在简
- ansible详解
husterlichf
ansibleansible
一、语法usage:ansible[-h][--version][-v][-b][--become-methodBECOME_METHOD][--become-userBECOME_USER][-K|--become-password-fileBECOME_PASSWORD_FILE][-iINVENTORY][--list-hosts][-lSUBSET][-PPOLL_INTERVAL][-B
- ansible中docker 代理设置
小蜗牛爬楼梯
SUMMARYI'mtryingtobuildaDockerfilebehindproxyusingdockerclientconfig.jsonasdescribedhere.Ansibledocker_imagedefaultpathforconfig.jsonisdifferentthattheonefordockerclient:Dockerdocs:~/.docker/config.js
- 云计算day38
巭氼
云计算
⼀、编排分类单机容器编排:docker-compose容器集群编排:dockerswarm、mesos+marathon、kubernetes应⽤编排:ansible(模块,剧本,⻆⾊)⼆、系统管理进化史1.传统部署时代早期,各个组织是在物理服务器上运⾏应⽤程序。由于⽆法限制在物理服务器中运⾏的应⽤程序资源使⽤,因此会导致资源分配问题。例如,如果在同⼀台物理服务器上运⾏多个应⽤程序,则可能会出现⼀
- ansible自动化运维项目
iangyu
运维
在自动化运维中,Ansible是一种强大的工具,它通过无代理的方式来管理配置、部署应用程序和编排复杂任务。一个典型的Ansible自动化运维项目可以包括配置管理、应用部署、补丁更新、系统监控、备份恢复等。以下是如何构建和组织一个Ansible自动化运维项目的详细指南。一、项目结构设计一个良好的Ansible项目结构有助于组织Playbooks、角色和其他配置文件。以下是一个典型的Ansible项目
- 第十三周作业
如是我闻_17e6
1、ansible-playbook实现MySQL的二进制部署2、Ansibleplaybook实现apache批量部署,并对不同主机提供以各自IP地址为内容的index.html3、http的报文结构和状态码总结请求报文结构包括报文首部、空行、报文主体3部分。报文首部:第一行:请求行,请求方法,请求路径,HTTP版本后续为各个首部:包括请求首部字段、通用首部字段和实体首部字段空行:报文主体:向服
- Ansible自动化运维实战:打造高效、可靠的系统管理方案!
疾风终究没有归途
运维自动化运维配置管理应用部署
Ansible是一个在自动化运维领域广泛使用的工具,它基于Python开发,能够实现批量系统配置、程序部署和运行命令等功能。以下将详细解析Ansible自动化运维项目的构建与应用:项目结构设计ansible.cfg:这是Ansible的主配置文件。inventory:定义要管理的主机,通常按组分类,如生产和测试环境。playbooks:包含site.yml、webservers.yml、dbser
- ansible判定文件或者文件夹是否存在
yushi6310
ansibleansible
ansible的常用模块中没有判定当文件存在或者不存在时,执行某个执行使用下面方法能简单判定某个文件是否存在----name:judgeafileordirisexitsshell:ls/home/sfyignore_errors:Trueregister:result-shell:echo"fileexit"when:result|succeeded-shell:echo"filenotexit
- ansible 怎么检查文件是否存在
qq_16069927
ansible
详细的具体方案见https://stackoverflow.com/questions/35654286/how-to-check-if-a-file-exists-in-ansible这里举出其中最具代表性的例子-name:Registerfilestat:path:"/tmp/test_file"register:file_path-name:Createfileifitdoesn'texis
- 四、Ansible文件模块库与模板
初犊
RHCE备考运维
一、Ansible描述文件模块files模块库的引入模块库:根据文档中的功能以及系统上的安装时间进行分组后的模块的集合Files模块库包含的模块允许您完成与Linux文件管理相关的大多数任务,如创建、复制、编辑和修改文件的权限和其他属性。下表提供了常用文件管理模块的列表:注:使用最频繁的还是file和copy模块常见用法示例1、确保受管主机上存在文件使用模块:file常用参数说明:path:必须参
- Ansible-在被管理节点上创建文件或目录
阿立血鹦鹉
ansiblelinux运维
1.修改文件并将其复制到主机1.1描述文件模块Files模块库包含的模块允许用户完成与Linux文件管理相关的大多数任务,如创建、复制、编辑和修改文件的权限和其他属性。下表提供了常用文件管理模块的列表:常用文件模块模块名称模块说明blockinfile插入、更新或删除由可自定义标记线包围的多行文本块copy将文件从本地或远程计算机复制到受管主机上的某个位置。类似于file模块,copy模块还可以设
- Ansible自动化运维项目
hong161688
运维ansible自动化
Ansible自动化运维项目是一个复杂而强大的解决方案,它利用Ansible这一开源自动化平台来简化IT基础设施的配置管理、应用部署和任务自动化过程。以下是一个关于Ansible自动化运维项目的详细探讨,包括其基本概念、架构、优势、应用场景、实施步骤、最佳实践以及未来发展等方面。一、Ansible基本概念Ansible是一款基于Python开发的开源自动化平台,它提供了一种简单而强大的方式用于发布
- linux系统服务器下jsp传参数乱码
3213213333332132
javajsplinuxwindowsxml
在一次解决乱码问题中, 发现jsp在windows下用js原生的方法进行编码没有问题,但是到了linux下就有问题, escape,encodeURI,encodeURIComponent等都解决不了问题
但是我想了下既然原生的方法不行,我用el标签的方式对中文参数进行加密解密总该可以吧。于是用了java的java.net.URLDecoder,结果还是乱码,最后在绝望之际,用了下面的方法解决了
- Spring 注解区别以及应用
BlueSkator
spring
1. @Autowired
@Autowired是根据类型进行自动装配的。如果当Spring上下文中存在不止一个UserDao类型的bean,或者不存在UserDao类型的bean,会抛出 BeanCreationException异常,这时可以通过在该属性上再加一个@Qualifier注解来声明唯一的id解决问题。
2. @Qualifier
当spring中存在至少一个匹
- printf和sprintf的应用
dcj3sjt126com
PHPsprintfprintf
<?php
printf('b: %b <br>c: %c <br>d: %d <bf>f: %f', 80,80, 80, 80);
echo '<br />';
printf('%0.2f <br>%+d <br>%0.2f <br>', 8, 8, 1235.456);
printf('th
- config.getInitParameter
171815164
parameter
web.xml
<servlet>
<servlet-name>servlet1</servlet-name>
<jsp-file>/index.jsp</jsp-file>
<init-param>
<param-name>str</param-name>
- Ant标签详解--基础操作
g21121
ant
Ant的一些核心概念:
build.xml:构建文件是以XML 文件来描述的,默认构建文件名为build.xml。 project:每个构建文
- [简单]代码片段_数据合并
53873039oycg
代码
合并规则:删除家长phone为空的记录,若一个家长对应多个孩子,保留一条家长记录,家长id修改为phone,对应关系也要修改。
代码如下:
- java 通信技术
云端月影
Java 远程通信技术
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来
- string与StringBuilder 性能差距到底有多大
aijuans
之前也看过一些对string与StringBuilder的性能分析,总感觉这个应该对整体性能不会产生多大的影响,所以就一直没有关注这块!
由于学程序初期最先接触的string拼接,所以就一直没改变过自己的习惯!
- 今天碰到 java.util.ConcurrentModificationException 异常
antonyup_2006
java多线程工作IBM
今天改bug,其中有个实现是要对map进行循环,然后有删除操作,代码如下:
Iterator<ListItem> iter = ItemMap.keySet.iterator();
while(iter.hasNext()){
ListItem it = iter.next();
//...一些逻辑操作
ItemMap.remove(it);
}
结果运行报Con
- PL/SQL的类型和JDBC操作数据库
百合不是茶
PL/SQL表标量类型游标PL/SQL记录
PL/SQL的标量类型:
字符,数字,时间,布尔,%type五中类型的
--标量:数据库中预定义类型的变量
--定义一个变长字符串
v_ename varchar2(10);
--定义一个小数,范围 -9999.99~9999.99
v_sal number(6,2);
--定义一个小数并给一个初始值为5.4 :=是pl/sql的赋值号
- Mockito:一个强大的用于 Java 开发的模拟测试框架实例
bijian1013
mockito单元测试
Mockito框架:
Mockito是一个基于MIT协议的开源java测试框架。 Mockito区别于其他模拟框架的地方主要是允许开发者在没有建立“预期”时验证被测系统的行为。对于mock对象的一个评价是测试系统的测
- 精通Oracle10编程SQL(10)处理例外
bijian1013
oracle数据库plsql
/*
*处理例外
*/
--例外简介
--处理例外-传递例外
declare
v_ename emp.ename%TYPE;
begin
SELECT ename INTO v_ename FROM emp
where empno=&no;
dbms_output.put_line('雇员名:'||v_ename);
exceptio
- 【Java】Java执行远程机器上Linux命令
bit1129
linux命令
Java使用ethz通过ssh2执行远程机器Linux上命令,
封装定义Linux机器的环境信息
package com.tom;
import java.io.File;
public class Env {
private String hostaddr; //Linux机器的IP地址
private Integer po
- java通信之Socket通信基础
白糖_
javasocket网络协议
正处于网络环境下的两个程序,它们之间通过一个交互的连接来实现数据通信。每一个连接的通信端叫做一个Socket。一个完整的Socket通信程序应该包含以下几个步骤:
①创建Socket;
②打开连接到Socket的输入输出流;
④按照一定的协议对Socket进行读写操作;
④关闭Socket。
Socket通信分两部分:服务器端和客户端。服务器端必须优先启动,然后等待soc
- angular.bind
boyitech
AngularJSangular.bindAngularJS APIbind
angular.bind 描述: 上下文,函数以及参数动态绑定,返回值为绑定之后的函数. 其中args是可选的动态参数,self在fn中使用this调用。 使用方法: angular.bind(se
- java-13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class KickOutBadGuys {
/**
* 题目:13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。
* Maybe you can find out
- Redis.conf配置文件及相关项说明(自查备用)
Kai_Ge
redis
Redis.conf配置文件及相关项说明
# Redis configuration file example
# Note on units: when memory size is needed, it is possible to specifiy
# it in the usual form of 1k 5GB 4M and so forth:
#
- [强人工智能]实现大规模拓扑分析是实现强人工智能的前奏
comsci
人工智能
真不好意思,各位朋友...博客再次更新...
节点数量太少,网络的分析和处理能力肯定不足,在面对机器人控制的需求方面,显得力不从心....
但是,节点数太多,对拓扑数据处理的要求又很高,设计目标也很高,实现起来难度颇大...
- 记录一些常用的函数
dai_lm
java
public static String convertInputStreamToString(InputStream is) {
StringBuilder result = new StringBuilder();
if (is != null)
try {
InputStreamReader inputReader = new InputStreamRead
- Hadoop中小规模集群的并行计算缺陷
datamachine
mapreducehadoop并行计算
注:写这篇文章的初衷是因为Hadoop炒得有点太热,很多用户现有数据规模并不适用于Hadoop,但迫于扩容压力和去IOE(Hadoop的廉价扩展的确非常有吸引力)而尝试。尝试永远是件正确的事儿,但有时候不用太突进,可以调优或调需求,发挥现有系统的最大效用为上策。
-----------------------------------------------------------------
- 小学4年级英语单词背诵第二课
dcj3sjt126com
englishword
egg 蛋
twenty 二十
any 任何
well 健康的,好
twelve 十二
farm 农场
every 每一个
back 向后,回
fast 快速的
whose 谁的
much 许多
flower 花
watch 手表
very 非常,很
sport 运动
Chinese 中国的
- 自己实践了github的webhooks, linux上面的权限需要注意
dcj3sjt126com
githubwebhook
环境, 阿里云服务器
1. 本地创建项目, push到github服务器上面
2. 生成www用户的密钥
sudo -u www ssh-keygen -t rsa -C "
[email protected]"
3. 将密钥添加到github帐号的SSH_KEYS里面
3. 用www用户执行克隆, 源使
- Java冒泡排序
蕃薯耀
冒泡排序Java冒泡排序Java排序
冒泡排序
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月23日 10:40:14 星期二
http://fanshuyao.iteye.com/
- Excle读取数据转换为实体List【基于apache-poi】
hanqunfeng
apache
1.依赖apache-poi
2.支持xls和xlsx
3.支持按属性名称绑定数据值
4.支持从指定行、列开始读取
5.支持同时读取多个sheet
6.具体使用方式参见org.cpframework.utils.excelreader.CP_ExcelReaderUtilTest.java
比如:
Str
- 3个处于草稿阶段的Javascript API介绍
jackyrong
JavaScript
原文:
http://www.sitepoint.com/3-new-javascript-apis-may-want-follow/?utm_source=html5weekly&utm_medium=email
本文中,介绍3个仍然处于草稿阶段,但应该值得关注的Javascript API.
1) Web Alarm API
&
- 6个创建Web应用程序的高效PHP框架
lampcy
Web框架PHP
以下是创建Web应用程序的PHP框架,有coder bay网站整理推荐:
1. CakePHP
CakePHP是一个PHP快速开发框架,它提供了一个用于开发、维护和部署应用程序的可扩展体系。CakePHP使用了众所周知的设计模式,如MVC和ORM,降低了开发成本,并减少了开发人员写代码的工作量。
2. CodeIgniter
CodeIgniter是一个非常小且功能强大的PHP框架,适合需
- 评"救市后中国股市新乱象泛起"谣言
nannan408
首先来看百度百家一位易姓作者的新闻:
三个多星期来股市持续暴跌,跌得投资者及上市公司都处于极度的恐慌和焦虑中,都要寻找自保及规避风险的方式。面对股市之危机,政府突然进入市场救市,希望以此来重建市场信心,以此来扭转股市持续暴跌的预期。而政府进入市场后,由于市场运作方式发生了巨大变化,投资者及上市公司为了自保及为了应对这种变化,中国股市新的乱象也自然产生。
首先,中国股市这两天
- 页面全屏遮罩的实现 方式
Rainbow702
htmlcss遮罩mask
之前做了一个页面,在点击了某个按钮之后,要求页面出现一个全屏遮罩,一开始使用了position:absolute来实现的。当时因为画面大小是固定的,不可以resize的,所以,没有发现问题。
最近用了同样的做法做了一个遮罩,但是画面是可以进行resize的,所以就发现了一个问题,当画面被reisze到浏览器出现了滚动条的时候,就发现,用absolute 的做法是有问题的。后来改成fixed定位就
- 关于angularjs的点滴
tntxia
AngularJS
angular是一个新兴的JS框架,和以往的框架不同的事,Angularjs更注重于js的建模,管理,同时也提供大量的组件帮助用户组建商业化程序,是一种值得研究的JS框架。
Angularjs使我们可以使用MVC的模式来写JS。Angularjs现在由谷歌来维护。
这里我们来简单的探讨一下它的应用。
首先使用Angularjs我
- Nutz--->>反复新建ioc容器的后果
xiaoxiao1992428
DAOmvcIOCnutz
问题:
public class DaoZ {
public static Dao dao() { // 每当需要使用dao的时候就取一次
Ioc ioc = new NutIoc(new JsonLoader("dao.js"));
return ioc.get(