nginx源码包安装

Posted uniquemelody

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx源码包安装相关的知识,希望对你有一定的参考价值。

 

nginx优点

·轻量级,同样架设Web服务,比Apache占用更少的内存及资源

·高并发,Nginx处理请求是异步非阻塞的,而Apache则是阻塞性的,在高并发下Nginx能保存低资源消耗高性能 ·高度模块化的设计,编写模块相对简单

·可作为负载均衡服务器,支持7层负载均衡 ·静态处理性能比Apache高3倍以上,但动态处理不足,需要通过后端服务器支持,如Apache

安装:

安装前先关闭Apache服务,以免80端口冲突。

安装支持软件:

[root@www ~]# rpm -q pcre-devel zlib-devel gcc gcc-c++ make
pcre-devel-7.8-7.el6.x86_64
zlib-devel-1.2.3-29.el6.x86_64
gcc-4.4.7-18.el6.x86_64
gcc-c++-4.4.7-18.el6.x86_64
make-3.81-23.el6.x86_64

上传源码包,开始安装。

[root@www ~]# tar xf nginx-1.6.0.tar.gz -C /usr/src/
[root@www ~]# cd /usr/src/nginx-1.6.0/
[root@www nginx-1.6.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module

&& make && make install

其中--with-http_stub_status_module模块,为日志统计模块

 --with-http_ssl_module模块,为支持ssl模块

查询nginx的启动,停止方法

[root@www nginx-1.6.0]# nginx -h

创建用户和组

[root@www nginx-1.6.0]# useradd -M -s /sbin/nologin nginx

如果不创建nginx用户,启动nginx时会报错,如图:

技术图片

为主程序nginx创建链接文件

[root@www nginx-1.6.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

Nginx的运行控制方法

手动方法控制Nginx:

nginx -t            #检测配置文件语法

执行nginx          #主程序启动Nginx

[root@www ~]# nginx            #启动nginx服务

[root@www ~]# netstat -anpt |grep nginx

tcp   0   0 0.0.0.0:80   0.0.0.0:*   LISTEN  4651/nginx

[root@www ~]# killall -1 nginx   //平滑重启 nginx (reload)

[root@www ~]# killall -s HUP nginx   //平滑重启 nginx (reload)

[root@www ~]# killall -3 nginx   //正常停止nginx (stop)

[root@www ~]# killall -s QUIT nginx   //正常停止nginx (stop)

[root@www ~]# killall -s USR1 nginx   //用于nginx的日志切换,也就是重新打开一个日志文件,例如每天要生成一个日志文件时,可以使用这个信号来控制

[root@www ~]# killall -s USR2 nginx   //用于平滑升级可执行程序

[root@www ~]# nginx -s reload

[root@www ~]# nginx -s stop

编写nginx服务脚本

[root@www ~]# vim /etc/init.d/nginx

其内容参考nginx官方文档

#!/bin/bash
# chkconfig: 2345 99 20
# description: Nginx Server Control Scripts shell
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
  start)
    if [ -f $PIDF ];then
      echo "Nginx is running...Start it is error"
    else
      $PROG
    fi
  ;;
  stop)
    if [ -f $PIDF ];then
      kill -3 $(cat $PIDF)
      rm -f $PIDF
    else
      echo "Nginx is stopping...Stop it is error"
    fi
  ;;
  restart)
    $0 stop
    $0 start
  ;;
  reload)
    if [ -f $PIDF ];then
      kill -1 $(cat $PIDF)
    else
      echo "Nginx is stopping...reload it is error"
    fi
  ;;
  status)
    if [ -f $PIDF ];then
      echo "Nginx is running"
    else
      echo "Nginx is stopped"
    fi
  ;;
  *)
    echo "Usage:$0 (start|stop|restart|reload|status)"
    exit 1
esac
exit 0

[root@www ~]# chmod +x /etc/init.d/nginx

[root@www ~]# chkconfig --add nginx

[root@www ~]# chkconfig --list nginx nginx

0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

[root@www ~]# /etc/init.d/nginx status

Nginx is stopped

[root@www ~]# /etc/init.d/nginx start

[root@www ~]# /etc/init.d/nginx start

Nginx is running...Start it is error

[root@www ~]# /etc/init.d/nginx restart

[root@www ~]# /etc/init.d/nginx stop

[root@www ~]# /etc/init.d/nginx stop

Nginx is stopping...Stop it is error

[root@www ~]# /etc/init.d/nginx start

[root@www ~]# /etc/init.d/nginx status

Nginx is running

技术图片

 

以上是关于nginx源码包安装的主要内容,如果未能解决你的问题,请参考以下文章

centos 7 源码包安装卸载nginx

源码包安装-例子

centerOS7源码包安装nginx

Nginx1.8源码包编译安装

linux平台下,nginx源码包如何安装?需要哪些依赖? RHEL5

nginx源码安装