zoukankan      html  css  js  c++  java
  • Centos 7 Nginx + PHP 安装步骤

    Centos 7 Nginx + PHP 安装步骤

    Centos 7 下的 PHP7/Nginx/Memcached 安装步骤。

    一、获取相关开源程序

    1、安装环境所需的程序库

    sudo -s
    LANG=C
    yum -y update
    yum remove mariadb*
    yum -y install patch make cmake gcc gcc-c++ bison flex file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel libidn libidn-devel gmp-devel gettext gettext-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers vim-minimal nano  gmp-devel unzip libcap diffutils readline-devel libxslt libxslt-devel ntp wget ctags libedit libedit-devel libaio git mailx jwhois bind-utils systemd systemd-devel libtidy libtidy-devel
    yum -y install supervisor
    yum -y install memcached
    

    2、准备环境变量

    echo -e "/lib64
    /usr/lib64
    /usr/local/lib64
    /lib
    /usr/lib
    /usr/local/lib
    `cat /etc/ld.so.conf`" > /etc/ld.so.conf
    /sbin/ldconfig
    

    3、下载程序源码包

    cd /usr/local/src
    wget http://7xk96f.com1.z0.glb.clouddn.com/software/libiconv/libiconv-1.15.tar.gz
    wget -O php-7.1.5.tar.gz http://cn2.php.net/get/php-7.1.5.tar.gz/from/this/mirror
    wget http://7xk96f.com1.z0.glb.clouddn.com/software/mcrypt/libmcrypt-2.5.8.tar.gz
    wget http://7xk96f.com1.z0.glb.clouddn.com/software/mcrypt/mcrypt-2.6.8.tar.gz
    wget http://7xk96f.com1.z0.glb.clouddn.com/software/mhash/mhash-0.9.9.9.tar.gz
    wget http://7xk96f.com1.z0.glb.clouddn.com/software/icu/icu4c-58_2-src.tgz
    wget http://7xk96f.com1.z0.glb.clouddn.com/software/libmemcached/libmemcached-1.0.18.tar.gz
    wget http://7xk96f.com1.z0.glb.clouddn.com/software/pcre/pcre-8.40.tar.gz
    wget http://7xk96f.com1.z0.glb.clouddn.com/software/openssl/openssl-1.1.0e.tar.gz
    wget http://7xk96f.com1.z0.glb.clouddn.com/software/nginx/nginx-1.13.0.tar.gz
    wget http://pecl.php.net/get/msgpack-2.0.2.tgz
    wget http://pecl.php.net/get/igbinary-2.0.1.tgz
    wget http://pecl.php.net/get/memcached-3.0.3.tgz
    wget http://pecl.php.net/get/redis-3.1.2.tgz
    wget http://pecl.php.net/get/swoole-2.0.7.tgz
    

    二、安装PHP 7(FastCGI模式)

    1、编译安装PHP 7 所需的支持库:

    tar zxf libiconv-1.15.tar.gz
    cd libiconv-1.15/
    ./configure --prefix=/usr
    make && make install
    cd ../
    
    tar zxf libmcrypt-2.5.8.tar.gz
    cd libmcrypt-2.5.8/
    ./configure --prefix=/usr
    make && make install
    ldconfig
    cd libltdl/
    ./configure --prefix=/usr  --enable-ltdl-install
    make && make install
    cd ../../
    
    tar zxf mhash-0.9.9.9.tar.gz
    cd mhash-0.9.9.9/
    ./configure --prefix=/usr
    make && make install
    cd ../
    
    tar zxf mcrypt-2.6.8.tar.gz && cd mcrypt-2.6.8/
    /sbin/ldconfig
    ./configure --prefix=/usr
    make && make install
    cd ../
    
    tar zxf icu4c-58_2-src.tgz && cd icu/source/
    ./configure --prefix=/usr
    make && make install
    cd ../../
    
    tar zxf openssl-1.1.0e.tar.gz && cd openssl-1.1.0e
    ./config --prefix=/usr/local/ssl shared zlib-dynamic
    make && make install
    echo /usr/local/ssl/lib > /etc/ld.so.conf.d/openssl-x86_64.conf
    /sbin/ldconfig
    cd ../
    

    2、编译安装PHP(FastCGI模式)

    tar zxf php-7.1.5.tar.gz
    cd php-7.1.5/
    ./configure --prefix=/usr/local --mandir=/usr/local/share/man --infodir=/usr/local/share/info --sysconfdir=/usr/local/etc --with-config-file-path=/usr/local/etc --with-config-file-scan-dir=/usr/local/etc/php --with-libxml-dir 
    --with-openssl=/usr/local/ssl --with-kerberos --with-zlib --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-exif --enable-fpm --enable-ftp --with-png-dir --with-gd --with-jpeg-dir --enable-gd-native-ttf --with-icu-dir=/usr --enable-mbstring --enable-mbregex --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-xmlrpc --with-libedit 
    --with-iconv-dir=/usr/local --with-xsl --enable-zip --with-pcre-regex --with-pcre-jit --with-freetype-dir --enable-xml  --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-sqlite --with-sqlite3 --disable-rpath --enable-inline-optimization --with-mcrypt --with-mhash --enable-pcntl --enable-sockets --without-pear --with-gettext --enable-fileinfo --enable-intl --enable-opcache --enable-cli --with-gmp --with-tidy --with-pcre-dir --with-readline --with-fpm-systemd --with-zlib-dir
    make ZEND_EXTRA_LIBS='-liconv'
    make install
    
    cp php.ini-production /usr/local/etc/php.ini
    cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
    cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/php-fpm.service
    systemctl enable php-fpm.service
    

    3、编译安装PHP扩展模块

    tar -zxvf libmemcached-1.0.18.tar.gz
    cd libmemcached-1.0.18
    ./configure --prefix=/usr
    make && make install
    cd ../
    
    tar zxf msgpack-2.0.2.tgz
    cd msgpack-2.0.2
    phpize
    ./configure
    make && make install
    cd ../
    
    tar zxf igbinary-2.0.1.tgz
    cd igbinary-2.0.1
    phpize
    ./configure
    make && make install
    cd ../
    
    tar zxf memcached-3.0.3.tgz
    cd memcached-3.0.3
    phpize
    ./configure --enable-memcached-igbinary --enable-memcached-json --enable-memcached-msgpack
    make && make install
    cd ../
    
    tar zxf redis-3.1.2.tgz
    cd  redis-3.1.2
    phpize
    ./configure
    make && make install
    cd ../
    
    tar zxf swoole-2.0.7.tgz
    cd swoole-2.0.7
    phpize
    ./configure  --enable-coroutine
    make && make install
    cd ../
    
    
    

    三、安装Nginx

    1、安装Pcre库

    tar zxf pcre-8.40.tar.gz
    cd pcre-8.40/
    ./configure --prefix=/usr --enable-utf8
    make && make install
    cd ../
    

    2、安装Nginx

    tar zxf nginx-1.13.0.tar.gz
    cd nginx-1.13.0/
    
    #using system OpenSSL
    yum -y install openssl openssl-devel
    ./configure --prefix=/usr/local --conf-path=/usr/local/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --lock-path=/run/lock/nginx.lock --pid-path=/run/nginx.pid 
    --with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_xslt_module --with-http_realip_module --with-http_stub_status_module 
    --with-pcre-jit --with-http_flv_module --with-http_mp4_module --with-http_addition_module 
    --with-threads --with-http_ssl_module --with-http_gzip_static_module --without-mail_imap_module --without-mail_pop3_module --without-mail_smtp_module 
    --without-http_uwsgi_module --without-http_scgi_module --without-select_module 
    --with-cc-opt='-O2'
    
    #use customize OpenSSL
    sed -i "s#/.openssl##g" auto/lib/openssl/conf
    ./configure --prefix=/usr/local --conf-path=/usr/local/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --lock-path=/run/lock/nginx.lock --pid-path=/run/nginx.pid 
    --with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_xslt_module --with-http_realip_module --with-http_stub_status_module 
    --with-pcre-jit --with-http_flv_module --with-http_mp4_module --with-http_addition_module 
    --with-threads --with-http_ssl_module --with-http_gzip_static_module --without-mail_imap_module --without-mail_pop3_module --without-mail_smtp_module 
    --without-http_uwsgi_module --without-http_scgi_module --without-select_module 
    --with-openssl=/usr/local/ssl 
    --with-cc-opt='-O2'
    
    make && make install
    cd ../
    mkdir /var/log/nginx
    mkdir /var/lib/nginx
    

    四、收尾

    1、添加www用户

    /usr/sbin/groupadd www
    /usr/sbin/useradd -M -g www www
    

    2、优化内核

    #for aliyun
    cat >>/etc/security/limits.conf<<eof
    * soft nproc 65535
    * hard nproc 65535
    eof
    
    #other
    cat >>/etc/security/limits.conf<<eof
    * soft nproc 65535
    * hard nproc 65535
    * soft nofile 65535
    * hard nofile 65535
    eof
    
    echo "fs.file-max=65535" >> /etc/sysctl.conf
    

    3、设置开机启动

    systemctl enable nginx.service
    systemctl enable php-fpm.service
    systemctl enable memcached.service
    systemctl enable supervisord.service
    
  • 相关阅读:
    小清新数论题泛做
    近日模考理数压轴题简记
    带边数的无向连通图计数
    ZJOI2019 简记
    SDOI2019 R2D2 题解
    [补档题解]后缀树节点数
    [BJ United Round 3] 押韵
    高维 DFT 算法(FWT 快速沃尔什变换)
    SDOI2019 R2D1 题解
    LOJ#6713. 「EC Final 2019」狄利克雷 k 次根 加强版
  • 原文地址:https://www.cnblogs.com/fyblzds/p/12780288.html
Copyright © 2011-2022 走看看