CentOS 7安装Zabbix 3.4

Zabbix 3.4 支持Centos 7。貌似不支持6.9.

更多详细内容请参考官方说明文档,详细的安装要求不贴出来了。

https://www.zabbix.com/documentation/3.4/zh/manual/installation/requirements

虚拟机配置 双核 8G内存

01、最小化安装操作系统

02、升级系统组件到最新版本

sudo yum -y update

03、关闭 SELinux

sudo sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

04、关闭防火墙

sudo systemctl stop firewalld.service && systemctl disable firewalld.service

完成3、4两步,重启一下。

05、获取SQL源

sudo rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

可以从https://dev.mysql.com/downloads/file/?id=470281下载

未分类

未分类

06、安装 Zabbix 所需软件支持包

未分类

先装mysql

sudo yum install mysql-* --skip-broken 有冲突的软件跳过

未分类

安装Apache

sudo yum -y install httpd

systemctl start httpd.service #启动

systemctl stop httpd.service #停止

systemctl restart httpd.service #重启

systemctl enable httpd.service #开机启动

systemctl disable httpd.service #开机不启动

安装php

sudo yum install php

安装php扩展

sudo yum install php-mysqlnd php-gd libjpeg* php-snmp php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash php-common php-ctype php-xml php-xmlreader php-xmlwriter php-session php-mbstring php-gettext php-ldap php-mysqli --skip-broken

sudo yum install wget telnet net-tools python-paramiko gcc gcc-c++ dejavu-sans-fonts python-setuptools python-devel sendmail mailx net-snmp net-snmp-devel net-snmp-utils freetype-devel libpng-devel perl unbound libtasn1-devel p11-kit-devel OpenIPMI unixODBC

未分类

07、设置 MySQL 参数(8GB 内存为例)

sudo vim /etc/my.cnf  不然没权限保存

在文件最后添加以下内容:

innodb_file_per_table = 1
innodb_status_file = 1
innodb_buffer_pool_size = 6G
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 16M
innodb_log_file_size = 64M
innodb_support_xa = 0
default-storage-engine = innodb
bulk_insert_buffer_size = 8M
join_buffer_size = 16M
max_heap_table_size = 32M
tmp_table_size = 32M
max_tmp_tables = 48
read_buffer_size = 32M
read_rnd_buffer_size = 16M
key_buffer_size = 32M
thread_cache_size = 32
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_rollback_on_timeout = 1
query_cache_size = 16M
query_cache_limit = 16M
collation_server = utf8_bin
character_set_server = utf8

未分类

注:原则上 innodb_buffer_pool_size 需要设置为主机内存的 80%,如果主机内存不是 8GB,以上参数可依据相应比例进行调整,例如主机内存为 16GB,则 innodb_buffer_pool_size 建议设置为 12GB,innodb_log_buffer_size 建议设置为 32M,innodb_log_file_size 建议设置为 128M,以此类推。请注意innodb_buffer_pool_size的值必须是整数,例如主机内存是4G,那么innodb_buffer_pool_size可以设置为3G,而不能设置为3.2G

08、启动 MySQL

sudo systemctl enable mysqld && systemctl start mysqld

09、获取 MySQL 的 root 初始密码

grep 'temporary password' /var/log/mysqld.log

未分类

JtZizq!Rl6E+

10、进行 MySQL 安全配置

配置开始时会用到第 09获取的初始密码,建议修改为自定义密码,其它选项选择 y 即可

mysql_secure_installation

未分类

密码改为:Aa123456,.

11、重启 MySQL

sudo systemctl restart mysqld

12、配置 MySQL 中 zabbix要的库和账号权限

mysql -u root -p(需要输入第 10步中设置的自定义密码)

mysql>create database zabbix character set utf8; #创建数据库

mysql>create user zabbix@'%' identified by 'Qingdao@2017'; #创建用户和密码

mysql>grant all privileges on zabbix.* to zabbix@'%'; #赋权

mysql>flush privileges;

mysql>exit;

13、安装 Zabbix源

sudo rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/

14、安装zabbix

sudo yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-java-gateway zabbix-web

15、导入 zabbix 所需信息

cd /usr/share/doc/zabbix-server-mysql-3.4.3

zcat create.sql.gz | mysql -uroot zabbix -p(需要输入第 10 步中设置的自定义密码)

16、配置 zabbix 参数

sudo vim /etc/zabbix/zabbix_server.conf 这个配置要一遍过

主要是以下几个选项参数需要设置(8GB 内存为例):

