首页 > 代码库 > Nginx 安装文档

Nginx 安装文档

 一、下载软件

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

安装

用于 RedHat 系发行版 (RHEL, CentOS, Fedora). 本维基站点的服务器就是以此选项编译.

首先安装需求包:

yum install gccopenssl-devel pcre-devel zlib-devel

添加用户

useradd –d /usr/local/nginx -s /sbin/nologin nginx

  tar zxvf nginx-1.6.0.tar.gz

配置:

cd nginx-1.6.0
./configure \  
--prefix=/usr/local/nginx \ 
--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=nginx \  
--group=nginx \  
--with-http_ssl_module \  
--with-http_flv_module \  
--with-http_gzip_static_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/


最后编译并安装

make && make install


vim /etc/init.d/nginx

#!/bin/sh
#
# nginx - this script starts and stops thenginx 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)
 
sysconfig="/etc/sysconfig/$prog"
lockfile="/var/lock/subsys/nginx"
pidfile="/var/run/${prog}.pid"
 
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
 
[ -f $sysconfig ] && . $sysconfig
 
 
start() {
    [-x $nginx ] || exit 5
    [-f $NGINX_CONF_FILE ] || exit 6
   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 -p $pidfile $prog
   retval=$?
   echo
    [$retval -eq 0 ] && rm -f $lockfile
   return $retval
}
 
restart() {
   configtest_q || return 6
   stop
   start
}
 
reload() {
   configtest_q || return 6
   echo -n $"Reloading $prog: "
   killproc -p $pidfile $prog -HUP
   echo
}
 
configtest() {
   $nginx -t -c $NGINX_CONF_FILE
}
 
configtest_q() {
   $nginx -t -q -c $NGINX_CONF_FILE
}
 
rh_status() {
   status $prog
}
 
rh_status_q() {
   rh_status >/dev/null 2>&1
}
 
# Upgrade the binary with no downtime.
upgrade() {
   local oldbin_pidfile="${pidfile}.oldbin"
 
   configtest_q || return 6
   echo -n $"Upgrading $prog: "
   killproc -p $pidfile $prog -USR2
   retval=$?
   sleep 1
   if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]];  then
       killproc -p $oldbin_pidfile $prog -QUIT
       success $"$prog online upgrade"
       echo
       return 0
   else
       failure $"$prog online upgrade"
       echo
        return 1
   fi
}
 
# Tell nginx to reopen logs
reopen_logs() {
   configtest_q || return 6
   echo -n $"Reopening $prog logs: "
   killproc -p $pidfile $prog -USR1
   retval=$?
   echo
   return $retval
}
 
case "$1" in
   start)
       rh_status_q && exit 0
       $1
       ;;
   stop)
       rh_status_q || exit 0
       $1
       ;;
   restart|configtest|reopen_logs)
       $1
       ;;
   force-reload|upgrade)
       rh_status_q || exit 7
       upgrade
       ;;
   reload)
       rh_status_q || exit 7
       $1
       ;;
   status|status_q)
       rh_$1
       ;;
   condrestart|try-restart)
       rh_status_q || exit 7
       restart
             ;;
   *)
       echo $"Usage: $0 {start|stop|reload|configtest|status|force-reload|upgrade|restart|reopen_logs}"
       exit 2
 
esac


vim /etc/sysconfig/nginx

#Configuration file for the nginx service
# set this to the location of the nginx configuration file
NGINX_CONF_FILE=/etc/nginx/nginx.conf




本文出自 “Smurf Linux运维” 博客,请务必保留此出处http://jin771998569.blog.51cto.com/2147853/1535608