马哥教育N36第十六周作业

1、搭建DHCP服务,为局域网内用户提供10.1.1.0/24网段的IP,且租约期默认为48小时
  • 安装软件包
yum instsll dhcp
  • 配置服务
vim /etc/dhcp/dhcpd.conf

option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 172800;
max-lease-time 172800;
db-time-format local;   #数据库中的时间显示本地时间
log-facility local7;
subnet 10.1.1.0 netmask 255.255.255.0 {
        range 10.1.1.100 10.1.1.200;
}
  • 启动服务并验证
systemctl start dhcpd
# 重新获取IP
dhclient -d

# 查看服务器上的IP地址分配数据库
cat /var/lib/dhcp/dhcpd.conf

2、在上述实验基础上,实现DHCP中继

Dhcp服务和中继服务不能同时开启

# 开启路由转发功能
vim /etc/sysctl.conf
net.ipv4.ip-forward=1

sysctl -p

# 启动dhcp中继服务
dhcrelay dhcp_server_ip

中继服务实际使用中,基本没有必要使用。其他网络的主机另外新建一个dhcp服务就好,没有必要非得使用中继。

3、借助Ansible Playbook自动化搭建LNMP环境(可借助yum)
- hosts: all
  remote_user: root
  
  tasks:
    - name: install nginx
      yum: name=nginx state=installed
      when: ansible_os_family == "RedHat"
    - name: install php
      yum: 
        name: ['php', 'php-mysql', 'php-mbstring', 'php-gd', 'php-bcmatch']
        state: latest
    - name: install mariadb
      yum: name=mariadb-server state=installed
    - name: copy config file
      copy: src=web.conf dest=/etc/nginx/conf.d/
      notify: restart nginx
    - name: start nginx
      service: name=nginx state=started enabled=yes
    - name: start mariadb
      service: name=mariadb state=started enabled=yes
  
  handlers:
    - name: restart nginx
      service: name=nginx state=restarted
  
4、采用Ansible Role方式自动化搭建LNMP
  • 首先搭建所有角色的目录
cd /etc/ansible/roles
mkdir -pv ./{php,nginx,mariadb}/{tasks,files,handlers,templates,meta,defaul,vars}
  • 编写nginx playbook

task文件

vim nginx/tasks/main.yml 
- name: install nginx
  yum: name=nginx state=latest
  when: ansible_os_family == "RedHat"
- name: copy config file
  copy: src=web.conf dest=/etc/nginx/conf.d/
  notify: restart nginx
- name: start nginx
  service: name=nginx state=started enabled=yes

handler 文件

vim nginx/handlers/main.yml 
- name: restart nginx
  service: name=nginx state=restarted
  • 编写PHP的playbook
vim php/tasks/main.yml 
- name: install php
      yum: 
        name: ['php', 'php-mysql', 'php-mbstring', 'php-gd', 'php-bcmatch']
        state: latest
  • 编写mariadb 的Playbook
vim mariadb/tasks/main.yml 
- name: install mariadb
  yum: name=mariadb-server state=latest
  when: ansible_os_family == "RedHat"
- name: start mariadb
  service: name=mariadb state=started
- name: grant user
  shell: mysql -e "create database web;grant all on web.* to test@'192.168.30.%' identified by 'centos';"
  • 组合所有角色
vim /root/andible/lnmp.yaml
- hosts: websrvs
  remote_user: root
  roles:
    - nginx
    - php
    - mariadb
  • 调试和调用角色
ansilbe-playbook -C /root/ansible/lnmp.yaml
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值