LinuxcentosでLnmpシェルスクリプトをコンパイルしてインストールします

#! /bin/bash
repo="/etc/yum.repos.d/CentOS7-Base-163.repo"if[!-e $repo ]; then                 # -eファイルの存在を確認します。参照:条件付き判定ファイルまたはディレクトリの場合はシェル
yum install -y wget
cd /etc/yum.repos.d/
mkdir bak
mv * bak
# wget http://mirrors.aliyun.com/repo/Centos-7.repo
# wget http://mirrors.aliyun.com/repo/epel-7.repo
          # 2つのファイルをディレクトリに移動します
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
# sed -i  's/$releasever/7/g'/etc/yum.repos.d/CentOS-Base.repo
          # yumソースが対応するバージョンパッケージと一致しません; yumをcentos7に変更します
yum clean all                           #元のキャッシュをクリアする
yum makecache                           #新しいキャッシュを生成する
          # make cache [meɪk][kaʃ]キャッシュを作成する{ka xi}
yum  list                               #yumを確認してください
cd
else 
echo "yumが切り替わりました"
fi
################## nginx  ##################
aznginx(){
lsnginx=(`find / -name "nginx.conf" | sed "s/ //g"`) #シェル括弧属性は、配列変数lsnginxを定義します。その値は、コマンドの実行結果です。
echo "
nginx構成ファイルの総数は次のとおりです。${#lsnginx[*]}
nginx構成ファイルを一覧表示します"    ${lsnginx[*]}         # [*]アスタリスクはすべての要素をリストし、アスタリスクは1に変更されて、添え字1を指定します。これは、デフォルトで0から始まる2番目の要素を意味します。
if[ ${#lsnginx[*]}-lt 1]                     # -ltは;未満です。$空です、!非操作;$?最後のコマンドの実行ステータスを判断します。0は正常です。参照:linuxシェル$$,$!特別な使用法
then
echo "構成ファイルが空で、nginxがインストールされています"
yum install -y gcc gcc-c++
yum install -y pcre pcre-devel openssl openssl-devel zlib zlib-devel
useradd -s /bin/false-M nginx
mkdir -p /www/server/nginx/download                                     #カタログをダウンロード
mkdir -p /www/server/nginx/18                                           #導入手引き
cd /www/server/nginx/download
#
# wget http://nginx.org/download/nginx-1.18.0.tar.gz
wget http://work.eisc.cn/ruanjian/rpm/lnmp/nginx-1.18.0.tar.gz
tar -zxf nginx-1.18.0.tar.gz
cd nginx-1.18.0
# ディレクトリパラメータをコンパイルしてインストールします。--prefix
. /configure --user=nginx \
- - group=nginx \
- - prefix=/www/server/nginx/18 \
- - with-http_v2_module \
- - with-http_ssl_module \
- - with-http_sub_module \
- - with-http_stub_status_module \
- - with-http_gzip_static_module \
- - with-pcre
make && make install
ln -s /www/server/nginx/18/nginx-1.18.0/www/server/nginx/18/nginx
             # nginxを与える-1.12.0ソフトリンクを作成し、最後のバージョン番号を削除します
ln -s /www/server/nginx/18/sbin/* /usr/local/sbin/ #nginxコマンドの環境変数へのソフトリンクを作成します
############ phpのサポートを追加############
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=9000/tcp #最初にファイアウォールポートを解放します
firewall-cmd --reload                   #ファイアウォールを再起動します
mkdir -p /www/wwwroot/html              #ウェブパス
nginxconf="/www/server/nginx/18/conf/nginx.conf"
sed -i "/#/d" $nginxconf ; sed -i "/^$/d" $nginxconf 
cp $nginxconf $nginxconf.backup
          # フォーカス:ブートソフトチェーンを変更し、ファイルを書き込む必要があります。そうしないと、再起動が失敗し、nginxを開始できません。
sed -i "1 a\pid    /usr/bin/nginx.pid; " $nginxconf
/usr/local/sbin/nginx                   #nginxを開始します
NR=`cat -n $nginxconf | grep "error_page" | awk -F" " '{print $1}'` ; echo $NR
sed -i "$NR i\  location ~ \.php$ { \n                         root           /www/wwwroot;  \n                         fastcgi_pass 127.0.0.1:9000; \n                         fastcgi_index index.php; \n                         fastcgi_param  SCRIPT_FILENAME  \$document_root\$fastcgi_script_name; \n                         include        fastcgi_params; \n                 }" $nginxconf
                      # サポートphp解析ディレクトリの場所を変更します
NR=`cat -n $nginxconf | grep "root" | grep "html" | awk -F" " 'NR==1{print $1}' | sed "s/ //g" ` ; echo "nginxのWebディレクトリ行番号を次のように検索します。" $NR 
sed -i "$NR s/root.*/root  \/www\/wwwroot\;/g" $nginxconf
          # Webディレクトリを変更する
echo "                                                                          #phpテストファイルを書く
<? php
phpinfo()?>
" > /www/wwwroot/html/index.php
####################################
cd
nginx -s stop                           #やめる
nginx
nginx -t                                #ソフト接続
nginx
yum install -y net-tools                #ポートツールキット
netstat -ntlp                           #ポートを表示
nginx -s reload                         #nginxリロード構成;再起動
firewall-cmd --permanent --add-port=80/tcp #ファイアウォールはポート80を許可します
systemctl restart firewalld
 cat /var/log/nginx/error.log           #nginxログ
else                                    #直接終了したい場合:exitとfiが協力します
 echo "nginx.confが存在し、nginxがインストールされている"
fi
}
aznginx
################## php7.2 ##################
azphp(){
lsphp=(`find / -name "php.ini" | sed "s/ //g"`) #シェル括弧属性は、配列変数lsnginxを定義します。その値は、コマンドの実行結果です。
echo "
nginx構成ファイルの総数は次のとおりです。${#lsphp[*]}
nginx構成ファイルを一覧表示します"    ${lsphp[*]}     # [*]アスタリスクはすべての要素をリストし、アスタリスクは1に変更されて、添え字1を指定します。これは、デフォルトで0から始まる2番目の要素を意味します。
if[ ${#lsphp[*]}-lt 1]               # -ltは;未満です。$空です、!非操作;$?最後のコマンドの実行ステータスを判断します。0は正常です。参照:linuxシェル$$,$!特別な使用法
then
echo "構成ファイルが空で、phpがインストールされています"
yum install epel-release -y             #拡張パックをインストールし、システムカーネルを更新します
yum list
yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel
          # php依存関係(Nginx依存関係を含む)をインストールします
downloadPHP="/www/server/php/download"
installPHP="/www/server/php/72"
mkdir -p $downloadPHP
mkdir -p $installPHP                    #ダウンロードおよびインストールディレクトリを作成する
groupadd www                            #wwwグループを作成する
useradd -g www www                      #グループwwwに属するユーザーwwwを作成します
yum install -y wget ; yum install -y star
          # wgetダウンロードツールとスター解凍ツールをインストールします
cd $downloadPHP                         #ダウンロードディレクトリに入った後、ファイルをダウンロードします
# wget http://am1.php.net/distributions/php-7.2.1.tar.gz
wget http://work.eisc.cn/ruanjian/rpm/lnmp/php-7.2.1.tar.gz
tar xvf php-7.2.1.tar.gz                # tar -xvfは解凍であり、-cvfは圧縮パッケージを作成することです
cd php-7.2.1
# ユーザーとグループを作成し、phpインストールパッケージをダウンロードして解凍します
cp -frp /usr/lib64/libldap*/usr/lib/  #dapライブラリをコピーします
#### コンパイルとインストールはコマンドの始まりです
. /configure --prefix=/www/server/php/72 \
- - with-config-file-path=/www/server/php/72/etc \
- - enable-fpm \
- - with-fpm-user=www \
- - with-fpm-group=www \
- - enable-mysqlnd \
- - with-mysqli=mysqlnd \
- - with-pdo-mysql=mysqlnd \
- - enable-mysqlnd-compression-support \
- - with-iconv-dir \
- - with-freetype-dir \
- - with-jpeg-dir \
- - with-png-dir \
- - with-zlib \
- - with-libxml-dir \
- - enable-xml \
- - disable-rpath \
- - enable-bcmath \
- - enable-shmop \
- - enable-sysvsem \
- - enable-inline-optimization \
- - with-curl \
- - enable-mbregex \
- - enable-mbstring \
- - enable-intl \
- - with-mcrypt \
- - with-libmbfl \
- - enable-ftp \
- - with-gd \
- - enable-gd-jis-conv \
- - enable-gd-native-ttf \
- - with-openssl \
- - with-mhash \
- - enable-pcntl \
- - enable-sockets \
- - with-xmlrpc \
- - enable-zip \
- - enable-soap \
- - with-gettext \
- - disable-fileinfo \
- - enable-opcache \
- - with-pear \
- - enable-maintainer-zts \
- - with-ldap=shared \
- - without-gdbm
#### コンパイルしてインストールするのはコマンドの終わりです
make -j 4&& make install                           #作ってみよう-j4最大4つのコンパイルコマンドを同時に実行できます
cp php.ini-development $installPHP/etc/php.ini
cp $installPHP/etc/php-fpm.conf.default $installPHP/etc/php-fpm.conf
cp $installPHP/etc/php-fpm.d/www.conf.default $installPHP/etc/php-fpm.d/www.conf
setphpini=`find $installPHP -name "php.ini"`; echo $setphpini #変数名を定義します。値がfindであるsetphpiniファイルphpを検索します。.iniコマンドによって返される結果
\ cp $setphpini $setphpini.backup                    #バックアップ,バックスラッシュ、聞かないで
sed -i "s/expose_php.*/expose_php\=off/g" $setphpini
             # sed -i前の文字列とその後のすべての文字列に一致するようにファイルを変更し、次の文字列に変更します。\特殊文字を翻訳する$setphpiniはファイルパス変数です
sed -i "s/short_open_tag.*/short_open_tag\=ON/g" $setphpini
sed -i "s/max_execution_time.*/max_execution_time\=1s/g" $setphpini
             # execution  [ˌɛksəˈkjuʃ(ə)n]実施した
sed -i "s/max_input_time.*/max_input_time\=1s/g" $setphpini
sed -i "s/memory_limit.*/memory_limit\=128M/g" $setphpini
             # [ ˈmeməri ˈlɪmɪt]メモリ制限
sed -i "s/post_max_size.*/post_max_size\=30M/g" $setphpini
sed -i "s/date.timezone.*/date.timezone\=Asia\/Shanghai/g" $setphpini
sed -i "s/memory_limit.*/memory_limit\=128M/g" $setphpini
sed -i "s/mbstring.func_overload.*/mbstring.func_overload\=2/g" $setphpini
NR=`cat -n $setphpini | grep "mbstring.func_overload" | awk -F" " '{print $1}' | sed "s/ //g"`; echo $NR
             # 行番号変数NRを定義します。grepは文字列が配置されている行と一致し、最初の列を出力し、スペースを削除します
sed -i "$NR a\extension = /www/server/php/72/lib/php/extensions/no-debug-zts-20170718/ldap.so" $setphpini
             # 行に文字列を書く$のNR\次の行を書いて、
NR=`cat -n $setphpini | grep "\[opcache" | awk -F" " '{print $1}' | sed "s/ //"`; echo $NR
sed -i "$NR a\zend_extension=/www/server/php/72/lib/php/extensions/no-debug-zts-20170718/opcache.so" $setphpini 
sed -i "s/opcache.max_accelerated_files.*/opcache.max_accelerated_files\=4000/g" $setphpini
             # キャッシュ
sed -i "s/opcache.revalidate_freq.*/opcache.revalidate_freq\=60/g" $setphpini
sed -i "s/opcache.fast_shutdown.*/opcache.fast_shutdown\=1/g" $setphpini
sed -i "s/opcache.enable_cli.*/opcache.enable_cli\=1/g" $setphpini
sed -i "s/disable_functions.*/disable_functions\=passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru/g" $setphpini
 NR=`cat -n $setphpini | grep disable_functions | awk -F" " '{print $1}' | sed "s/ //g"`
sed -i "$NR a\listen = /var/run/www/php-cgi.sock " $setphpini
############################
wwwconf=`find $installPHP -name "www.conf" `; echo "構成ファイルを変更します。"$wwwconf
cp $wwwconf $wwwconf.backup
############################
NR=`cat -n $wwwconf | grep "listen \= " | awk -F" " '{print $1}' | sed "s/ //g"`
             # cat -nファイルを表示して行番号を表示します。awkフィールド処理では、最初の列が行番号として出力されます。
sed -i "$NR s/listen.*/listen \= \/var\/run\/www\/php-cgi.sock/g" $wwwconf
             # 行番号を取得し、sed-指定した行番号の内容を変更します
NR=`cat -n $wwwconf | grep "listen.owner = www" | awk -F" " '{print $1}' | sed "s/ //g"`
sed -i "$NR a\listen.owner = www" $wwwconf
             # sed -指定された行番号のi$NRは\次の行に文字列を挿入します
                                                                                         
NR=`cat -n $wwwconf | grep "listen.group = www" | awk -F" " '{print $1}' | sed "s/ //g"`
sed -i "$NR a\listen.group = www"  $wwwconf
NR=`cat -n $wwwconf | grep "listen.mode =" | awk -F" " '{print $1}' | sed "s/ //g"`
sed -i "$NR a\listen.mode = 0660" $wwwconf 
NR=`cat -n $wwwconf | grep "listen.allowed_clients" | awk -F" " '{print $1}' | sed "s/ //g"`
sed -i "$NR a\listen.allowed_clients = 127.0.0.1" $wwwconf 
NR=`cat -n $wwwconf | grep "listen.backlog" | awk -F" " '{print $1}' | sed "s/ //g"`
sed -i "$NR a\listen.backlog = -1" $wwwconf 
NR=`cat -n $wwwconf | grep "pm.max_children =" | awk -F" " '{print $1}' | sed "s/ //g"`
sed -i "$NR s/pm.max_children \=.*/pm.max_children \= 180/g" $wwwconf 
NR=`cat -n $wwwconf | grep "pm.start_servers =" | awk -F" " '{print $1}' | sed "s/ //g"`
sed -i "$NR s/pm.start_servers \=.*/pm.start_servers \= 50/g" $wwwconf 
NR=`cat -n $wwwconf | grep "pm.min_spare_servers =" | awk -F" " '{print $1}' | sed "s/ //g"`
sed -i "$NR s/pm.min_spare_servers \=.*/pm.min_spare_servers \= 50/g" $wwwconf 
NR=`cat -n $wwwconf | grep "pm.max_spare_servers =" | awk -F" " '{print $1}' | sed "s/ //g"`
sed -i "$NR s/pm.max_spare_servers \=.*/pm.max_spare_servers \= 180/g" $wwwconf 
NR=`cat -n $wwwconf | grep "request_terminate_timeout =" | awk -F" " '{print $1}' | sed "s/ //g"`
sed -i "$NR a\request_terminate_timeout = 120" $wwwconf 
                    # $NRは指定された行にあり、aは次の行に挿入される文字列です
NR=`cat -n $wwwconf | grep "request_slowlog_timeout =" | awk -F" " '{print $1}' | sed "s/ //g"`
sed -i "$NR a\request_slowlog_timeout = 50" $wwwconf 
NR=`cat -n $wwwconf | grep "slowlog =" | awk -F" " '{print $1}' | sed "s/ //g"`; 
sed -i "$NR a\slowlog = var/log/slow.log" $wwwconf 
mkdir /var/run/www/
chown -R www:www /var/run/www                   #phpを作成する-cgi.靴下収納ディレクトリ
NR=`cat -n $installPHP/etc/php-fpm.conf | grep "pid =" | awk -F" " '{print $1}' | sed "s/ //g"`; echo $NR
sed -i "$NR a\pid = /www/server/php/72/var/run/php-fpm.pid"/www/server/php/72/etc/php-fpm.conf
echo -e "
[ Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[ Service]
Type=simple
PIDFile=$installPHP/var/run/php-fpm.pid
ExecStart=$installPHP/sbin/php-fpm --nodaemonize --fpm-config $installPHP/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[ Install]
WantedBy=multi-user.target
" > /usr/lib/systemd/system/php-fpm.service
NR=`cat -n /www/server/php/72/etc/php-fpm.d/www.conf | grep "listen =" | awk -F" " '{print $1}' | sed "s/ //g"`; echo $NR
            # grepは、文字列が配置されている行と一致します、awk-Fは区切り文字としてスペースを指定し、最初の列を出力します
sed -i "$NR s/listen =.*/listen = 127.0.0.1:9000/g" $installPHP/etc/php-fpm.d/www.conf
            # ポート900を監視するように構成ファイルを変更します
ln -s /www/server/php/72/bin/php  /usr/bin      #ショートカットを作成し、phpを直接使用します
 systemctl start php-fpm
 systemctl stop php-fpm
 systemctl restart php-fpm
 systemctl reload php-fpm
else 
echo "php.iniファイルが存在し、phpがインストールされています"
fi
}
azphp
azmariadb(){
lsphp=(`find / -name "mysql.server" | sed "s/ //g"`) #シェル括弧属性は、配列変数lsnginxを定義します。その値は、コマンドの実行結果です。
echo "
nginx構成ファイルの総数は次のとおりです。${#lsphp[*]}
nginx構成ファイルを一覧表示します"    ${lsphp[*]}             # [*]アスタリスクはすべての要素をリストし、アスタリスクは1に変更されて、添え字1を指定します。これは、デフォルトで0から始まる2番目の要素を意味します。
if[ ${#lsphp[*]}-lt 1]                       # -ltは;未満です。$空です、!非操作;$?最後のコマンドの実行ステータスを判断します。0は正常です。参照:linuxシェル$$,$!特別な使用法
then
echo "構成ファイルが空で、mariadbがインストールされています"
yum install -y openssl openssl-devel ncurses ncurses-devel bison bison-devel jemalloc jemalloc-devel centos-release-scl devtoolset-7  gcc gcc-c++
            # gccおよびその他の依存関係をインストールする
yum remove cmake -y
ln -s /usr/local/bin/cmake /usr/bin/            #古いバージョンのcmakeを削除します
cd
wget work.eisc.cn/ruanjian/rpm/lnmp/cmake-3.19.1.tar.gz
tar -xvf cmake-3.19.1.tar.gz                            #cmakeバージョンは3より高い.10
cd cmake-3.19.1 
rm -f CMakeCache.txt                                    #明確な履歴の編集
. /bootstrap && gmake && gmake install
/usr/local/bin/cmake --version                  #コンパイルされたcmakeバージョンを表示する
# wget https://github.com/libevent/libevent/releases/download/release-2.1.10-stable/libevent-2.1.10-stable.tar.gz
                  # libeventをインストールします
cd
wget work.eisc.cn/ruanjian/rpm/lnmp/libevent-2.1.10-stable.tar.gz
tar -xvf libevent-2.1.10-stable.tar.gz 
cd tar -xvf libevent-2.1.10-stable
. /configure --prefix=/usr --disable-static&& make && make install
yum install -y centos-release-scl devtoolset-7 #Cをインストールします++ハイバージョン
gcc --version
scl enable devtoolset-7 bash & echo "シングル&シンボルは、次のコマンドを並行して実行します"                               
### 新しいバージョンのgccを使用して無効な再起動###
gcc --version 
echo "次のコマンドはsclのように中断する必要がないため、実行されます"
cd  
wget http://work.eisc.cn/ruanjian/rpm/lnmp/mariadb-10.5.8.tar.gz
# https://downloads.mariadb.org/                                #公式サイトミラー
tar -zxvf mariadb-10.5.8.tar.gz
cd mariadb-10.5.8
sed -i "s/MYSQL_VERSION_MAJOR.*/MYSQL_VERSION_MAJOR=101/g" VERSION
                # 変更されたバージョン番号
sed -i "s/MYSQL_VERSION_MINOR.*/MYSQL_VERSION_MINOR=42/g" VERSION 
sed -i "s/MYSQL_VERSION_PATCH.*/MYSQL_VERSION_PATCH=63/g" VERSION 
groupadd -g 41 mysql && useradd -c "MySQL Server"-d /srv/mysql -g mysql -s /bin/false-u 41 mysql
                    # mariadbのユーザーグループとユーザーを作成する
# sed -i "s@data/test@\${INSTALL_MYSQLTESTDIR}@g" sql/CMakeLists.txt  && mkdir build && cd    build
cmake -DCMAKE_BUILD_TYPE=Release                      \
  - DCMAKE_INSTALL_PREFIX=/usr                     \
  - DINSTALL_DOCDIR=share/doc/mariadb-10.5.8       \
  - DINSTALL_DOCREADMEDIR=share/doc/mariadb-10.5.8 \
  - DINSTALL_MANDIR=share/man                      \
  - DINSTALL_MYSQLSHAREDIR=share/mysql             \
  - DINSTALL_MYSQLTESTDIR=share/mysql/test         \
  - DINSTALL_PLUGINDIR=lib/mysql/plugin            \
  - DINSTALL_SBINDIR=sbin                          \
  - DINSTALL_SCRIPTDIR=bin                         \
  - DINSTALL_SQLBENCHDIR=share/mysql/bench         \
  - DINSTALL_SUPPORTFILESDIR=share/mysql           \
  - DMYSQL_DATADIR=/srv/mysql                      \
  - DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock       \
  - DWITH_EXTRA_CHARSETS=complex                   \
  - DWITH_EMBEDDED_SERVER=ON                       \
  - DSKIP_TESTS=ON                                 \
  - DTOKUDB_OK=0                       
make && make install
:<<!               # 複数行のコメント
- DCMAKE_INSTALL_PREFIX=mysqlインストールディレクトリをポイントします
- DINSTALL_SBINDIR=sbinは実行可能ファイルディレクトリを指します(プレフィックス/sbin)
- DMYSQL_DATADIR=/var/lib/mysqlはmysqlデータファイルディレクトリを指します(/var/lib/mysql)
- DSYSCONFDIR=/etc/mysqlはmysql構成ファイルディレクトリを指します(/etc/mysql)
- DINSTALL_PLUGINDIR=lib/mysql/プラグインはプラグインカテゴリを指します(プレフィックス/lib/mysql/plugin)
- DINSTALL_MANDIR=share/manはmanドキュメントディレクトリを指します(プレフィックス/share/man)
- DINSTALL_SHAREDIR=aclocalにポイントを共有する/mysql.m4インストールディレクトリ(プレフィックス/share)
- DINSTALL_LIBDIR=lib/mysqlはオブジェクトコードライブラリディレクトリを指します(プレフィックス/lib/mysql)
- DINSTALL_INCLUDEDIR=include/mysqlはヘッダーファイルディレクトリを指します(プレフィックス/include/mysql)
- DINSTALL_INFODIR=share/infoは、情報ドキュメントのストレージディレクトリを指します(プレフィックス/share/info)
プレフィックスの公式推奨はに設定されています/usr
!
install -v -dm 755/etc/mysql                                   #ファイルを作成する/etc/mysql/my.cnf
cat >/etc/mysql/my.cnf <<"EOF"
# Begin /etc/mysql/my.cnf
# The following options will be passed to all MySQL clients
[ client]
# password       = your_password
port            =3306
socket          =/run/mysqld/mysqld.sock
# The MySQL server
[ mysqld]
port            =3306
socket          =/run/mysqld/mysqld.sock
datadir         =/srv/mysql
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
sort_buffer_size = 512K
net_buffer_length = 16K
myisam_sort_buffer_size = 8M
# Don't listen on a TCP/IP port at all.
# skip-networking
# ここで開くことをスキップすると、ポート3306が異常になることに注意してください
# required unique id between 1 and 2^32-1
server-id       =1
# Uncomment the following if you are using BDB tables
# bdb_cache_size = 4M
# bdb_max_lock =10000
# InnoDB tables are now used by default
innodb_data_home_dir =/srv/mysql
innodb_log_group_home_dir =/srv/mysql
# All the innodb_xxx values below are the default ones:
innodb_data_file_path = ibdata1:12M:autoextend
# You can set.._buffer_pool_size up to 50-80%
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 128M
innodb_log_file_size = 48M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit =1
innodb_lock_wait_timeout =50[mysqldump]
quick
max_allowed_packet = 16M
[ mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
# safe-updates
[ isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[ myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[ mysqlhotcopy]
interactive-timeout
# End /etc/mysql/my.cnf
EOF
:<<!
cd /usr/bin
mv mysql_install_db mysql_install_db_bak
cp /root/mysql_install_db /usr/bin
!
mysql_install_db --basedir=/usr --datadir=/srv/mysql --user=mysql &&
chown -R mysql:mysql /srv/mysql                         #データベースを初期化し、所有者の権限を変更します
cp /root/mariadb-10.5.8/support-files/mysql.server /etc/init.d/mysqld
 chmod +x /etc/init.d/mysqld
 # update-rc.d mysqld defaults
 chkconfig --add mysqld
 /etc/init.d/mysqld restart
 systemctl status mysqld
' /usr/bin/mysqladmin'-u root password 'root'           #mysqlのパスワードを設定します
# mysql                                                  #ログイン、デフォルトではパスワードなし
mysql -e "set password = password('WWWeisccn')"         #rootユーザーのパスワードを設定します
mysql -uroot -pWWWeisccn -e "create database eisc character set utf8 collate utf8_bin;"
              # データベースにログインし、次のようにデータベース名を作成します
##################################################################################################################################
#### ファイアウォール構成####
systemctl restart firewalld
firewall-cmd --permanent --add-port=3306/tcp            #ポート3306を開く
firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --permanent --add-port=80/tcp
systemctl restart firewalld                             #ファイアウォールを再起動します
firewall-cmd --zone=public--list-ports                 #ファイアウォールが開いているポートを一覧表示します
netstat -ntlp                                           #動作中のポートの使用状況を監視する
#### 自動起動構成####
# 注:コンパイルおよびインストールされたアプリケーションは、再起動後に自動的に起動しないため、ブート構成ファイルを追加する必要があります/etc/rc.d/rc.local
echo "
source /etc/profile
bash /www/server/StartLnmp.sh
" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

echo "
nginx
systemctl restart php-fpm
/etc/init.d/mysqld restart
echo 'LNMPの起動時間==========>> `date`'>>/root/LNMPlog.txt
" >> /www/server/StartLnmp.sh
##################################################################################################################################
else
echo "データベースがインストールされました"
fi
}
azmariadb
## ワンクリックスクリプト実行:wget eisc.cn/file/shell/centos-LNMP.sh ; sh centos-LNMP.sh

Recommended Posts

LinuxcentosでLnmpシェルスクリプトをコンパイルしてインストールします
Centos5.2でLAMPをコンパイルしてインストールします
LinuxCentOS6はPytをコンパイルしてインストールします
CentOS7でlibmodbusライブラリをコンパイルしてインストールします
Centos6.5は、LNMPアーキテクチャのWeb環境をコンパイルしてインストールします
Linuxを理解し、CentOSをインストールする
CentOs7.3はNginx1.9.9をコンパイルしてインストールします
CentosはGitをコンパイルしてインストールします
LinuxにMySQLをインストールする(CentOS 7)
Centos7はntp-4.2.8p11をコンパイルしてインストールします
CentOS6.9はpythonをコンパイルしてインストールします
CentOS6はpython3をコンパイルしてインストールします
linuxインストールmongodbでのCentOS6.8
CentOS5.9でkeepalivedをインストールして構成します
CentOSYumはMySQL5.6をコンパイルしてインストールします
CentOS6.xはNginxをコンパイルしてインストールします
CentOS7はL(A | N)MP環境をコンパイルしてインストールします
Python3をインストールし、CentOS8でansible
CentOS6.8でdockerをインストールして使用する
CentOS7の下にPython3とPyをインストールします
UbuntuでQEMUをコンパイルしてインストールします
CentOS6.3の下にMono3.2とJexus5.4をインストールします
CentOS7.5ソースコードはmysql5.7.29をコンパイルしてインストールします
LinuxCentOS7システムにmysql8.0.13バージョンをインストールします
Centos7はMySQL8問題レコードをコンパイルしてインストールします
32ビットおよび64ビットのCentOS6.0でMono2.10.8およびJexus5.0をインストールします
Centos8でnodejsとyumをコンパイルしてインストールします
CentOS7.4ソースコードはMySQL8.0をコンパイルしてインストールします
CentOSの下でyumを介してsvnと構成をインストールします
Centos7.2は、phpMyAdminをビルドする方法をコンパイルしてインストールします
centos7をインストールして接続します
Centos7.4はLNMPをインストールします
CentOS7.4でHadoop-2.7.6をコンパイルします
CentOS7の下にmysql5.7をインストールします
Centos7の下にActiveMQをインストールします
CentOS7の下にPostgreSQL12をインストールします
LinuxCentos7インストールjdk1.8
CentOS(linux)はPostgreSQLをインストールします
Centos7にmysqlをインストールします
Centos7の下にJenkinsをインストールします
MariaDBCentos7の下にMariaDBをインストールします
CentOS6.5の下にmysql5.1をインストールします
Centos 7インストールJDK(Linuxインストールjdk)
Ubuntu18.04.1のソースコードからOpenJDK8をコンパイルしてインストールします
CentosはLAMPをコンパイルしてインストールします(apache-2.4.7 + mysql-5.5.35 + php 5.5.8)+ Redis
centos7はpython3とipythonをインストールします
Ubuntu16.04はPHP7.2をコンパイルしてインストールします
ubuntu18.04python3.8をコンパイルしてインストールします
CentOS6.5はJava8とTomcat8をインストールします
LinuxCentos7インストールredisチュートリアル
LinuxCentosにMySQL8.0.16をインストールします
CentOS6.9でOracle11gR2データベースをインストールします
CentOSLinuxでの3つのパーティショニングツール
Centos6.5はmongodbをインストールして構成します
CentOS7はpython3とpip3をインストールします
CentOS7はOracleJDKとJREをインストールします
CentOS6.5はJava8とTomcat8をインストールします
CentOS6はJira7をインストールしてクラックします
CentOS6.5はJava8とTomcat8をインストールします
CentOS6のインストールとコンフルエンスのクラック
CentOS7の下にMongoDBデータベースをインストールします