Ubuntu环境编译安装PHP和Nginx的方法

本文实例讲述了Ubuntu环境编译安装PHP和Nginx的方法。分享给大家供大家参考,具体如下:

编译安装nginx

切换目录到工作文件夹:

  cd /usr/local/src    

下载pcre源代码并安装

  wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz  tar -zxvf pcre2-10.20.tar.gz  mv ./pcre2-10.20.tar.gz ./pcre   cd pcre  ./configure --prefix=/usr/local/pcre  make && make install    

下载zlib源代码并安装

  wget http://tenet.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz  tar -zxvf zlib-1.2.8.tar.gz  mv ./zlib-1.2.8.tar.gz ./zlib  cd zlib  ./configure --prefix=/usr/local/zlib  make && make install    

下载nginx源代码并安装

  wget http://nginx.org/download/nginx-1.8.1.tar.gz  tar -zxvf nginx-1.8.1.tar.gz  cd nginx-1.8.1  ./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre --with-zlib=/usr/local/zlib  make && make install    

开机启动nginx

添加/ect/init.d/nginx,并写入脚本

  #! /bin/bash  # Description: Startup script for webserver on CentOS. cp it in /etc/init.d and  # chkconfig --add nginx && chkconfig nginx on  # then you can use server command control nginx  #  # chkconfig: 2345 08 99  # description: Starts, stops nginx  set -e  PATH=$PATH:/usr/local/nginx/sbin/  DESC="nginx daemon"  NAME=nginx  DAEMON=/usr/local/nginx/sbin/$NAME  CONFIGFILE=/usr/local/nginx/conf/nginx.conf  PIDFILE=/var/run/nginx.pid  SCRIPTNAME=/etc/init.d/$NAME  # Gracefully exit if the package has been removed.  test -x $DAEMON || exit 0  d_start() {  $DAEMON -c $CONFIGFILE || echo -n " already running"  }  d_stop() {  kill -QUIT `cat $PIDFILE` || echo -n " not running"  }  d_reload() {  kill -HUP `cat $PIDFILE` || echo -n " can't reload"  }  case "$1" in  start)  echo -n "Starting $DESC: $NAME"  d_start  echo "."  ;;  stop)  echo -n "Stopping $DESC: $NAME"  d_stop  echo "."  ;;  reload)  echo -n "Reloading $DESC configuration..."  d_reload  echo "reloaded."  ;;  restart)  echo -n "Restarting $DESC: $NAME"  d_stop  sleep 1  d_start  echo "."  ;;  *)  echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2  exit 3  ;;  esac  exit 0    

  chmod +x /etc/init.d/nginx  chkconfig --add nginx  chkconfig --level 2345 nginx on  service nginx start    

源码编译安装php5.6

下载php源代码

  cd /usr/local/src  wget http://cn2.php.net/get/php-5.6.24.tar.gz/from/this/mirror  mv mirror php-5.6.24.tar.gz  tar -zxvf php-5.6.24.tar.gz  cd php-5.6.24    

安装依赖的组件

xml扩展

  apt-get install libxml2-dev    

png扩展

  apt-get install libpng12-dev    

freetype扩展

  apt-get -y install libfreetype6-dev    

openssl扩展

  apt-get install openssl  apt-get install libcurl3-openssl-dev    

jpeg扩展

  apt-get install libjpeg-dev    

编译语句

生成配置文件

  ./configure --prefix=/opt/php --with-config-file-path=/opt/php/lib --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl-dir=/usr --with-openssl --with-pdo-mysql=mysqlnd --with-pear --enable-sockets --with-freetype-dir=/usr --enable-gd-native-ttf --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli  

安装了依赖的组件以后,应该就不会报错,如果报错请安装缺少的组件,然后重新生成配置文件。

编译&安装

  make && make install    

查看php服务器配置

当我们迁移服务器的时候,上述生成配置文件的代码需要与原php服务器的一直,我们可以使用php-config --configure-options查看。

php-config的位置在 php/bin/php-config

没有发现php.ini?

直接编译安装php之后,是没有php.ini的,我们可以从解压缩后的目录copy到/opt/php/lib,然后进行配置生效。

/opt/php/lib是在./configure中配置的路径

希望本文所述对大家Ubuntu环境配置有所帮助。

参与评论