码迷,mamicode.com
首页 > 其他好文 > 详细

编译安装Nginx

时间:2016-01-20 22:56:19      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:nginx编译安装

Centos6.x 编译安装nginx


基础条件 

  gzip模块需要 zlib 库

  rewrite模块需要prce库

  ssl功能需要openssl库

  yum install openssl-devel openssl yum install pcre pcre-devel zlib zlib-devel


安装

下载源码包

       wget http://nginx.org/download/nginx-1.8.0.tar.gz

解压

tar -zxvf nginx-1.8.0.tar.gz

添加用户

    useradd -s /sbin/nologin nginx

编译安装

        ./configure \

   --prefix=/usr/local/nginx \

   --sbin-path=/usr/sbin/nginx \

 --conf-path=/etc/nginx/nginx.conf \

 --error-log-path=/var/log/nginx/error.log \

 --http-log-path=/var/log/nginx/access.log \

 --pid-path=/var/run/nginx/nginx.pid  \

 --lock-path=/var/lock/nginx.lock \

 --user=nginx \

 --group=nginx \

 --with-http_ssl_module \

 --with-http_flv_module \

 --with-http_stub_status_module \

 --with-http_gzip_static_module \

 --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/ \

 --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \

 --http-scgi-temp-path=/var/tmp/nginx/scgi \

          --with-pcre

      # make && make install 

     编写启动脚本

         

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15 
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse #               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid
 
# Source function library.
. /etc/rc.d/init.d/functions
 
# Source networking configuration.
. /etc/sysconfig/network
 
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
 
nginx="/usr/sbin/nginx"
prog=$(basename $nginx)
 
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
 
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
 
lockfile=/var/lock/subsys/nginx
 
make_dirs() {
   # make required directories
   user=`nginx -V 2>&1 | grep "configure arguments:" | sed ‘s/[^*]*--user=\([^ ]*\).*/\1/g‘ -`
   options=`$nginx -V 2>&1 | grep ‘configure arguments:‘`
   for opt in $options; do
	   if [ `echo $opt | grep ‘.*-temp-path‘` ]; then
		   value=`echo $opt | cut -d "=" -f 2`
		   if [ ! -d "$value" ]; then
			   # echo "creating" $value
			   mkdir -p $value && chown -R $user $value
		   fi
	   fi
   done
}
 
start() {
	[ -x $nginx ] || exit 5
	[ -f $NGINX_CONF_FILE ] || exit 6
	make_dirs
	echo -n $"Starting $prog: "
	daemon $nginx -c $NGINX_CONF_FILE
	retval=$?
	echo
	[ $retval -eq 0 ] && touch $lockfile
	return $retval
}
 
stop() {
	echo -n $"Stopping $prog: "
	killproc $prog -QUIT
	retval=$?
	echo
	[ $retval -eq 0 ] && rm -f $lockfile
	return $retval
}
 
restart() {
	configtest || return $?
	stop
	sleep 1
	start
}
 
reload() {
	configtest || return $?
	echo -n $"Reloading $prog: "
	killproc $nginx -HUP
	RETVAL=$?
	echo
}
 
force_reload() {
	restart
}
 
configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}
 
rh_status() {
	status $prog
}
 
rh_status_q() {
	rh_status >/dev/null 2>&1
}
 
case "$1" in
	start)
		rh_status_q && exit 0
		$1
		;;
	stop)
		rh_status_q || exit 0
		$1
		;;
	restart|configtest)
		$1
		;;
	reload)
		rh_status_q || exit 7
		$1
		;;
	force-reload)
		force_reload
		;;
	status)
		rh_status
		;;
	condrestart|try-restart)
		rh_status_q || exit 0
			;;
	*)
		echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
		exit 2
esac

添加执行权限

  chmod +x nginx


添加开机启动


     chkconfig --add nginx

     chkconfig nginx on


本文出自 “xiaoma” 博客,请务必保留此出处http://xiaoma90.blog.51cto.com/1351568/1736870

编译安装Nginx

标签:nginx编译安装

原文地址:http://xiaoma90.blog.51cto.com/1351568/1736870

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!