Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。

Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性:

  • 在连接高并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,
  • 因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

Nginx安装

安装包的下载地址:http://nginx.org/en/download.html
.

# mkdir /gx | mount.cifs //192.168.100.99/gx /gx 
# yum install gcc gcc-c++ make pcre pcre-devel zlib-devel -y
# tar xzvf /gxnginx-1.6.0.tar.gz -C /opt      //解压缩到opt目录
# cd /opt/nginx-1.6.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module    //功能模块 统计日志

.

# make && make install        //编译&&编译安装

检查安装结果和启动停止服务

# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/      
//(软连接  方便调用nginx命令)
# nginx -t         //查看是否安装成功
# nginx           //启动Nginx 服务
# netstat -anpt | grep nginx        //查看端口
# killall -1 nginx     //重启Nginx服务
#killall -3 nginx     //关闭Nginx服务

编写Nginx服务脚本 方便chkconfig和service工具管理

# vim /usr/local/nginx/conf/nginx.conf
    pid        logs/nginx.pid;   //去#号  使下面脚本中路径文件生成

vi /etc/init.d/nginx       //创建服务脚本
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
    $PROG
     ;;
stop)
     kill -s QUIT $(cat $PIDF)
     ;;
restart)
    $0 stop
    $0 start
     ;;
 reload)
     kill -s HUP $(cat $PIDF)
     ;;
 *)
    echo "Usage: $0 {start|stop|restart|reload}"
    exit 1
esac
exit 0

# chmod +x /etc/init.d/nginx
# chkconfig --add nginx        //添加为系统服务
现在可以使用service 控制Nginx服务了

配置主配置文件

  • 全局配置

    # vim /usr/local/nginx/conf/nginx.conf
    user  nginx nginx;     //去# 改用户为nginx
    worker_processes  1;   //工作进程数量
    ......
    error_log  logs/error.log  info;    //错误日志文件
  • I/O事件配置

    events {
      use epoll;  //添加  使用epoll模型  
     worker_connections  1024;       //每个进程处理1024个连接
     }
  • HTTP配置

     http {
    include       mime.types;       //支持多媒体
        default_type  application/octet-stream;
        log_format  main  '$remote_addr - $remote_user [$time_local] "$r    equest" '
                 '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"'; 
                       //访问日志位置
        access_log  logs/access.log  main;
        sendfile        on;          //支持文件发送(下载)
         keepalive_timeout  65;          //连接保持超时
    
     server {                              //Web服务的监听配置
    listen       80;                 //监听的端口
    server_name  www.benet.comt;    //网站名称
    charset utf-8;                    //默认字符集
       location / {                
        root   html;               //网站根目录的位置
        index  index.html index.htm;   //默认首页(索引页)
    }
  • 开启访问状态统计

    跟上面配置后面 添加4行
     location ~ /status {             //访问位置为/status
    stub_status   on;            //打开状态统计功能
    access_log off;              ////关闭此位置的日志记录
    }
    
    # service nginx restart   //重启nginx服务
    打开浏览器输入服务器地址:
     192.168.100.102 
    访问Nginx的统计状态
     192.168.100.102/status

    Nginx的安装配置及访问状态统计Nginx的安装配置及访问状态统计