LNMP+zabbix一键安装部署

安装脚本

说明:此脚本只适用与RHEL6.x系列;Nginx版本为1.6最新稳定版;PHP为5.4最新版;Mysql为5.5最新稳定版;Zabbix暂时为2.4最新版。

#!/bin/bash#installNginx1.6.2+mysql5.5.x+PHP-FPM5.4.x+Zabbix2.4.4automatically.#TestedonCentOS6.5###############################################变量##############################################err_echo(){echo-e”\e[91m[Error]:$133[0m”exit1}info_echo(){echo-e”\e[92m[Info]:$133[0m”}warn_echo(){echo-e”\e[93m[Warning]:$133[0m”}check_exit(){if[$?-ne0];thenerr_echo”$1″exit1fi}###############################################check##############################################if[$EUID-ne0];thenerr_echo”pleaserunthisscriptasrootuser.”exit1fiif[“$(awk'{if($3>=6.0)print”CentOS6.x”}’/etc/redhat-release2>/dev/null)”!=”CentOS6.x”];thenerr_echo”ThisscriptisusedforRHEL/CentOS6.xonly.”fi###############################################Useradddeploynginx程序运行账号##############################################info_echo”Useradddeploy”useradddeploy###############################################yumrepo##############################################info_echo”配置yum源……”if[!-fLNMP+zabbix.repo];thencat>/etc/yum.repos.d/LNMP+zabbix.repo<<‘EOF'[nginx]name=nginxrepobaseurl=http://nginx.org/packages/centos/6/$basearch/gpgcheck=0enabled=1[webtatic]name=WebtaticRepositoryEL6-$basearch#baseurl=http://repo.webtatic.com/yum/el6/$basearch/mirrorlist=http://mirror.webtatic.com/yum/el6/$basearch/mirrorlistfailovermethod=priorityenabled=0gpgcheck=0[epel]name=ExtraPackagesforEnterpriseLinux6-$basearchbaseurl=http://mirrors.aliyun.com/epel/6/$basearch$basearch#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearchfailovermethod=priorityenabled=1gpgcheck=0[remi]name=LesRPMderemipourEnterpriseLinux6-$basearch#baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirrorenabled=1gpgcheck=0[zabbix]name=ZabbixOfficialRepository-$basearchbaseurl=http://repo.zabbix.com/zabbix/2.4/rhel/6/$basearch/enabled=1gpgcheck=0[zabbix-non-supported]name=ZabbixOfficialRepositorynon-supported-$basearchbaseurl=http://repo.zabbix.com/non-supported/rhel/6/$basearch/enabled=1gpgcheck=0EOFfi###############################################Installnginx+Mysql+PHP+zabbix##############################################info_echo”Installnginx+Mysql+PHP+zabbix……”yum-yinstallnginxphpphp-fpmphp-cliphp-commonphp-gdphp-mbstringphp-mcryptphp-mysqlphp-pdophp-develphp-imagickphp-xmlrpcphp-xmlphp-bcmathphp-dbaphp-enchantphp-yafmysqlmysql-serverzabbixzabbix-getzabbix-agentzabbix-server-mysqlzabbix-web-mysqlzabbix-serverwgetcheck_exit”FailedtoinstallNginx/Mysql/PHP/Zabbix!”##########################################Nginx#########################################info_echo”Nginx配置文件更新….”if[-f/etc/nginx/nginx.conf];thenmv/etc/nginx/nginx.conf/etc/nginx/nginx.conf.bakcat>/etc/nginx/nginx.conf<<‘EOF’userdeploy;worker_processes2;pid/var/run/nginx.pid;worker_rlimit_nofile65535;events{worker_connections65535;useepoll;}http{###BasicSettings##sendfileon;tcp_nopushon;tcp_nodelayon;keepalive_timeout65;types_hash_max_size2048;server_tokensoff;client_header_buffer_size4k;open_file_cachemax=65535inactive=60s;open_file_cache_valid80s;open_file_cache_min_uses1;server_names_hash_bucket_size64;server_name_in_redirectoff;include/etc/nginx/mime.types;default_typeapplication/octet-stream;###LoggingSettings##access_log/var/log/nginx/access.log;error_log/var/log/nginx/error.log;###GzipSettings##gzipon;gzip_disable”msie6″;gzip_min_length1k;gzip_buffers416k;gzip_comp_level2;gzip_typestext/plaintext/cssapplication/jsonapplication/x-javascripttext/xmlapplication/xmlapplication/xml+rsstext/javascript;###nginx-naxsiconfig###Uncommentitifyouinstallednginx-naxsi###include/etc/nginx/naxsi_core.rules;###nginx-passengerconfig###Uncommentitifyouinstallednginx-passenger###passenger_root/usr;#passenger_ruby/usr/bin/ruby;###VirtualHostConfigs##log_formatmain’$server_name$remote_addr-$remote_user[$time_local]”$request””$status$body_bytes_sent”$http_referer”””$http_user_agent””$http_x_forwarded_for””$ssl_protocol$ssl_cipher$upstream_addr$request_time$upstream_response_time’;include/etc/nginx/conf.d/*.conf;include/etc/nginx/sites-enabled/*.conf;}EOFfised-i”/worker_processes/cworker_processes$(grep”processor”/proc/cpuinfo|wc-l);”/etc/nginx/nginx.confinfo_echo”zabbix配置文件添加”cat>/etc/nginx/conf.d/zabbix.conf<<‘EOF’server{listen80;server_name_;indexindex.php;root/data/web/zabbix;location~*\.(js|css|png|jpg|jpeg|gif|ico)${expires30d;}location~*\.php${fastcgi_pass127.0.0.1:9000;fastcgi_indexindex.php;fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;includefastcgi_params;}}EOFmv/etc/nginx/conf.d/default.conf/etc/nginx/conf.d/default.conf.bak/etc/init.d/nginxrestart##########################################Zabbix#########################################info_echo”DownloadingzabbixWeb….”info_echo”创建网站目录…”mkdir-p/data/web/zabbixinfo_echo”Downloading…”if[!-f/tmp/zabbix.tar.gz];thencd/tmp&&wget-Ozabbix.tar.gz’http://sourceforge.net/projects/zabbix/files/latest/download?source=files’fiinfo_echo”解压安装文件…”cd/tmp&&tar-zxvf/tmp/zabbix.tar.gzcheck_exit”failedtoextractzabbixfrontend”ZABBIX_DIR=`ls/tmp/|grepzabbix-`mv/tmp/${ZABBIX_DIR}/frontends/php/*/data/web/zabbix/chown-Rdeploy.deploy/data/web/zabbix###############################################Database##############################################info_echo”Mysql配置文件更新…”sed-i’/^socket/i\port=3306’/etc/my.cnfsed-i’/^socket/a\skip-external-locking\nkey_buffer_size=256M\nmax_allowed_packet=1M\ntable_open_cache=256\nsort_buffer_size=1M\nread_buffer_size=1M\nread_rnd_buffer_size=4M\nmyisam_sort_buffer_size=64M\nthread_cache_size=8\nquery_cache_size=16M\nthread_concurrency=4\ncharacter-set-server=utf8\ninnodb_file_per_table=1’/etc/my.cnfinfo_echo”Restartmysql…”/etc/init.d/mysqldstartinfo_echo”CreateDatabases…”mysql-e’CREATEDATABASE`zabbix`DEFAULTCHARACTERSETutf8COLLATEutf8_unicode_ci;’mysql-e”GRANTALLPRIVILEGESon*.*tozabbix@’localhost’IDENTIFIEDBY’zabbix’;”mysql-e”flushprivileges”info_echo”配置zabbix的数据库项”sed-i’/DBPassword=/a\DBPassword=zabbix’/etc/zabbix/zabbix_server.confinfo_echo”importingschema.sql”mysql-uzabbix-pzabbixzabbix<$(rpm-qlzabbix-server-mysql|grepschema.sql)check_exit”failedtoimportschema.sql”info_echo”importingimages.sql”mysql-uzabbix-pzabbixzabbix<$(rpm-qlzabbix-server-mysql|grepimages.sql)check_exit”failedtoimportimages.sql”info_echo”importingdata.sql”mysql-uzabbix-pzabbixzabbix<$(rpm-qlzabbix-server-mysql|grepdata.sql)check_exit”failedtoimportdata.sql”##########################################PHP-FPM#########################################info_echo”更新/etc/php.ini,…”sed-i’/^;default_charset/a\default_charset=”UTF-8″‘/etc/php.inised-i’/^expose_php/cexpose_php=Off’/etc/php.inised-i’/^max_execution_time/cmax_execution_time=300’/etc/php.inised-i’/^max_input_time/cmax_input_time=300’/etc/php.inised-i’/^memory_limit/cmemory_limit=256M’/etc/php.inised-i’/^post_max_size/cpost_max_size=32M’/etc/php.inised-i’/^upload_max_filesize/cupload_max_filesize=300M’/etc/php.inised-i’/^max_file_uploads/cmax_file_uploads=30’/etc/php.inised-i’/^;date.timezone/cdate.timezone=”PRC”‘/etc/php.inised-i’s/apache/deploy/g’/etc/php-fpm.d/www.confchowndeploy.deploy-R/var/lib/phpinfo_echo”Checkingphp-fpmconfigurationfile…”/etc/init.d/php-fpmconfigtestcheck_exit”PHP-FPMconfigurationsyntaxerror”info_echo”RestartPHP-FPM…”/etc/init.d/php-fpmrestartinfo_echo”RestartZabbixServer…”/etc/init.d/zabbix-serverrestartinfo_echo”RestartZabbixAgent…”/etc/init.d/zabbix-agentrestart##########################################开机启动项#########################################chkconfignginxonchkconfigphp-fpmonchkconfigmysqldonchkconfigzabbix-agentonchkconfigzabbix-serveron

至此zabbix一键部署安装就完成了,,请多提意见!谢谢

所有的失败,与失去自己的失败比起来,更是微不足道

LNMP+zabbix一键安装部署

相关文章:

你感兴趣的文章:

标签云: