CentOS下Nginx+PHP7 安装及配置(2)

if [ -e $nginx_pid ] && netstat -tunpl | grep nginx &> /dev/null;then
        echo "nginx already running...."
        exit 1
    fi

echo -n $"Starting $prog!"
    $nginxd -c ${nginx_config}
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && touch /var/lock/nginx
    return $RETVAL
}

# Stop nginx daemons functions.
stop() {
    echo -n $"Stopping $prog!"
    $nginxd -s stop
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && rm -f /var/lock/nginx
}

# reload nginx service functions.
reload() {

echo -n $"Reloading $prog!"
    #kill -HUP `cat ${nginx_pid}`
    $nginxd -s reload
    RETVAL=$?
    echo

}

# See how we were called.
case "$1" in
start)
        start
        ;;

stop)
        stop
        ;;

reload)
        reload
        ;;

restart)
        stop
        start
        ;;

*)
        echo $"Usage: $prog {start|stop|restart|reload|help}"
        exit 1
esac

exit $RETVAL

只需要稍加修改程序路径就可立即使用

安装 PHP7

PHP官网:

PHP扩展:

先安装一些为编译依赖的组建

yum -y install gcc gcc-c++ gcc-g77 make libtool autoconf patch unzip automake libxml2 libxml2-devel ncurses ncurses-devel libtool-ltdl-devel libtool-ltdl libmcrypt libmcrypt-devel libpng libpng-devel libjpeg-devel openssl openssl-devel gd-devel curl curl-devel libxml2 libxml2-devel ncurses ncurses-devel libtool-ltdl-devel libtool-ltdl autoconf automake libaio*

1、解压程序包

tar xf php-7.0.6.tar.bz2
cd php-7.0.6

2、安装编译依赖的图片库

jpegsrc.v6b.tar.gz

libpng-1.2.50.tar.gz

freetype-2.1.10.tar.gz

# 安装 jpegsrc.v6b.tar.gz
#
#这个需要先创建好存放程序的文件夹不然会报错

mkdir /usr/local/jpeg.6/{bin,lib,include,man/man1} -pv
tar xf jpegsrc.v6b.tar.gz
cd jpeg-6b/
./configure --prefix=/usr/local/jpeg.6/
make && make install

# 安装 libpng-1.2.50.tar.gz
#
tar xf libpng-1.2.50.tar.gz
cd libpng-1.2.50
./configure --prefix=/usr/local/libpng.1.2.50
make && make install

# 安装 freetype-2.1.10.tar.gz
# https://www.freetype.org/download.html

tar xf freetype-2.1.10.tar.gz
cd freetype-2.1.10
./configure --prefix=/usr/local/freetype.2.1.10/
make && make install

3、预编译配置参数

./configure --prefix=/usr/local/php7 \
--enable-opcache \
--with-config-file-path=/usr/local/php7/etc \
--enable-MySQLnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-fpm \
--enable-static \
--enable-inline-optimization \
--enable-sockets \
--enable-wddx \
--enable-zip \
--enable-calendar \
--with-gd \
--with-iconv \
--with-openssl \
--with-zlib \
--enable-bcmath \
--enable-soap \
--with-xmlrpc \
--enable-mbstring \
--enable-shared \
--with-curl \
--enable-xml \
--enable-ftp \
--with-mcrypt \
--with-mhash \
--enable-shmop \
--enable-sysvsem \
--enable-mbregex \
--enable-gd-native-ttf \
--enable-pcntl \
--enable-session \
--with-gettext \
--with-freetype-dir=/usr/local/freetype.2.1.10 \
--with-jpeg-dir=/usr/local/jpeg.6 \
--with-png-dir=/usr/local/libpng.1.2.50 \
--disable-ipv6 \
--disable-debug \
--disable-maintainer-zts \
--disable-rpath \
--disable-fileinfo \
--without-gdbm \

4、执行编译

make && make install

# make ZEND_EXTRA_LIBS='-liconv'

5、提供php.ini文件

cp php.ini-production /usr/local/php7/etc/php.ini

•配置php.ini

# 在840行左右-设置PHP的opcache和memcache扩展库

zend_extension=opcache.so
extension=memcache.so

# 722行左右-设置PHP的扩展库路径

extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"

# 避免PHP信息暴露在http头中

expose_php = Off

# 避免暴露php调用mysql的错误信息

display_errors = Off

# 开启PHP错误日志(路径在php-fpm.conf中配置)

log_errors = On

# 设置PHP的时区

date.timezone = PRC

# 开启opcache(1733行左右)

opcache.enable=1

# 设置PHP脚本允许访问的目录

# open_basedir = /usr/share/nginx/html;

6、配置php-fpm

•php-fpm.conf 进程服务主配置文件

# 设置错误日志的路径
error_log = /var/log/php-fpm/error.log

# 引入文件中的配置
include=/usr/local/php7/etc/php-fpm.d/*.conf

# 设置主进程打开的最大文件数
rlimit_files = 102400

• 进程服务扩展配置文件

# 设置用户和用户组
user = www
group = www

# 设置php监听方式
# listen = 127.0.0.1:9000

# 注意这里要设置PHP套接字文件的权限,默认是root,Nginx无法访问。
listen = /var/run/php-fpm/php-fpm.sock

# 开启慢日志
slowlog = /var/log/php-fpm/php-slow.log
request_slowlog_timeout = 10s
request_terminate_timeout = 30

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0229a5ad7555fc4369ef6b9cc82a3bee.html