Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@master ~]# ansible all -m lineinfile -a ‘path=/etc/selinux/config regexp=“^SELINUX=”’
//查看selinux
[root@master ~]# ansible all -m shell -a ‘cat /etc/selinux/config’
192.168.129.133 | CHANGED | rc=0 >>
This file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - No SELinux policy is loaded.
SELINUX=disabled
SELINUXTYPE= can take one of these three values:
targeted - Targeted processes are protected,
minimum - Modification of targeted policy. Only selected processes are protected.
mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@master lamp]# vim /etc/ansible/ansible.cfg
inventory = /etc/ansible/inventory
[root@master lamp]# cat /etc/ansible/inventory
[php]
192.168.129.137
[mysql]
192.168.129.135
[httpd]
192.168.129.133
- httpd、mysql、php步骤一样
[root@master ~]# ssh-copy-id root@192.168.129.133
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: “/root/.ssh/id_rsa.pub”
/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
root@192.168.129.133’s password:
Number of key(s) added: 1
Now try logging into the machine, with: “ssh ‘root@192.168.129.133’”
and check to make sure that only the key(s) you wanted were added.
[root@master ~]# ssh-agent bash
[root@master ~]# ssh-add
Enter passphrase for /root/.ssh/id_rsa:
Identity added: /root/.ssh/id_rsa (root@master)
[root@master ~]# ansible httpd -m yum -a ‘name=httpd* state=installed’
192.168.129.133 | CHANGED => {
“ansible_facts”: {
“discovered_interpreter_python”: “/usr/libexec/platform-python”
},
“changed”: true,
“msg”: “”,
“rc”: 0,
“results”: [
“Installed: mod_http2-1.15.7-3.module_el8.4.0+778+c970deab.x86_64”,
“Installed: cyrus-sasl-devel-2.1.27-1.el8.x86_64”,
“Installed: expat-devel-2.2.5-3.el8.x86_64”,
“Installed: apr-1.6.3-11.el8.x86_64”,
“Installed: apr-devel-1.6.3-11.el8.x86_64”,
“Installed: libdb-devel-5.3.28-40.el8.x86_64”,
“Installed: apr-util-1.6.1-6.el8.x86_64”,
“Installed: httpd-tools-2.4.37-39.module_el8.4.0+778+c970deab.x86_64”,
“Installed: apr-util-bdb-1.6.1-6.el8.x86_64”,
“Installed: openldap-devel-2.4.46-11.el8.x86_64”,
“Installed: apr-util-devel-1.6.1-6.el8.x86_64”,
“Installed: httpd-2.4.37-39.module_el8.4.0+778+c970deab.x86_64”,
“Installed: apr-util-openssl-1.6.1-6.el8.x86_64”,
“Installed: centos-logos-httpd-85.8-1.el8.noarch”,
“Installed: httpd-devel-2.4.37-39.module_el8.4.0+778+c970deab.x86_64”,
“Installed: httpd-filesystem-2.4.37-39.module_el8.4.0+778+c970deab.noarch”,
“Installed: httpd-manual-2.4.37-39.module_el8.4.0+778+c970deab.noarch”
]
}
//开启服务与开机自启
[root@master ~]# ansible httpd -m service -a “name=httpd state=started enabled=yes”
192.168.129.133 | SUCCESS => {
“ansible_facts”: {
“discovered_interpreter_python”: “/usr/libexec/platform-python”
},
“changed”: false,
“enabled”: true,
“name”: “httpd”,
“state”: “started”,
“status”: {
“ActiveEnterTimestamp”: “Mon 2021-07-19 19:12:12 CST”,
“ActiveEnterTimestampMonotonic”: “1076238167”,
“ActiveExitTimestampMonotonic”: “0”,
……略
[root@master ~]# ansible mysql -m yum -a ‘name=mariadb state=present’
192.168.129.135 | CHANGED => {
“ansible_facts”: {
“discovered_interpreter_python”: “/usr/libexec/platform-python”
},
“changed”: true,
“msg”: “”,
“rc”: 0,
“results”: [
“Installed: mariadb-3:10.3.17-1.module+el8.1.0+3974+90eded84.x86_64”,
“Installed: mariadb-common-3:10.3.17-1.module+el8.1.0+3974+90eded84.x86_64”,
“Installed: mariadb-connector-c-3.0.7-1.el8.x86_64”,
“Installed: mariadb-connector-c-config-3.0.7-1.el8.noarch”
]
}
//安装mariadb-server
[root@master ~]# ansible mysql -m yum -a ‘name=mariadb-server state=present’
192.168.129.135 | CHANGED => {
“ansible_facts”: {
“discovered_interpreter_python”: “/usr/libexec/platform-python”
},
“changed”: true,
“msg”: “”,
“rc”: 0,
“results”: [
“Installed: mariadb-errmsg-3:10.3.17-1.module+el8.1.0+3974+90eded84.x86_64”,
“Installed: mariadb-gssapi-server-3:10.3.17-1.module+el8.1.0+3974+90eded84.x86_64”,
“Installed: mariadb-server-3:10.3.17-1.module+el8.1.0+3974+90eded84.x86_64”,
“Installed: mariadb-server-utils-3:10.3.17-1.module+el8.1.0+3974+90eded84.x86_64”,
“Installed: perl-DBD-MySQL-4.046-3.module+el8.1.0+2938+301254e2.x86_64”,
“Installed: mariadb-backup-3:10.3.17-1.module+el8.1.0+3974+90eded84.x86_64”
]
}
//开启服务于开机自启
[root@master ~]# ansible mysql -m service -a ‘name=mariadb state=started enabled=yes’
192.168.129.135 | CHANGED => {
“ansible_facts”: {
“discovered_interpreter_python”: “/usr/libexec/platform-python”
},
“changed”: true,
“enabled”: true,
“name”: “mariadb”,
“state”: “started”,
“status”: {
“ActiveEnterTimestampMonotonic”: “0”,
“ActiveExitTimestampMonotonic”: “0”,
……略
[root@master ~]# ansible php -m yum -a ‘name=php state=present’
192.168.129.137 | CHANGED => {
“ansible_facts”: {
“discovered_interpreter_python”: “/usr/libexec/platform-python”
},
“changed”: true,
“msg”: “”,
“rc”: 0,
“results”: [
“Installed: apr-util-bdb-1.6.1-6.el8.x86_64”,
“Installed: httpd-2.4.37-39.module_el8.4.0+778+c970deab.x86_64”,
“Installed: apr-util-openssl-1.6.1-6.el8.x86_64”,
“Installed: centos-logos-httpd-85.8-1.el8.noarch”,
“Installed: httpd-filesystem-2.4.37-39.module_el8.4.0+778+c970deab.noarch”,
“Installed: httpd-tools-2.4.37-39.module_el8.4.0+778+c970deab.x86_64”,
“Installed: nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch”,
“Installed: php-fpm-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64”,
“Installed: php-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64”,
“Installed: php-common-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64”,
“Installed: mod_http2-1.15.7-3.module_el8.4.0+778+c970deab.x86_64”,
“Installed: php-cli-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64”,
“Installed: apr-1.6.3-11.el8.x86_64”,
“Installed: apr-util-1.6.1-6.el8.x86_64”
]
}
//安装php相关组件
[root@master ~]# ansible php -m yum -a ‘name=php-* state=present’
192.168.129.137 | CHANGED => {
“ansible_facts”: {
“discovered_interpreter_python”: “/usr/libexec/platform-python”
},
“changed”: true,
“msg”: “”,
“rc”: 0,
……略
[root@master ~]# ansible httpd -m lineinfile -a ‘path=/etc/httpd/conf/httpd.conf line=“<VirtualHost :80>\nDocumentRoot “/var/www/html/www1”\nServerName www.192.168.129.133.com\nProxyRequests off\nProxyPassMatch ^/(..php)$ fcgi://192.168.129.137:9000/var/www/html/www1/$1\n<Directory “/var/www/html/www1”>\nOptions None\nAllowOverride None\nOrder allow,deny\nAllow from all\n\n”’
192.168.129.133 | CHANGED => {
“ansible_facts”: {
“discovered_interpreter_python”: “/usr/libexec/platform-python”
},
“backup”: “”,
“changed”: true,
“msg”: “line added”
}
//在http主机上查看
[root@httpd conf]# cat /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
DocumentRoot “/var/www/html/www1”
ServerName www.192.168.129.133
ProxyRequests Off
ProxyPassMatch ^/(.*.php)$ fcgi://192.168.129.137:9000/var/www/html/www1$1
<Directory “/var/www/html/www1”>
Options none
言尽于此,完结
无论是一个初级的 coder,高级的程序员,还是顶级的系统架构师,应该都有深刻的领会到设计模式的重要性。
- 第一,设计模式能让专业人之间交流方便,如下:
程序员A:这里我用了XXX设计模式
程序员B:那我大致了解你程序的设计思路了
- 第二,易维护
项目经理:今天客户有这样一个需求…
程序员:明白了,这里我使用了XXX设计模式,所以改起来很快
- 第三,设计模式是编程经验的总结
程序员A:B,你怎么想到要这样去构建你的代码
程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题
- 第四,学习设计模式并不是必须的
程序员A:B,你这段代码使用的是XXX设计模式对吗?
程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的
从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!
搜集费时费力,能看到此处的都是真爱!
这里我用了XXX设计模式
程序员B:那我大致了解你程序的设计思路了
- 第二,易维护
项目经理:今天客户有这样一个需求…
程序员:明白了,这里我使用了XXX设计模式,所以改起来很快
- 第三,设计模式是编程经验的总结
程序员A:B,你怎么想到要这样去构建你的代码
程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题
- 第四,学习设计模式并不是必须的
程序员A:B,你这段代码使用的是XXX设计模式对吗?
程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的
[外链图片转存中…(img-NiReNVmT-1714276074842)]
从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!
[外链图片转存中…(img-5QfEFhIZ-1714276074843)]
搜集费时费力,能看到此处的都是真爱!