夜勿眠 发表于 2018-12-24 10:58:03

ubuntu/redhat/centOS下源码安装nginx+php+mysql

  
  ubuntu
  安装相关的软件包
  sudo apt-get install libpcre3 libpcre3-dev build-essential libssl-dev
  下载nginx及nginx_upstream_hash补丁包
  wget http://nginx.org/download/nginx-1.2.8.tar.gz
  wget http://wiki.nginx.org/images/1/11/Nginx_upstream_hash-0.3.1.tar.gz
  解压及打补丁
  tar zxvf nginx-1.2.8.tar.gz
  tar zxvf Nginx_upstream_hash-0.3.1.tar.gz
  cd nginx-1.2.8/
  patch -p0 < ../nginx_upstream_hash-0.3.1/nginx.patch
  配置
  ./configure \
  --prefix=/usr \
  --sbin-path=/usr/sbin/nginx \
  --conf-path=/etc/nginx/nginx.conf \
  --error-log-path=/var/log/nginx/error.log \
  --pid-path=/var/run/nginx.pid\
  --lock-path=/var/lock/nginx.lock \
  --user=www-data \
  --group=www-data \
  --with-http_gzip_static_module \
  --with-http_realip_module \
  --with-http_stub_status_module \
  --with-http_ssl_module \
  --http-log-path=/var/log/nginx/access.log \
  --http-client-body-temp-path=/var/tmp/nginx/client/ \
  --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
  --add-module=../nginx_upstream_hash-0.3.1/
  编译与安装
  make && sudo make install
  创建/var/tmp/nginx/client/
  sudo mkdir -p /var/tmp/nginx/client/
  vim /etc/init.d/nginx

  #! /bin/sh
  

  ### BEGIN INIT INFO
  # Provides:          nginx
  # Required-Start:    $local_fs $remote_fs $network $syslog
  # Required-Stop:   $local_fs $remote_fs $network $syslog
  # Default-Start:   2 3 4 5
  # Default-Stop:      0 1 6
  # Short-Description: starts the nginx web server
  # Description:       starts nginx using start-stop-daemon
  ### END INIT INFO
  

  PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  DAEMON=/usr/sbin/nginx
  NAME=nginx
  DESC=nginx
  

  test -x $DAEMON || exit 0
  

  # Include nginx defaults if available
  if [ -f /etc/default/nginx ] ; then
  . /etc/default/nginx
  fi
  

  set -e
  

  . /lib/lsb/init-functions
  

  test_nginx_config() {
  if nginx -t $DAEMON_OPTS
  then
  return 0
  else
  return $?
  fi
  }
  

  case &quot;$1&quot; in
  start)
  echo -n &quot;Starting $DESC: &quot;
  test_nginx_config
  start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
  --exec $DAEMON -- $DAEMON_OPTS || true
  echo &quot;$NAME.&quot;
  ;;
  stop)
  echo -n &quot;Stopping $DESC: &quot;
  start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
  --exec $DAEMON || true
  echo &quot;$NAME.&quot;
  ;;
  restart|force-reload)
  echo -n &quot;Restarting $DESC: &quot;
  start-stop-daemon --stop --quiet --pidfile \
  /var/run/$NAME.pid --exec $DAEMON || true
  sleep 1
  test_nginx_config
  start-stop-daemon --start --quiet --pidfile \
  /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
  echo &quot;$NAME.&quot;
  ;;
  reload)
  echo -n &quot;Reloading $DESC configuration: &quot;
  test_nginx_config
  start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \
  --exec $DAEMON || true
  echo &quot;$NAME.&quot;
  ;;
  configtest)
  echo -n &quot;Testing $DESC configuration: &quot;
  if test_nginx_config
  then
  echo &quot;$NAME.&quot;
  else
  exit $?
  fi
  ;;
  status)
  status_of_proc -p /var/run/$NAME.pid &quot;$DAEMON&quot; nginx && exit 0 || exit $?
  ;;
  *)
  echo &quot;Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}&quot; >&2
  exit 1
  ;;
  esac
  

  exit 0
  添加执行权限
  chmod
  设置开机启动
  sudo update-rc.d nginx defaults
  安装php+mysql
  http://wiki.ubuntu.org.cn/Nginx官方文档详细安装步骤
  Redhat/centOS
  yum install pcre pcre-devel openssl-devel openssl
  yum groupinstall &quot;Development Tools&quot;(类似ubuntu的build-essential)
  其他的同ubuntu步骤一样
  chkconfig nginx on
  安装start-stop-daemon支持/etc/init.d/nginx脚本
  wget http://developer.axis.com/download/distribution/apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz
  tar-xzf apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz
  cd ~/src/apps/sys-utils/start-stop-daemon-IR1_9_18-2
  gcc start-stop-daemon.c -o start-stop-daemon
  cp start-stop-daemon /usr/local/sbin/
  chmod +x /usr/local/sbin/start-stop-daemon
  php官网下载最新稳定版
  http://cn2.php.net/get/php-5.4.15.tar.gz/from/a/mirror
  安装一些相关软件包
  yum install libxml2-devel libcurl-devel
  解压与配置
  tar xvf php-5.4.15.tar.gz
  ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --enable-sockets --enable-zip
  编译与安装
  make && make install
  编译php-fpm配置文件
  cp php-fpm.conf.default php-fpm.conf
  启动php-fpm
  /usr/local/php/sbin/php-fpm
  编译配置nginx.conf或者其他需要配置php支持的站点中
  在需要的站点中添加以下区块
  location \.php$ {
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name;
  include      fastcgi_params;
  }
  /etc/init.d/nginx configtest
  /etc/init.d/nginx reload
  elinks http://www.test.com
  




页: [1]
查看完整版本: ubuntu/redhat/centOS下源码安装nginx+php+mysql