1. 程式人生 > >Nginx服務搭建及配置簡介

Nginx服務搭建及配置簡介

Nginx

在各種網站服務器當中除了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服務搭建及配置簡介