久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      CentOS下Nginx+PHP7 安裝及配置

      今天花了幾個小時折騰了下Nginx+PHP7編譯安裝和配置,寫個文章記錄下。

      系統(tǒng)環(huán)境:CentOS6.5 x64

      軟件版本:nginx-1.10.0 php-7.0.6

      安裝 Nginx

      Nginx官網(wǎng):http://nginx.org/

      先安裝編譯依賴的一些組件

      yum install pcre pcre-devel openssl openssl-devel -y

      1、解壓程序包

      tar xf nginx-1.10.0.tar.gz
      cd nginx-1.10.0

      2、預編譯配置參數(shù)

      ./configure –user=www
      –group=www
      –prefix=/data/server/nginx
      –with-http_stub_status_module
      –without-http-cache
      –with-http_ssl_module
      –with-http_gzip_static_module

      3、執(zhí)行編譯

      make && make install

      4、替換配置文件

      •nginx.conf

      user  www www;
      worker_processes  1;

      error_log  /u01/data/log/nginx/error.log crit;
      pid      /u01/data/server/nginx/logs/nginx.pid;

      #Specifies the value for maximum file descriptors that can be opened by this process.
      worker_rlimit_nofile 65535;

      events
      {
        use epoll;
        worker_connections 65535;
      }

      http {
              include      mime.types;
              default_type  application/octet-stream;

              #charset  gb2312;

              server_names_hash_bucket_size 128;
              client_header_buffer_size 32k;
              large_client_header_buffers 4 32k;
              client_max_body_size 8m;

              sendfile on;
              tcp_nopush    on;

              keepalive_timeout 60;

              tcp_nodelay on;

              fastcgi_connect_timeout 300;
              fastcgi_send_timeout 300;
              fastcgi_read_timeout 300;
              fastcgi_buffer_size 64k;
              fastcgi_buffers 4 64k;
              fastcgi_busy_buffers_size 128k;
              fastcgi_temp_file_write_size 128k;

              gzip on;
              gzip_min_length  1k;
              gzip_buffers    4 16k;
              gzip_http_version 1.0;
              gzip_comp_level 2;
              gzip_types      text/plain application/x-javascript text/css application/xml;
              gzip_vary on;
              #limit_zone  crawler  $binary_remote_addr  10m;
              log_format main ‘$remote_addr – “$request_time” [$time_local] “$request” ‘
                            ‘”$status” $body_bytes_sent “$http_referer” ‘
                            ‘”$http_user_agent” $http_x_forwarded_for’;
              log_format ‘$remote_addr – $remote_user [$time_local] “$request” ‘
                            ‘$status $body_bytes_sent “$http_referer” ‘
                            ‘”$http_user_agent” $http_x_forwarded_for “$request_time”‘;
              include /u01/alidata/server/nginx/conf/vhosts/*.conf;
      }

      •虛擬主機配置文件模板

      server {
              listen      8080;
              server_name  localhost;
              index index.html index.htm index.php;
              root /u01/data/www;
              location ~ .*.(php|php5)?$
              {
                      fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
                      fastcgi_index index.php;
                      include fastcgi.conf;
              }

              location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
              {
                      expires 30d;
              }
              location ~ .*.(js|css)?$
              {
                      expires 1h;
              }
      ###this is to use open website lianjie like on apache##
              location / {
                      if (!-e $request_filename) {
                              rewrite ^(.*)$ /index.php?s=$1 last;
                              break;
                      }
              }
              location ~ /.svn/ {
              deny all;
              }
              ###end##
              access_log  /u01/data/log/nginx/access/test.log main;
      }

      5、提供Nginx啟動腳本

      #!/bin/bash
      # nginx Startup script for the Nginx HTTP Server

      nginxd=/alidata/server/nginx/sbin/nginx
      nginx_config=/alidata/server/nginx/conf/nginx.conf
      nginx_pid=/alidata/server/nginx/logs/nginx.pid

      RETVAL=0
      prog=”nginx”

      [ -x $nginxd ] || exit 0

      # Start nginx daemons functions.
      start() {

          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官網(wǎng):http://php.net/

      PHP擴展:http://pecl.php.net/

      先安裝一些為編譯依賴的組建

      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
      # http://www.ijg.org/
      #這個需要先創(chuàng)建好存放程序的文件夾不然會報錯

      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
      # http://www.libpng.org/pub/png/libpng.html
      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、預編譯配置參數(shù)

      ./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、執(zhí)行編譯

      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調(diào)用mysql的錯誤信息

      display_errors = Off

      # 開啟PHP錯誤日志(路徑在php-fpm.conf中配置)

      log_errors = On

      # 設置PHP的時區(qū)

      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

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

      # ???置主進程打開的最大文件數(shù)
      rlimit_files = 102400

      •www.conf 進程服務擴展配置文件

      # 設置用戶和用戶組
      user = www
      group = www

      # 設置php監(jiān)聽方式
      # 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

      # 設置工作進程數(shù)(根據(jù)實際情況設置)
      pm.max_children = 50
      # 這里需要注意,pm.start_servers 不能小于 pm.min_spare_servers
      pm.start_servers = 5
      pm.min_spare_servers = 5
      pm.max_spare_servers = 10
      pm.max_requests = 10240

      # 設置php的session目錄(所屬用戶和用戶組都是www)
      php_value[session.save_handler] = files
      php_value[session.save_path] = /var/tmp/php/session

      7、提供php-fpm啟動腳本

      #! /bin/sh
      #

      prefix=/usr/local/php7
      exec_prefix=${prefix}

      php_fpm_BIN=${exec_prefix}/sbin/php-fpm
      php_fpm_CONF=${prefix}/etc/php-fpm.conf
      php_fpm_PID=${prefix}/var/run/php-fpm.pid

      php_opts=”–fpm-config $php_fpm_CONF –pid $php_fpm_PID”

      wait_for_pid () {
              try=0

              while test $try -lt 35 ; do

                      case “$1” in
                              ‘created’)
                              if [ -f “$2” ] ; then
                                      try=”
                                      break
                              fi
                              ;;

                              ‘removed’)
                              if [ ! -f “$2” ] ; then
                                      try=”
                                      break
                              fi
                              ;;
                      esac

                      echo -n .
                      try=`expr $try + 1`
                      sleep 1

              done

      }

      case “$1” in
              start)
                      echo -n “Starting php-fpm “

                      $php_fpm_BIN –daemonize $php_opts

                      if [ “$?” != 0 ] ; then
                              echo ” failed”
                              exit 1
                      fi

                      wait_for_pid created $php_fpm_PID

                      if [ -n “$try” ] ; then
                              echo ” failed”
                              exit 1
                      else
                              echo ” done”
                      fi
              ;;

              stop)
                      echo -n “Gracefully shutting down php-fpm “

                      if [ ! -r $php_fpm_PID ] ; then
                              echo “warning, no pid file found – php-fpm is not running ?”
                              exit 1
                      fi

                      kill -QUIT `cat $php_fpm_PID`

                      wait_for_pid removed $php_fpm_PID

                      if [ -n “$try” ] ; then
                              echo ” failed. Use force-quit”
                              exit 1
                      else
                              echo ” done”
                      fi
              ;;

              status)
                      if [ ! -r $php_fpm_PID ] ; then
                              echo “php-fpm is stopped”
                              exit 0
                      fi

                      PID=`cat $php_fpm_PID`
                      if ps -p $PID | grep -q $PID; then
                              echo “php-fpm (pid $PID) is running…”
                      else
                              echo “php-fpm dead but pid file exists”
                      fi
              ;;

              force-quit)
                      echo -n “Terminating php-fpm “

                      if [ ! -r $php_fpm_PID ] ; then
                              echo “warning, no pid file found – php-fpm is not running ?”
                              exit 1
                      fi

                      kill -TERM `cat $php_fpm_PID`

                      wait_for_pid removed $php_fpm_PID

                      if [ -n “$try” ] ; then
                              echo ” failed”
                              exit 1
                      else
                              echo ” done”
                      fi
              ;;

              restart)
                      $0 stop
                      $0 start
              ;;

              reload)

                      echo -n “Reload service php-fpm “

                      if [ ! -r $php_fpm_PID ] ; then
                              echo “warning, no pid file found – php-fpm is not running ?”
                              exit 1
                      fi

                      kill -USR2 `cat $php_fpm_PID`

                      echo ” done”
              ;;

              *)
                      echo “Usage: $0 {start|stop|force-quit|restart|reload|status}”
                      exit 1
              ;;

      esac

      八、啟動php-fpm程序

      /etc/init.d/php-fpm start

      # 修改套接字文件權限
      chown -R www.www /var/run/php-fpm/

      九、相關錯誤處理

      錯誤一:configure: error: GD build test failed. Please check the config.log for details

      在本地已經(jīng)安裝了 gd 和 gd-devel 庫以后,還是出現(xiàn)該錯誤,那么可能是編譯工具找不到相關庫(jpeg、gd),應該在編譯參數(shù)后面添加  LDFLAGS=’-L /usr/path_to/lib’ 如果是 64 位的系統(tǒng)應該寫為: LDFLAGS=’-L /usr/lib64′  然后重新 configure 即可。

      # example
      ./configure –prefix=/usr/server/php –enable-opcache –enable-opcache –enable-opcache –with-mysqli=mysqlnd –with-mysqli=mysqlnd LDFLAGS=’-L /usr/lib64′

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號