Created
          July 14, 2019 16:20 
        
      - 
      
 - 
        
Save jk2K/c6dfd87f2eeaa5deb12e48edb0d7af65 to your computer and use it in GitHub Desktop.  
Revisions
- 
        
jk2K created this gist
Jul 14, 2019 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,126 @@ #!/bin/bash function get_filename_from_url() { download_url=$1 file_with_query_params=$(echo "${download_url##*/}") file=$(echo "${file_with_query_params%%\?*}") echo ${file} } php_download_url='http://xx.com/php-7.3.7.tgz' php_filename=$(get_filename_from_url ${php_download_url}) php_filename_no_ext=$(echo "${php_filename%.*}") echo ${php_filename} echo ${php_filename_no_ext} # 依赖 zlib libjpeg freetype curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel gd-devel curl-devel libxslt libxslt-devel libzip rsync function download_package() { software_name=$1 download_url=$2 filename=$3 # 可能不存在的变量得放最后 local_archive_path=$4 if [[ -z "${local_archive_path}" ]]; then # 非本地安装 cd /export/servers #download curl ${download_url} --output ${filename} if [[ $? -eq 0 ]]; then echo -e "\033[42m ######Download ${software_name} Successful###### \033[0m" else echo -e "\033[31m ######Download ${software_name} Error,Pls Check!!!###### \033[0m" exit fi else # 本地安装 download_url=${local_archive_path} filename=$(get_filename_from_url ${download_url}) filename_no_ext=$(echo "${filename%.*}") cp ${local_archive_path} /export/servers fi } function check_or_extract() { software_name=$1 download_url=$2 filename=$3 # 可能不存在的变量得放最后 local_archive_path=$4 ls /export/servers | grep ${software_name} if [[ $? -eq 0 ]]; then echo -e "\033[31m ######${software_name} Already Installed,Pls Check!!!###### \033[0m" exit else echo -e "\033[42m ######${software_name} NOT Installed,Begin Install###### \033[0m" fi echo -e "\033[42m ######Start Download ${software_name}###### \033[0m" cd /export/servers #download python download_package ${software_name} ${download_url} ${filename} ${local_archive_path} #untar python tar xzf ${filename}; if [[ $? -eq 0 ]]; then echo -e "\033[42m ######unTar ${software_name} Successful###### \033[0m" else echo -e "\033[31m ######unTar ${software_name} Error,Pls Check!!!###### \033[0m" exit fi } install_php() { software_name="php-7.3" filename=${php_filename} filename_no_ext=${php_filename_no_ext} download_url=${php_download_url} local_archive_path="" install_prefix="/export/servers/${software_name}" check_or_extract ${software_name} ${download_url} ${filename} ${local_archive_path} #configure cd "/export/servers/${filename_no_ext}" ./configure --prefix=${install_prefix} \ --with-fpm-user=admin \ --with-fpm-group=admin \ --enable-fpm \ --with-curl \ --with-gd \ --with-jpeg-dir \ --with-png-dir \ --with-freetype-dir \ --with-webp-dir \ --with-zlib \ --with-pdo-mysql \ --with-openssl \ --with-libdir=lib64 \ --enable-mbstring \ --enable-simplexml #sudo make, 多核加速编译 sudo make -j nproc #sudo make install sudo make install # copy php.ini sudo cp php.ini-production ${install_prefix}/lib/php.ini # copy php-fpm.conf sudo cp ${install_prefix}/etc/php-fpm.conf.default ${install_prefix}/etc/php-fpm.conf # copy php-fpm.d/www.conf sudo cp ${install_prefix}/etc/php-fpm.d/www.conf.default ${install_prefix}/etc/php-fpm.d/www.conf # change listen to unix socket, set permissions for unix socket sed -i 's#listen = 127.0.0.1:9000#listen = /dev/shm/php-fcgi.sock#' ${install_prefix}/etc/php-fpm.d/www.conf sed -i 's#;listen.owner = admin#listen.owner = admin#' ${install_prefix}/etc/php-fpm.d/www.conf sed -i 's#;listen.group = admin#listen.group = admin#' ${install_prefix}/etc/php-fpm.d/www.conf #Check git Version sudo /export/servers/${software_name}/sbin/php-fpm /export/servers/${software_name}/sbin/php-fpm -v } install_php