yum lnmp全家桶

  1 #########################################################
  2 #by:kingle                                                #
  3 #use: fast lnmp                                            #
  4 #version:1.0                                            #
  5 #php:php-7.2.8                                            #
  6 #nginx:    1.15.1                                            #
  7 #mysql:5.6.41                                            #
  8 #cenos:    2.6.32-754.2.1.el6.x86_64                        #        
  9 #########################################################
 10 #!/bin/sh
 11 [ -f /etc/init/functions ] && source /etc/init/functions || exit 1
 12 echo '
 13 1) 安装lnmp
 14 2) 退出
 15 '
 16 read -p "please 1 to 2" n
 17 function yum (){
 18     echo " 安装epel源...."
 19     yum install -y epel-release &>/dev/null
 20     [ $? -eq 0 ] && echo "ok"
 21 
 22     echo "导入RPM_GPG_KEY"
 23     rpm --import mysql_pubkey.asc &>/dev/null
 24     [ $? -eq 0 ] && echo "ok"
 25 
 26     echo “导入mysql yum源”
 27     rpm -Uvh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm &>/dev/null
 28     [ $? -eq 0 ] && echo "ok"
 29 
 30     echo "导入RPM_GPG_KEY"
 31     rpm --import http://rpms.remirepo.net/RPM-GPG-KEY-remi &>/dev/null
 32     [ $? -eq 0 ] && echo "ok"
 33 
 34     echo "安装php yum源"
 35     rpm -Uvh http://remi.mirrors.arminco.com/enterprise/remi-release-7.rpm &>/dev/null
 36     [ $? -eq 0 ] && echo "ok"
 37 
 38     echo "导入RPM_GPG_KEY"
 39     rpm --import http://nginx.org/packages/keys/nginx_signing.key &>/dev/null
 40     [ $? -eq 0 ] && echo "ok"
 41 
 42     echo "安装nginx yum源"
 43     rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm &>/dev/null
 44     [ $? -eq 0 ] && echo "ok"
 45     sed -i "/remi\/mirror/{n;s/enabled=0/enabled=1/g}" /etc/yum.repos.d/remi.repo
 46     sed -i "/test\/mirror/{n;n;s/enabled=0/enabled=1/g}" /etc/yum.repos.d/remi.repo
 47     sed -i "/php70\/mirror/{n;s/enabled=0/enabled=1/g}" /etc/yum.repos.d/remi-php70.repo
 48     yum clean all
 49     yum makecache
 50 }
 51 function yuminstall(){
 52     yum install -y mysql-community-server nginx php php-bcmath php-fpm php-gd php-json php-mbstring php-mcrypt php-mysqlnd php-opcache php-pdo php-pdo_dblib php-pgsql php-recode php-snmp php-soap php-xml php-pecl-zip phpMyAdmin
 53 
 54 }
 55 function mysql(){
 56     ystemctl start mysqld.service
 57     mysql_secure_installation && expect mysql.exp
 58 }
 59 function php(){
 60 cat >>/etc/php.ini<<EOF
 61     #更换监听方式
 62     listen = /dev/shm/php-fpm-default.sock
 63     #监听队列最大长度为不限
 64     listen.backlog = -1
 65     #指定监听用户和用户组(需存在)
 66     listen.owner = www
 67     listen.group = www
 68 EOF
 69     systemctl start php-fpm.service
 70 }
 71 function nginx(){
 72     #新建名为 nginx-default.conf 的配置文件
 73     touch /etc/nginx/conf.d/nginx-default.conf
 74 cat >>/etc/nginx/conf.d/nginx-default.conf<<EOF
 75     server
 76 {
 77     listen 80 default;
 78     return 400;
 79 }
 80 server
 81 {
 82     listen 80;
 83         #监听80端口
 84     server_name default.com www.default.com;
 85     #绑定域名 default.com 和 www.default.com
 86     index index.html index.htm index.php;
 87     #设置首页文件,越前优先级越高
 88     charset utf-8;
 89     #设置网页编码
 90 
 91     root  /home/wwwroot/default;
 92     #设置站点根目录
 93 
 94         #运行 PHP
 95     location ~ .*\.php$
 96     {
 97         fastcgi_pass  127.0.0.1:9000
 98     #默认使用9000端口和PHP通信
 99         #fastcgi_pass  unix:/dev/shm/php-fpm-default.sock;
100     #使用 unix sock 和PHP通信
101         fastcgi_index index.php;
102         fastcgi_param DOCUMENT_ROOT  /home/wwwroot/default;
103     #PHP 文档根目录
104         fastcgi_param SCRIPT_FILENAME  /home/wwwroot/default$fastcgi_script_name;
105      #PHP 脚本目录
106         include fastcgi_params;
107         try_files $uri = 404;
108     }
109 
110     #设置文件过期时间
111     location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp3|wma)$
112     {
113         expires      30d;
114     }
115 
116     #设置文件过期时间
117     location ~ .*\.(js|css)$
118     {
119         expires      12h;
120     }
121 
122     #设置文件访问权限
123     location ~* /templates(/.*)\.(bak|html|htm|ini|old|php|tpl)$ {
124         allow 127.0.0.1;
125         deny all;
126     }
127 
128     #设置文件访问权限
129     location ~* \.(ftpquota|htaccess|htpasswd|asp|aspx|jsp|asa|mdb)?$ {
130         deny all;
131     }
132 
133     #保存日志
134     access_log /var/log/nginx/default-access.log main;
135     error_log /var/log/nginx/default-error.log crit;
136 }
137 EOF
138     #防火墙放行 HTTP 端口访问
139     firewall-cmd --permanent --zone=public --add-service=http
140     firewall-cmd --reload
141     #启动nginx
142     systemctl start nginx.service
143 
144 }
145 function phpmyadmin(){
146     cat >>etc/phpMyAdmin/config.inc.php<<EOF
147     $cfg['Servers'][$i]['host'] = 'localhost';
148     $cfg['Servers'][$i]['port'] = '3306';
149     $cfg['Servers'][$i]['socket'] = '/var/lib/mysql/mysql.sock';
150     $cfg['Servers'][$i]['connect_type'] = 'socket';
151     $cfg['Servers'][$i]['extension'] = 'mysqli';
152     $cfg['Servers'][$i]['auth_type'] = 'cookie';
153     $cfg['UploadDir'] = '/tmp';
154     $cfg['SaveDir'] = '/tmp';
155 EOF
156     #复制 phpMyAdmin 目录
157     cp -a /usr/share/phpMyAdmin /home/wwwroot/default/
158 
159 #替换连接形式为目录
160     rm -rf /home/wwwroot/default/phpMyAdmin/doc/html
161     cp -a /usr/share/doc/phpMyAdmin-4.8.2/html/ /home/wwwroot/default/phpMyAdmin/doc/
162 }
163 main (){
164     yum
165     yuminstall
166     php
167     mysql
168     nginx
169     phpmyadmin
170 }
171 
172 main
173 case $n in
174     1)
175     main
176     exit
177     ;;
178     2)
179     exit 0
180     ;;
181     *)
182     echo "please input 1 or 2"
183     exit 1
184     ;;
185 esac

猜你喜欢

转载自www.cnblogs.com/kingle-study/p/9439400.html
yum