在各种网站服务器当中除了Apache外,还有一款轻量级的网站服务器软件Nginx,其特点是稳定性较好以及较低系统资源消耗,以及对HTTP并发连接的处理能力。

实验环境

  • Redhat6.5版本
  • Nginx1.6版本

服务搭建

1、编译安装Nginx

yum install pcre-devel zlib-devel gcc gcc-c++ -y
//安装支持软件包

tar xzvf nginx-1.6.0.tar.gz -C /opt //解压Nginx软件包
cd /opt/nginx-1.6.0/

执行模块安装:

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
 --with-http_stub_status_module      // 开启stub_status状态统计模块

make && make install //执行编译安装

2、Nginx运行控制

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
//让系统识别Nginx启动命令

当采用这种方式启动:

nginx -t            //检查配置文件语法错误
nginx               //启动
killall -1 nginx    //重启
killall -3 nginx    //停止

为了使Nginx服务方便service工具管理,需要手动配置服务启动脚本:

vim /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 start //启动
service nginx stop //停止
service nginx restart //重启
service nginx reload //重载

3、配置文件简介

Nginx主配置文件/usr/local/nginx/conf/nginx.conf,包含了全局配置、I/O事件配置和HTTP配置三大块内容。

全局配置:

user  nobody;        //运行用户 
worker_processes  1;    //工作进程数量
error_log  logs/error.log;  //错误日志文件位置
pid        logs/nginx.pid;  //PID文件位置

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] "$request" '
    #access_log  logs/access.log  main;     //访问日志位置
    sendfile on;      //支持文件发送(下载)
    #tcp_nopush on;
    #keepalive_timeout 0;
    keepalive_timeout 65;   //连接保持超时
    #gzip on;          
server {                    //web服务的监听配置
        listen 80;          //监听地址及端口
        server_name www.yun.com;  //网站名称(FQDN)
        #charset utf-8;         //网站默认字符集
        #access_log  logs/host.access.log  main;

        location / {            //根目录配置
            root html;          //网站根目录位置
            index index.html index.htm;  //默认首页形式
        }

        error_page 500 502 503 504  /50x.html;  //内部错误的反馈页面
        location = /50x.html {    //错误页面配置
            root html;
            }
        }
    }

当配置好如上Nginx后,访问其服务如下:
Nginx服务搭建及配置简介!