DBPassword 配置为第 12 步第 3 行中设置的自定义密码

未分类

CacheSize=512M

(CacheSize在371行)

HistoryCacheSize=128M

(HistoryCacheSize在397行)

HistoryIndexCacheSize=128M

(HistoryIndexCacheSize在405行)

TrendCacheSize=128M

(TrendCacheSize在414行)

ValueCacheSize=256M

(ValueCacheSize在425行)

Timeout=30

(Timeout在432

其它参数保持默认值即可

如果需要监控VMware虚拟机,则还需要设置以下选项参数:

StartVMwareCollectors=2

(StartVMwareCollectors在272行

VMwareCacheSize=256M

(VMwareCacheSize 在298行)

VMwareTimeout=300

(VMwareTimeout在306行)

17、配置 Apache 中的 PHP 参数(8GB 内存为例)

sudo vim /etc/httpd/conf.d/zabbix.conf

php_value max_execution_time 600

php_value memory_limit 256M

php_value post_max_size 32M

php_value upload_max_filesize 32M

php_value max_input_time 600

php_value always_populate_raw_post_data -1

date.timezone 去掉注释符号#,并将值修改为 Asia/Shanghai

18、重启系统

systemctl stop mysqld && reboot

19、启动 zbx

sudo systemctl start httpd && systemctl start zabbix-server

20、在浏览器中输入 http://zbx监控服务器的IP地址/zabbix,进行 zabbix 的页面初始化配置

未分类

未分类

这个页面PHP设置要求全部OK

未分类

如果密码输错,是跳转不到下一步的。密码是前面设置的 Qingdao@2017

未分类

未分类

未分类

注:第4步的”Zabbix server detail”页面中,”Name”处可填写对此监控系统的描述性文字,支持中文,有点像网站的名称。

未分类

未分类

21、第一次登录zbx监控系统,默认用户名 admin,默认密码 zabbix,确认可正常登录系统。

未分类

22、登录进入系统后,确认 Zabbix server is running 的值是 Yes。

然后选择 Administrator –> Users –> Admin

未分类

未分类

23、回到”监测中” –> “仪表板”,就可以看到监控系统已设置为中文界面了。

未分类

CentOS 7 安装.NET Core 2.0

一. 添加dotnet产品Feed

在安装.NET Core之前,您需要注册Microsoft产品Feed。 这只需要做一次。 首先,注册Microsoft签名密钥,然后添加Microsoft产品Feed。

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

sudo sh -c 'echo -e "[packages-microsoft-com-prod]nname=packages-microsoft-com-prod nbaseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prodnenabled=1ngpgcheck=1ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

二. 安装 .NET Core SDK

请先从系统中删除任何以前的预览版本的.NET Core,然后再进行下一步。

以下命令更新可用于安装的产品列表,安装.NET Core所需的组件,然后安装.NET Core SDK。

sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.0.0

三. 编写代码验证安装

使用命令新建一个控制台应用程序

dotnet new console -o hwapp
cd hwapp

该命令将会新建一个 Program.cs 文件,将会输出“Hello Word”

四. 运行程序

dotnet run

输出“Hello Word”代表.net core已经正确安装,现在你可以正常使用它

未分类

官网:https://www.microsoft.com/net/core#linuxcentos

CentOS 6/7修改主机名hostname

CentOS 7

RHEL 7新增了hostnamectl命令,基于RHEL 7的CentOS 7相应的可以使用hostnamectl来修改主机名。

hostnamectl把主机名分为以下三种:

  • 静态主机名:hostnamectl用来在系统启动时初始化内核的主机名。
  • 瞬态主机名:由DHCP等一些系统临时分配的主机名,如果系统存在静态主机名且有效,则不会用到瞬态主机名。
  • pretty主机名:静态和瞬态主机名都是要符合域名的字符串,而pretty主机名则可以包含其他一些特殊字符。

查看主机名

使用hostnamectl或hostnamectl status查看主机信息

[root@myhostname ~]# hostnamectl
  Static hostname: myhostname
Transient hostname: transientName
     Icon name: computer-vm
      Chassis: vm
    Machine ID: xxxxxxxx
      Boot ID: xxxxxxxx
  Virtualization: kvm
 Operating System: CentOS Linux 7 (Core)
    CPE OS Name: cpe:/o:centos:centos:7
      Kernel: Linux 3.10.0-693.2.2.el7.x86_64
   Architecture: x86-64

设置主机名

使用hostnamectl的set-hostname命令设置主机名。

[root@myhostname ~]# hostnamectl set-hostname test
[root@myhostname ~]# hostnamectl
  Static hostname: test
     Icon name: computer-vm
      Chassis: vm
    Machine ID: xxxxxxxx
      Boot ID: xxxxxxxx
  Virtualization: kvm
 Operating System: CentOS Linux 7 (Core)
    CPE OS Name: cpe:/o:centos:centos:7
      Kernel: Linux 3.10.0-693.2.2.el7.x86_64
   Architecture: x86-64

对比两次的hostname,使用hostnamectl set-hostname test后,Transient hostname已被删除。

注意到hostname设置为test后,终端提示还是root@myhostname,退出重新登录即会显示新的hostname。

设置瞬态主机名

hostnamectl set-hostname --transient transientName

设置静态主机

hostnamectl set-hostname --static  staticName

单独设置静态主机名,设置静态主机名为永久修改主机名,重启机器不会影响。

设置静态主机名实际是会修改/etc/hostname文件的主机名,系统重启时会读取/etc/hostname来初始化内核主机名。

设置pretty主机名

hostnamectl set-hostname --pretty prettyName

CentOS 6

永久修改主机名

CentOS 6永久修改主机名需要修改两个文件/etc/sysconfig/network和/etc/hosts。

/etc/sysconfig/network修改HOSTNAME的值

HOSTNAME=myNewHostName

为了避免出现一些其他问题,修改/etc/hosts里的hostname。

修改后重启服务器reboot。

运行时修改主机名

使用hostname命令可以在不重启主机的情况下修改主机名。

hostname newhostname

重启机器后,主机名会重新变为原来的主机名。

CentOS 7 时区、日期时间查看以及设置杂烩

网络时间协议 NTP(Network Time Protocol)

安装

yum install ntp

当前本地时间更新为中国标准时间

ntpdate cn.pool.ntp.org

Timedatectl 命令

查看当前时区、日期、时间状态 timedatectl [status]

Local time: Tue 2017-10-31 15:08:42 CST
Universal time: Tue 2017-10-31 07:08:42 UTC
RTC time: Tue 2017-10-31 15:08:42
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: yes
DST active: n/a

Timedatectl Commands

status                   Show current time settings
set-time TIME            Set system time
set-timezone ZONE        Set system time zone
list-timezones           Show known time zones
set-local-rtc BOOL       Control whether RTC is in local time
set-ntp BOOL             Control whether NTP is enabled

部分命令示例

# 设置时区
timedatectl set-timezone Asia/Shanghai

# 本地时间写入硬件时钟
timedatectl set-local-rtc 1

# 开启 NTP 同步
timedatectl set-ntp 1

# 设置时分秒
timedatectl set-time 13:12:12

# 设置年月日
timedatectl set-time 2017-10-29 # 执行后,时分秒变成 00:00:00

# 设置年月日时分秒
timedatectl set-time '2017-10-29 14:12:12'

timedatectl 使用 set-time 设置时间时,timedatectl 的 ntp 需要为关闭状态

其它杂烩

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
clock -w
date
date -s 13:12:12
date -s 2017-12-12
date -s '2017-11-11 11:11:11'

Centos禁止ping的设置

网站攻击一般是从ping开始的,黑客攻击网站前会先ping下服务器看其是否在线,所以如果服务器禁止ping,可以有效减少服务器被攻击次数。Centos系统默认是允许ping的,如你有服务器root账户管理权限,可以通过修改Centos系统内核参数永久禁止ping。

编辑/etc/sysctl.conf,

vi /etc/sysctl.conf

在/etc/sysctl.conf最后增加以下内容:

net.ipv4.icmp_echo_ignore_all=1

保存后执行sysctl -p命令配置生效。

sysctl -p

配置生效后,ping服务器收不到任何响应,ping被永久禁止。

可能某天你需要服务器允许ping了,可以删除/etc/sysctl.conf文件中的“net.ipv4.icmp_echo_ignore_all=1”或者将其修改为“net.ipv4.icmp_echo_ignore_all=0”,然后执行sysctl -p命令使配置生效,配置生效后服务器又可以正常被ping通了。

Centos 7上使用Docker安装Mysql

介绍

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。官网: https://www.licoy.cn/go/?url=https://www.docker.com/

未分类

正文

首先,我们需要一台Centos64位的服务器,建议其内核版本>3.8,然后安装docker

yum install -y docker 

然后可以查看是否安装成功,输入以下命令

docker -v

安装成功之后,直接启动docker服务

service docker start

为了使安装更快,建议使用阿里云加速镜像:点此进入,获取自己的加速镜像地址,然后在终端执行:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["你的加速地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

下载mysql镜像:

docker pull mysql

查看所有的镜像,看看是否下载成功:

docker images

建立一个mysql容器:

sudo docker run --name docker_mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d docker.io/mysql restart=always  
  • –name 容器的别称。

  • -p 端口映射。格式是 主机的端口:容器的端口。这里2个都是3306,所以是3306:3306

  • -e 设置容器的环境变量。-e MYSQL_ROOT_PASSWORD=123456就代表mysql的root的密码是123456

  • -d 使用镜像包名称,可以通过docker images查看

  • restart=always, 告诉docker,这个容器要自动启动

查看mysql容器是否建立成功并启动:

docker ps -a

如果是以下的内容,则说明容器建立成功,反之失败:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
dfb04d622b50        docker.io/mysql     "docker-entrypoint.sh"   6 minutes ago       Up 6 minutes        0.0.0.0:3306->3306/tcp   docker_mysql 

到这一步,我们就可以使用Navicat等相关工具进行连接,如果连接成功则一切都完成了,如果是使用ecs等云服务器记得开放相关端口。

后记

在这次安装mysql的过程中真的体验到docker的好处,比起传统的mysql的安装方式省去了很多的步骤,而且可以启动通过命令启动多个mysql容器,方便至极!

解决阿里云CentOS 7重启后网站无法访问的问题

摘要

每次阿里云主机重启后,总是无法访问网站。查看进程也发现了 mysqld、php、nginx等都也启动了,ping 也没问题,但就是无法访问。经过一番排查,这是 CentOS 7 最新的 firewalld 防火墙引起的问题。

未分类

参考解决方案

用iptables-services来替代 firewalld

yum -y install iptables-services
systemctl mask firewalld
systemctl enable iptables
systemctl stop firewalld
systemctl start iptables

然后再修改 iptables 的防火墙规则。修改文件 /etc/sysconfig/iptables,将 80 和 443等 端口放行,问题解决

完整内容如下:

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

centos重新安装,卸载python yum

公司测试机环境不知道给我卸了什么包,导致yum运行报错状况:

  • 系统版本:Red Hat Enterprise Linux Server release 6.2 (Santiago)

  • 内核版本:2.6.32-220.el6.x86_64

  • 报错情况:

There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

No module named sqlite

Please install a package which provides this module, or
verify that the module is installed correctly.

It’s possible that the above module doesn’t match the
current version of Python, which is:

一、升级或卸载Python导致

1、查看已安装python的版本,可能是当前系统存在多个python导致

[root@test ~]# whereis python
python: /usr/bin/python2.6 /usr/bin/python /usr/bin/python2.6-config /usr/lib/python2.6 /usr/lib64/python2.6 /usr/include/python2.6 /usr/share/man/man1/python.1.gz
[root@test ~]# vi /usr/bin/yum

将 #!/usr/bin/python 修改为 #!/usr/bin/python2.6

如果是源代码安装的,默认路径是/usr/local/bin/python2.6,做个软链接即可

rm -rf /usr/bin/python
ln -s /usr/local/bin/python2.6 /usr/bin/python

二、完全重装python和yum

1、删除现有Python

[root@test ~]# rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ##强制删除已安装程序及其关联
[root@test ~]# whereis python |xargs rm -frv ##删除所有残余文件 ##xargs,允许你对输出执行其他某些命令
[root@test ~]# whereis python ##验证删除,返回无结果

2、删除现有的yum

[root@test ~]# rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps
[root@test ~]# whereis yum |xargs rm -frv

3、从http://mirrors.ustc.edu.cn/centos/6.4/os/x86_64/Packages/下载相应的包

python-2.6.6-36.el6.x86_64.rpm
python-devel-2.6.6-36.el6.x86_64.rpm
python-libs-2.6.6-36.el6.x86_64.rpm
python-pycurl-7.19.0-8.el6.x86_64.rpm
python-setuptools-0.6.10-3.el6.noarch.rpm
python-urlgrabber-3.9.1-8.el6.noarch.rpm  
python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm-python-4.8.0-32.el6.x86_64.rpm
yum-3.2.29-40.el6.centos.noarch.rpm
yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
yum-utils-1.1.30-14.el6.noarch.rpm
yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm     
yum-plugin-protectbase-1.1.30-14.el6.noarch.rpm
yum-plugin-aliases-1.1.30-14.el6.noarch.rpm
yum-plugin-downloadonly-1.1.30-14.el6.noarch.rpm

由于源中版本会更新,具体请查看URL中的版本再下载下来!

[root@test ~]# rpm -Uvh --replacepkgs python*.rpm
[root@test ~]# rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm

可能之间还需要zlib和zlib-devel包,根据情况下载并安装!

三、运行python进行测试

[root@test ~]# python
Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import yum
>>>

如上,要是什么都没报,则说明OK啦~

Centos 6 断网情况下如何安装软件包

问题如下

比如我们安装nginx的时候需要依赖openssl,在有网络的情况下我们可以流畅的执行如下命令

yum -y install openssl openssl-devel

但是再实际部署中我们的服务器可能是没有网络的,那么在这种情况下我们如何处理呢,openssl需要依赖的rpm包好多,而且有依赖项,如何一个个找出顺序,会比较麻烦

未分类

方法一 安装的时候强制全部安装(但是必须要所以的rpm包都安装)

方法二 定制本地yum源(就能继续使用yum命令了)

首先找到rpm包

上面所说的两种方式都必须找到安装openssl所需要的rpm包,那么这些rpm包从哪里来呢?那么首先先理解下yum安装为什么方便,说白了就是安装的时候把你安装openssl所需要的rpm包全部down下来了,然后安装的时候自动匹配依赖项,所以yum安装的时候会down下依赖包,所以思路就是从yum命令中找出下载rpm包

1. 在虚拟机上面安装一个CentOS(网络选择NAT模式),然后下载一个yum插件用来执行只下载的命令

# 
yum install yum-plugin-downloadonly

2. 执行命令

# 命令的意思是下载openssl的相关rpm 比保存到/opt/yums目录下面
yum install --downloadonly --downloaddir=/opt/yums openssl

方法一 强制安装rpm包

#简单粗暴
rpm -i --force --nodeps *.rpm

方法二 定制自己的yum源

默认yum源是https联网到repository,但是我们可以定义一个源,而地址是指向本地,所以我们需要做的工作是

  • 制作repository
  • 替换Centos中的yum源

制作repository

#下载插件
yum install createrepo
# 第一次执行 CentOS6里面包含了各种rmp包
createrepo CentOS6
# 以后添加rpm包更新源
createrepo --update CentOS6

未分类

替换Centos中的yum源

cd /etc/yum.repos.d/
vi CentOS-Local.repo

输入如下命令

[base-local]
name=CentOSLocal
baseurl=file:///opt/CentOS6/
# 不对rmp包检查
gpgcheck=0

保存以后执行如下命令

# 清除缓存
yum clean all
# 列出可用仓库
yum repolist

然后我们就可以愉快的使用yum命令了。

ansible安装测试

apt-get install ansible
/etc/ansible/hosts增加

[nginx]
192.168.1.106

/etc/ansible/playbook/
roles site.yaml
site.yaml

- hosts: nginx
  remote_user: root

  roles:

roles/
bash nginx
playbook/roles/bash/tasks/main.yal

- name: 创建用户
  user: name=toy state=present

ls playbook/roles/nginx/

drwxr-xr-x 9 root root 4096 Jul 31 09:54 .
drwxr-xr-x 4 root root 4096 Jul 31 11:15 ..
drwxr-xr-x 2 root root 4096 Jul 31 09:54 default
drwxr-xr-x 2 root root 4096 Aug  1 10:16 files
drwxr-xr-x 2 root root 4096 Jul 31 11:14 handlers
drwxr-xr-x 2 root root 4096 Jul 31 09:54 meta
drwxr-xr-x 2 root root 4096 Aug 29 09:31 tasks
drwxr-xr-x 2 root root 4096 Jul 31 11:14 templates
drwxr-xr-x 2 root root 4096 Jul 31 09:54 vars

cat playbook/roles/nginx/handlers/main.yml

- name: server restart
  service: name=nginx state=restarted

cat playbook/roles/nginx/tasks/main.yml

- include: user.yml
#- name: delsteamshell
#  copy: src=delsteam.sh dest=/tmp/delsteam.sh
#- name: run delsteamshell 
#  shell: /tmp/delsteam.sh

cat playbook/roles/nginx/tasks/main.yml.bak

#- include: user.yml
- name: install nginx
  shell: apt-get install -y nginx-full
- name: provides default.conf
  copy: src=default.conf dest=/etc/nginx/nginx.conf
  tags: nginxconf
  notify:
   - server restart
- name: server start
  service: name=nginx enabled=true state=started

cat playbook/roles/nginx/tasks/user.yml

- name: 创建用户
  user: name=toy state=present