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,如果是其它的系统可以相应做调整.#--------选择安装方式,网络晚装还是本地安装--- ...
随机推荐
- 【电脑】XSHELL破解
序列号
- 比较两个jar包的版本号
一.背景 我们经常会遇到比较两个jar包的版本号,这里贴下相关实现. 请尊重作者劳动成果,转载请标明原文链接:https://www.cnblogs.com/waterystone/p/1138547 ...
- 在Chrome上运行安卓(ARC环境)
测试时所用Chrome版本为67 (Win10 64bit) 1,安装ARC Welder插件(100多M):https://chrome.google.com/webstore/detail/arc ...
- 仅逗oier们一笑(不定期更新中)(update.2019年12月8日)
CCF的正确解释: //部分来自:朝阳的二愣子的CSDN博客.ydclyq 的博客 .拱垲的博客.Randolph's Blog. 编译下列程序,会有意想不到的惊喜哦(注意打开声音): #includ ...
- NOI 2019 退役记
非常抱歉,因为不退役了,所以这篇退役记鸽了.
- vue.js三种安装方式
Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.它不仅易于上手 ...
- java中super()和this()、super和this的区别
1.super()和this()区别: super():调用父类无形参的构造方法: super(形参):调用父类中某个带形参的构造方法: this(形参):调用本类中另一种形式的构造方法: 注意:放在 ...
- .NET Core创建Worker Services
.NET CORE 3.0新增了Worker Services的新项目模板,可以编写长时间运行的后台服务,并且能轻松的部署成windows服务或linux守护程序.如果安装的vs2019是中文版本,W ...
- golang strings常用函数
package main import ( "fmt" "strings" ) func main() { s1 := " aBc" s2 ...
- ApartmentState.STA
需要设置子线程 ApartmentState 为 STA 模式,但 Task 又不能直接设置 ApartmentState,因此需要用 Thread 来封装一下. using System.Threa ...