1. 程式人生 > >20181023-Nginx基礎(1)

20181023-Nginx基礎(1)

1.Nginx使一款高效能的http伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。官方測試nginx能夠支撐5萬併發連結,並且cpu、記憶體等資源消耗非常低,執行穩定。

2.安裝
2.1 關閉seLinux
setenforce 0 關閉
getenforce 檢視seLinux狀態
2.2 安裝相關依賴庫的包
yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
yum -y install wget httppd-tools vim //可選安裝工具包
2.3下載http://nginx.org/en/download.html
2.4 通過yum的方式進行安裝(環境:centos6.5)
進入/etc/yum.repos.d資料夾,建立nginx.repo檔案內容如下(可在http://nginx.org/en/linux_packages.html#stable中複製):

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/   ##將centos改成自己系統,6改為對應版本
gpgcheck=0
enabled=1

後執行yum install nginx進行安裝。安裝完成後,nginx -v檢視當前版本.
2.5 第二種安裝方式
在這裡插入圖片描述

3.目錄結構
3.1 rpm -ql nginx 檢視nginx安裝目錄

4.${nginx)/conf/nginx.conf配置檔案
4.1 listen 80; 監聽的埠
4.2
location / {
root ${路徑} /配置讀取根目錄

/
}
4.3 access_log ${路徑} main /配置日誌路徑,main為日誌的顯示格式/
在這裡插入圖片描述

5.經典例子----日誌切分

5.1編寫日誌的sh指令碼

#!/bin/sh

BASE_DIR=/usr/joe/nginx		#nginx根目錄變數
BASE_FILE_NAME=itjoe.top.access.log		#日誌檔名稱

CURRENT_PATH=$BASE_DIR/logs			#當前日誌目錄 相當於/usr/joe/nginx/logs		
BAK_PATH=$BASE_DIR/logs/baklog		#歷史日誌目錄 相當於/usr/joe/nginx/logs/baklog

CURRENT_FILE=$CURRENT_PATH/$BASE_FILE_NAME		#當前日誌檔案路徑+檔名
BAK_TIME='/bin/date -d yesterday +%Y%m%d'	#獲得前一天的時間,格式為yyyymmdd
BAK_FILE=$BAK_PATH/$BAK_TIME-$BASE_FILE_NAME		#歷史日誌檔案路徑+前一天時間+檔名

$BASE_DIR/sbin/nginx -s stop		#關閉nginx

mv $CURRENT_FILE $BAK_FILE		#將當前日誌檔案改名並移至歷史日誌資料夾

$BASE_DIR/sbin/nginx		#重啟nginx,重啟nginx後將生成新的日誌檔案

6.nginx的location配置
6.1 基礎語法
location = pattern{} 精準匹配
location pattern{}一般匹配
locarion ~ pattern{} 正則匹配