piaotiejun 2019-12-15
yum install -y dhcp*
[ dhcp]# vim 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; log-facility local7; subnet 10.1.1.0 netmask 255.255.255.0 { range 10.1.1.100 10.1.1.200;
3.启动服务并验证:
systemctl start dhcp dhclient -d
二、在上述实验基础上,实现DHCP中继:
# 开启路由转发功能 vim /etc/sysctl.conf net.ipv4.ip-forward=1 sysctl -p # 启动dhcp中继服务 dhcrelay dhcp_server_ip
中继服务实际使用中,基本没有必要使用。其他网络的主机另外新建一个dhcp服务就好,没有必要非得使用中继
三、借助Ansible Playbook自动化搭建LNMP环境(可借助yum)
1.实验主机:
ansible主机:172.20.10.6 webservers:172.20.10.3 appservers:172.20.10.4
2.ansible主机免密钥认证
(1)
[ playbooks]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:LFUqZ3zNLyVoJzwgIo+LzGwHhd2YCnKh6kOl6IZQcZ4 The key‘s randomart image is: +---[RSA 2048]----+ | *o* . . . | | + o = + | |+o+.E . * B = . | |*++. * o + + | |=B.. . S . . | |B . . . | |.= | |. . | | | +----[SHA256]-----+
(2)
[] ssh-copy-id 172.20.10.3 []# ssh-copy-id 172.20.10.4
3.ansible配置文件
[webservers] 172.20.10.3 [appservers] 172.20.10.4
4.定义playbook剧本:
[ playbooks]# vim lnmp.yml --- - hosts: webservers remote_user: root tasks: - name: install nginx yum: name=nginx - name: config copy: src=/data/nginx.conf dest=/etc/nginx/nginx.conf tags: conf notify: restart nginx - name: start nginx service: name=nginx state=started enabled=yes handlers: - name: restart nginx service: name=nginx state=restarted - hosts: appservers remote_user: root tasks: - name: install services yum: name={{ item }} with_items: - mariadb - mariadb-server - php - php-fpm - php-mysql - name: php-fpm config copy: src=/data/www.conf dest=/etc/php-fpm.d/www.conf notify: restart php-fpm - name: start php-fpm service: name=php-fpm state=started enabled=yes - name : start mysql service: name=mariadb state=started enabled=yes - name : config mysql shell: mysqladmin -uroot password "centos" - name: config php-index-file copy: src=/data/index.php dest=/var/www/html/ - name: config php-mysql-file copy: src=/data/mysql.php dest=/var/www/html/ handlers: - name: restart php-fpm service: name=php-fpm state=restart
(5)执行结果:
(6)测试:
四、采用Ansible Role方式自动化搭建LNMP
1.实验主机:
ansible主机:172.20.10.6 webservers:172.20.10.3 appservers:172.20.10.4
2.ansible主机roles目录:
3.执行结果为:
4.访问测试为: