php-fpm编译安装脚本
PHP是开源、轻量级、高效的开发语言,特别适合web项目开发,在中小型互联网公司中常用于开发web后端。PHP常与Nginx及MySQL数据库结合,搭建LNMP环境。以下为centos7系统下php-fpm的一键编译安装脚本,代码如下:
#!/bin/bash
#
#********************************************************************
#Author: Eddie.Peng
#URL: https://www.cnblogs.com/eddie1127/
#Date: 2019-10-18
#FileName: php-fpm_install.sh
#Description: The script for install php-fpm
#********************************************************************
# Set colour
COLORBEG="\033[1;31m"
COLOREND="\033[0m"
# Check if user is root
if [ $(id -u) !=0 ];then
echo -e "${COLORBEG} Error! You must be root to run this script. ${COLOREND}"
exit 10
fi
clear
echo "========================================================================"
echo " "
echo "The script for install php-fpm"
echo " "
echo "========================================================================="
# Install dependent software packge
yum -y install epel-release wget gcc \
curl-devel openssl-devel libxml2-devel \
bzip2-devel libmcrypt-devel php-gd php-mysqlnd
#Check files if exits
echo "========================== Check files ===================================="
CUR_DIR=$(pwd)
NAME=php-7.3.10
FULL_NAME=${CUR_DIR}/${NAME}.tar.xz
INSTALL_PATH=/usr/local/php
cd $CUR_DIR
if [ -s $FULL_NAME ];then
echo "$FULL_NAME found!"
else
echo -e "${COLORBEG} $FULL_NAME not found!!! download now... ${COLOREND}"
wget -c https://www.php.net/distributions/$NAME.tar.xz
fi
#Install php-fpm
echo "========================== Install php-fpm ===================================="
cd $CUR_DIR
tar -xf $FULL_NAME -C /usr/local/src
cd /usr/local/src/$NAME
./configure --prefix=$INSTALL_PATH \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-curl \
--with-openssl \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--enable-mbstring \
--enable-xml \
--enable-sockets \
--enable-fpm \
--enable-maintainer-zts \
--disable-fileinfo
make -j $(nproc) && make install
if [ $? -ne 0 ];then
echo -e "${COLORBEG} Error!make failed,please check. ${COLOREND}"
exit 20
fi
#Prepare configuration files
cp $INSTALL_PATH/etc/php-fpm.conf.default $INSTALL_PATH/etc/php-fpm.conf
cp $INSTALL_PATH/etc/php-fpm.d/www.conf.default $INSTALL_PATH/etc/php-fpm.d/www.conf
cp /usr/local/src/$NAME/php.ini-production /etc/php.ini
#Open opcache extension
mkdir /etc/php.d
cat > /etc/php.d/opcache.ini << EOF
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
EOF
#Check install
echo "========================== Check install ==========================================="
clear
INSTALL=""
echo "Checking..."
if [ -s $INSTALL_PATH/sbin/php-fpm ] && [ -s $INSTALL_PATH/etc/php-fpm.conf ] && [ -s /etc/php.ini ];then
echo -e "\033[1;32m php-fpm install OK \033[0m"
INSTALL="OK"
else
echo -e "${COLORBEG} Error! $INSTALL_PATH/etc/php-fpm.conf not found! php-fpm install failed,please check. ${COLOREND}"
fi
if [ "$INSTALL" = "OK" ];then
echo -e "\033[1;32m Congratulation!php-fpm install completed! Enjoy it. \033[0m"
echo "================================================================================"
echo "The path of some dirs:"
echo "php-fpm_exec_dir: $INSTALL_PATH/sbin"
echo "php-fpm config_dir: $INSTALL_PATH/etc"
echo "php configfile: /etc/php.ini"
echo "================================================================================="
else
echo -e "${COLORBEG} Sorry,php-fpm install Failed! Please check and reinstall. ${COLOREND}"
exit 30
fi
#Add php-fpm service on start up
cp /usr/local/src/$NAME/sapi/fpm/php-fpm.service /usr/lib/systemd/system
systemctl daemon-reload
systemctl enable --now php-fpm.service
#Check startup
if [ $? -eq 0 ];then
echo -e "\033[1;32m php-fpm service start success \033[0m"
else
echo -e "${COLORBEG} php-fpm service start failed,please check ${COLOREND}"
fi
php-fpm编译安装脚本的更多相关文章
- Nginx编译安装脚本
Nginx是高性能的web服务器和反向代理服务器,在互联网公司中被广泛使用.以下是Nginx在centos7系统下的一键编译安装脚本,仅供参考,具体编译参数选项请结合实际生产环境需求进行选择,脚本 ...
- bash-2 httpd服务的源码编译安装脚本
httpd服务的源码编译安装脚本 #!/bin/bash # #******************************************************************** ...
- mysql 5.7 编译安装脚本。
此脚本尽量运行在centos 服务器上面,用于编译安装mysql 5.7 将此脚本和相应的软件 都放到/usr/local/src 目录下面 由于不能上传附件 所以需要把cmake-3.9.6.ta ...
- centos 6.5 + php5.5.31 fastcgi (fpm) 编译安装
yum intsall zlib zlib-devel //gzip 压缩和解压 yum install openssl openssl-devel yum install libxml2 libxm ...
- GNURadio For Windows编译安装脚本v1.1.1发布
GNURadio也能在Windows上运行了,安装GNURadio时,会自动化下载一系列powershell脚本,在源里进行build.然后它依赖为64位原生二进制文件,使用Visual Studio ...
- Mysql 编译安装脚本
cat mysql_init.sh##安装mariadb依赖包function install_yum(){ yum -y install $1}i="ncurses* bison gcc ...
- Apache源码编译安装脚本
Apache是开源的的.最流行的Web服务器软件之一,它快速.可靠并且可通过简单的API扩充,将Perl/Python/PHP等解释器编译到服务器中.Apache的模块超多,以及具有运行稳定,强大 ...
- MySQL 源码编译安装脚本
cat mysql_init.shmysql_init.sh mysql_init.sh.20190401 mysql_init.sh.back20171030 ...
- nginx各版本全自动编译安装脚本
#!/bin/bash #作者:星云法师(头条号:西西图图---专注美食领域的研究) #环境:centos7,如果是其它的系统可以相应做调整.#--------选择安装方式,网络晚装还是本地安装--- ...
随机推荐
- Oracle工具PLSQL
2018版的PLSQL美化工具在Tools中的PL/SQL Beautifier中 如下:
- 两台三层交换机单区域OSPF动态路由实验
一. 实验目的 1. 掌握三层交换机之间通过OSPF协议实现网段互通的配置方法. 2. 理解RIP协议和OSPF协议内部实现的不同点 二. 应用环境 当两台三层交换机级联时,为了保证每台交 ...
- struct和class内存大小的计算
以下均是在VS2017下的结果 结构体内存大小的计算: 用例一: #include<stdio.h> union ss { int a; char b; }; struct MyStruc ...
- 7.29 NOIP模拟测试10 辣鸡(ljh)+模板(ac)+大佬(kat)
T1 辣鸡(ljh) 就是一道分类讨论的暴搜,外加一丢丢的减枝,然而我挂了,为啥呢,分类讨论变量名打错,大于小于号打反,能对才怪,写了sort为了调试就注释了,后来忘了解开,小减枝也没打.但是这道题做 ...
- [BJOI2019]光线(DP)
降智了…… 当你走头无路的时候就应该知道瞎搞一个DP: $p[i]$ 表示光射入第 $1$ 块玻璃时,从第 $i$ 块玻璃出去的光量. $q[i]$ 表示光射入第 $i$ 块玻璃时,从第 $i$ 块玻 ...
- 4.Python项目实战
这里会每个周更新一个Python的大练习,作为 实战项目... elk
- sql实现excel中模糊替换
今天遇到项目上需要修改数据库中部分字段 如果一个一个替换的话工作量实在太大,于是找一个办法 update 表名 set 字段名=replace(字段名,'aaaa','cccc') + whereaa ...
- SpringBoot第八篇:整合MyBatis-Generator
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10894278.html 版权声明:本文为博主原创文章,转载请附上博文链接! 注意:本章有大量代码 ...
- bash: telnet: command not found (Linux安装telnet)
问题描述: centos 系统没有 telnet 命令 bash: telnet: command not found 1.安装telnet服务 (3个) yum install xinetd tel ...
- mysql,字符串类型id,获取最大值
说明,这个id是字符串类型,但是实际值是一个整数,获取最大值的方法是: select max(cast(id as SIGNED)) from table 另外,mysql生成伪列的方法: SELEC ...