- lamp架构
- Apache
- MySQL
- PHP
- 开始部署lamp架构
zabbix是基于lamp部署的
lamp架构 Apache[root@master prod]# pwd /srv/salt/prod [root@master prod]# tree . ├── modules │ ├── application │ │ └── php │ │ ├── files │ │ │ ├── httpd.conf │ │ │ ├── index.php │ │ │ ├── init.d.php-fpm │ │ │ ├── install.sh │ │ │ ├── oniguruma-devel-6.8.2-2.el8.x86_64.rpm │ │ │ ├── php-7.4.25.tar.gz │ │ │ ├── php-8.0.12.tar.gz │ │ │ ├── php-fpm.conf.default │ │ │ ├── php-fpm.service │ │ │ ├── php.ini-production │ │ │ └── www.conf.default │ │ └── install.sls │ ├── database │ │ └── mysql │ │ ├── files │ │ │ ├── my.conf │ │ │ ├── mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz │ │ │ ├── mysqld.service │ │ │ ├── mysqld.sh │ │ │ └── mysql.server │ │ └── install.sls │ └── web │ └── apache │ ├── file │ │ ├── apr-1.7.0.tar.gz │ │ ├── apr-util-1.6.1.tar.gz │ │ ├── httpd-2.4.48.tar.gz │ │ ├── httpd.conf │ │ ├── httpd.service │ │ └── install.sh │ └── install.sls └── zabbix ├── apache.sls ├── file │ ├── index.php │ ├── my.conf │ ├── mysql.conf │ └── vhosts.conf ├── main.sls └── mysql.sls 12 directories, 32 files //Apache安装和配置 [root@master apache]# cat install.sls "Development Tools": pkg.group_installed httpd-install: pkg.installed: - name: httpd httpd-dep-package: pkg.installed: - pkgs: - openssl-devel - pcre-devel - expat-devel - libtool - gcc - gcc-c++ - make create-apache-user: user.present: - name: apache - createhome: false - system: true - shell: /sbin/nologin download-apache: file.managed: - names: - /usr/src/apr-1.7.0.tar.gz: - source: salt://modules/web/apache/file/apr-1.7.0.tar.gz - /usr/src/apr-util-1.6.1.tar.gz: - source: salt://modules/web/apache/file/apr-util-1.6.1.tar.gz - /usr/src/httpd-2.4.48.tar.gz: - source: salt://modules/web/apache/file/httpd-2.4.48.tar.gz salt://modules/web/apache/file/install.sh: cmd.script /usr/local/httpd/conf/httpd.conf: file.managed: - source: salt://modules/web/apache/file/httpd.conf - user: root - group: root - mode: '0644' /usr/lib/systemd/system/httpd.service: file.managed: - source: salt://modules/web/apache/file/httpd.service [root@master apache]# tree file/ file/ ├── apr-1.7.0.tar.gz ├── apr-util-1.6.1.tar.gz ├── httpd-2.4.48.tar.gz ├── httpd.conf ├── httpd.service └── install.sh [root@master apache]# cat file/install.sh #!/bin/bash cd /usr/src # 这里要删除解压的目录,因为如果已经编译过一次,此时目录里面不仅有源目录的文件还会出现编译时新生成的文件。这个时候再解压的话,他只会覆盖刚解压的目录文件,并不会覆盖编译时新生成的新文,这样的话新的解压目录和旧的编译文件就会冲突,所有要删除解压包从头来,确保环境的干净。 rm -rf apr-1.7.0 apr-util-1.6 httpd-2.4.48 tar xf apr-1.7.0.tar.gz tar xf apr-util-1.6.1.tar.gz tar xf httpd-2.4.48.tar.gz cd apr-1.7.0/ sed -i 's/$RM "$cfgfile"/ # $RM "$cfgfile"/g' configure ./configure --prefix=/usr/local/apr && make && make install cd ../apr-util-1.6.1 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install cd ../httpd-2.4.48 ./configure --prefix=/usr/local/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork && make && make install //Apache配置 [root@master zabbix]# pwd /srv/salt/prod/zabbix [root@master zabbix]# ll 总用量 12 -rw-r--r-- 1 root root 611 11月 11 10:22 apache.sls drwxr-xr-x 2 root root 75 11月 10 22:53 file -rw-r--r-- 1 root root 80 11月 10 21:32 main.sls -rw-r--r-- 1 root root 718 11月 11 09:51 mysql.sls [root@master zabbix]# cat apache.sls include: - modules.web.apache.install /usr/include/httpd: file.symlink: - target: /usr/local/httpd/include /usr/local/httpd/htdocs/zabbix: file.directory: - user: root - group: root - mode: '0775' - makedirs: true /usr/local/httpd/conf/extra/vhosts.conf: file.managed: - source: salt://zabbix/file/vhosts.conf - user: root - group: root - mode: '0644' /usr/local/httpd/htdocs/zabbix/index.php: file.managed: - source: salt://zabbix/file/index.php - user: root - group: root - mode: '0644' httpd.service: service.running: - enable: true [root@master zabbix]# tree file/ file/ ├── index.php ├── my.conf ├── mysql.conf └── vhosts.conf [root@master zabbix]# cat file/index.php [root@master zabbix]# cat file/vhosts.confMySQLdocumentRoot "/usr/local/apache/htdocs/zabbix" ServerName zabbix.example.com ProxyRequests Off ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9000/usr/local/httpd/htdocs/zabbix/$1 Options none AllowOverride none Require all granted
//数据库的安装 [root@master mysql]# pwd /srv/salt/prod/modules/database/mysql [root@master mysql]# cat install.sls ncurses-compat-libs: pkg.installed mysql: user.present: - system: true - createhome: false - shell: /sbin/nologin /usr/local: archive.extracted: - source: salt://modules/database/mysql/files/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz file.symlink: - name: /usr/local/mysql - target: /usr/local/mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql: file.directory: - user: mysql - group: mysql - mode: '0755' - recurse: - user - group /opt/data: file.directory: - user: mysql - group: mysql - mode: '0755' - makedirs: true - recurse: - user - group /etc/profile.d/mysqld.sh: file.managed: - source: salt://modules/database/mysql/files/mysqld.sh - user: root - group: root - mode: '0644' /usr/local/mysql/support-files/mysql.server: file.managed: - source: salt://modules/database/mysql/files/mysql.server - user: mysql - group: mysql - mode: '0755' /usr/lib/systemd/system/mysqld.service: file.managed: - source: salt://modules/database/mysql/files/mysqld.service - user: root - group: root - mode: '0644' mysql-initialize: cmd.run: - name: '/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/data/' [root@master mysql]# tree files/ files/ ├── my.conf ├── mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz ├── mysqld.service ├── mysqld.sh └── mysql.server 0 directories, 5 files [root@master mysql]# cat files/mysqld.sh export PATH=/usr/local/mysql/bin:$PATH //数据库的配置 [root@master zabbix]# pwd /srv/salt/prod/zabbix [root@master zabbix]# ll 总用量 12 -rw-r--r-- 1 root root 611 11月 11 10:22 apache.sls drwxr-xr-x 2 root root 75 11月 10 22:53 file -rw-r--r-- 1 root root 80 11月 10 21:32 main.sls -rw-r--r-- 1 root root 718 11月 11 09:51 mysql.sls [root@master zabbix]# cat mysql.sls include: - modules.database.mysql.install lamp-dep-package: pkg.installed: - pkgs: - ncurses-devel - openssl-devel - openssl - cmake - mariadb-devel /usr/local/include/mysql: file.symlink: - target: /usr/local/mysql/include /etc/ld.so.conf.d/mysql.conf: file.managed: - source: salt://zabbix/file/mysql.conf - user: root - group: root - mode: '0644' /etc/my.conf: file.managed: - source: salt://zabbix/file/my.conf - user: root - group: root - mode: '0644' mysqld.service: service.running: - enable: true set-password-mysql: cmd.run: - name: /usr/local/mysql/bin/mysql -e "set password = password('wjm123');" [root@master zabbix]# tree file/ file/ ├── index.php ├── my.conf ├── mysql.conf └── vhosts.confPHP
[root@master php]# pwd /srv/salt/prod/modules/application/php [root@master php]# cat install.sls /tmp/oniguruma-devel-6.8.2-2.el8.x86_64.rpm: file.managed: - source: salt://modules/application/php/files/oniguruma-devel-6.8.2-2.el8.x86_64.rpm - user: root - group: root - move: '0644' cmd.run: - name: yum -y install /tmp/oniguruma-devel-6.8.2-2.el8.x86_64.rpm php-dep-package: pkg.installed: - pkgs: - sqlite-devel - libzip-devel - libsqlite3x-devel - libxml2 - libxml2-devel - openssl - openssl-devel - bzip2 - bzip2-devel - libcurl - libcurl-devel - libicu-devel - libjpeg-turbo - libjpeg-turbo-devel - libpng - libpng-devel - openldap-devel - pcre-devel - freetype - freetype-devel - gmp - gmp-devel - readline - readline-devel - libxslt - libxslt-devel - make /usr/src/: archive.extracted: - source: salt://modules/application/php/files/php-7.4.25.tar.gz salt://modules/application/php/files/install.sh: cmd.script copy-file-php7: file.managed: - names: - /usr/local/php7/etc/php-fpm.conf: - source: salt://modules/application/php/files/php-fpm.conf.default - /usr/local/php7/etc/php-fpm.d/www.conf: - source: salt://modules/application/php/files/www.conf.default - /etc/php.ini: - source: salt://modules/application/php/files/php.ini-production - /etc/init.d/php-fpm: - source: salt://modules/application/php/files/init.d.php-fpm - user: root - group: root - mode: '0755' - /usr/lib/systemd/system/php-fpm.service: - source: salt://modules/application/php/files/php-fpm.service php-fpm.service: service.running: - enable: true [root@master php]# tree files/ files/ ├── httpd.conf ├── index.php ├── init.d.php-fpm ├── install.sh ├── oniguruma-devel-6.8.2-2.el8.x86_64.rpm ├── php-7.4.25.tar.gz ├── php-8.0.12.tar.gz ├── php-fpm.conf.default ├── php-fpm.service ├── php.ini-production └── www.conf.default开始部署lamp架构
[root@master zabbix]# ls apache.sls file main.sls mysql.sls [root@master zabbix]# cat main.sls include: - zabbix.apache - zabbix.mysql - modules.application.php.install [root@master zabbix]# salt '*' state.sls zabbix.main saltenv=prod # 等待安装完成即可
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)