Linux下Nginx安装

jopen 9年前

系统环境:CentOS 6.5

Nginx版本:nginx-1.6.0.tar.gz


1:创建目录 

#  mkdir /doiido/soft
#  cd /doiido/soft



2:安装Nginx所需的依赖包:
#  yum -y install gcc gcc-c++ openssl openssl-devel 


3:安装Nginx所需的pcre库
把pcre-8.35.tar.gz上传到/doiido/soft、
#  tar zxvf pcre-8.35.tar.gz
#  cd pcre-8.35/
#  ./configure
#  make && make install
#  cd ../ 



4:创建www用户和组,创建相关目录,并修改权限 
#  /usr/sbin/groupadd www
#  /usr/sbin/useradd -s /sbin/nologin -M -g www www
#  mkdir -p /doiido/web/www
#  chmod 777 /doiido/web/www
#  chown -R www:www /doiido/web/www
#  chmod g+s /doiido/web/www
#  mkdir -p /doiido/web/logs
#  chmod +w /doiido/web/logs
#  chown -R www:www /doiido/web/logs



5:安装niginx
把nginx-1.4.2.tar.gz上传到/doiido/soft
#  tar zxvf nginx-1.6.0.tar.gz
#  cd nginx-1.6.0
#  ./configure --user=www --group=www --prefix=/doiido/server/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-pcre=../pcre-8.35 --with-pcre-jit
#  make && make install 



6:修改 nginx.conf配置文件
#  vi /doiido/server/nginx/conf/nginx.conf
</span>
user www www;  worker_processes 4;  error_log  /doiido/web/logs/nginx_error.log  crit;  pid logs/nginx.pid;  events{    use epoll;    worker_connections 65535;  }


测试 
#  /doiido/server/nginx/sbin/nginx -t 
nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok  nginx: configuration file /opt/nginx/conf/nginx.conf test is successful

如果显示下面信息,即表示配置没问题 


启动nginx服务 
#  /doiido/server/nginx/sbin/nginx 


7:编写nginx启动脚本
#  vi /etc/init.d/nginx 
</span>
#!/bin/sh  #  # nginx - this script starts and stops the nginx daemin  #  # chkconfig:   - 85 15   # description:  Nginx is an HTTP(S) server, HTTP(S) reverse \  #               proxy and IMAP/POP3 proxy server  # processname: nginx  # config:      /doiido/server/nginx/conf/nginx.conf  # pidfile:     /doiido/server/nginx/logs/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="/doiido/server/nginx/sbin/nginx"  prog=$(basename $nginx)      NGINX_CONF_FILE="/doiido/server/nginx/conf/nginx.conf"      lockfile=/var/lock/subsys/nginx      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 $prog -QUIT      retval=$?      echo      [ $retval -eq 0 ] && rm -f $lockfile      return $retval  }      restart() {      configtest || return $?      stop      start  }      reload() {      configtest || return $?      echo -n $"Reloading $prog: "      killproc $nginx -HUP      RETVAL=$?      echo  }      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          ;;      status)          rh_status          ;;      *)          echo $"Usage: $0 {start|stop|status|restart|reload|configtest}"          exit 2  esac

设置权限并添加到启动服务列表中 
#  chmod 755 /etc/init.d/nginx
#  chkconfig --add nginx
#  chkconfig --level 345 nginx on
#  service nginx start 


8:防火墙端口开放
#  /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 
#  /etc/rc.d/init.d/iptables save 


至此nginx安装完毕