一、目錄結(jié)構(gòu)
配置文件目錄、 站點(diǎn)目錄、 日志目錄
1、配置文件目錄
nginx/nginx.conf --- 主配置文件
nginx/conf.d/default.conf --- 虛擬主機(jī)模板配置文件
2、站點(diǎn)目錄
/etc/share/nginx/html --- 站點(diǎn)目錄 將網(wǎng)絡(luò)資源信息規(guī)范存儲(chǔ)
3、日志目錄
/var/log/nginx --- 日志目錄 錯(cuò)誤日志 訪(fǎng)問(wèn)日志(分析用戶(hù)訪(fǎng)問(wèn)行為)
二、nginx配置文件
nginx.conf
user www; --- 指定worker進(jìn)程用戶(hù)信息 虛擬用戶(hù)管理worker
master process:控制服務(wù)可以正常運(yùn)行 公司老板
worker process:工作進(jìn)程,處理用戶(hù)請(qǐng)求 公司職員
worker_processes 10; --- 指定worker進(jìn)程數(shù)量 進(jìn)程數(shù)量<服務(wù)器核心數(shù)量 <服務(wù)器核心數(shù)量2倍
增加worker進(jìn)程數(shù)量,增加服務(wù)并行處理能力
error_log /var/log/nginx/error.log warn; --- 指定錯(cuò)誤日志保存的路徑
定義記錄錯(cuò)誤信息級(jí)別:
1. debug 調(diào)試級(jí)別 產(chǎn)生輸出的信息最詳細(xì)
2. info 信息級(jí)別 產(chǎn)生輸出詳細(xì)信息
3. notice 通知級(jí)別 產(chǎn)生輸出詳細(xì)信息
4. warn 警告級(jí)別 產(chǎn)生提示可能有問(wèn)題信息 (推薦)
5. error 錯(cuò)誤級(jí)別 產(chǎn)生服務(wù)錯(cuò)誤信息 (推薦)
6. crit 嚴(yán)重級(jí)別 產(chǎn)生服務(wù)錯(cuò)誤信息
7. alert 極其嚴(yán)重
8,emerg 災(zāi)難級(jí)別 記錄日志信息最少
pid /var/run/nginx.pid; --- 記錄日志pid數(shù)值信息
events {
worker_connections 2048; --- 一個(gè)worker進(jìn)程可以同時(shí)處理幾個(gè)連接
總的最大并發(fā)連接數(shù)=worker_processesworker_connections<系統(tǒng)打開(kāi)文件數(shù)
[root@web01 nginx]# ulimit -a
open files (-n) 1024
將打開(kāi)文件數(shù)修改為5 -- ssh服務(wù) 遠(yuǎn)程連接
}
http {
include /etc/nginx/mime.types; --- 加載媒體資源類(lèi)型文件 可以識(shí)別類(lèi)型直接處理/不能處理交給動(dòng)態(tài)程序或直接下載
default_type application/octet-stream; --- 默認(rèn)加載的類(lèi)型
log_format oldboy 'remote_user [
request" ' --- 定義訪(fǎng)問(wèn)日志格式
'body_bytes_sent "
http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log oldboy; --- 調(diào)用定義的格式 指定訪(fǎng)問(wèn)日志存儲(chǔ)路徑
sendfile on;
#tcp_nopush on;
keepalive_timeout 65; --- 設(shè)置TCP通訊的方式為長(zhǎng)連接 0表示短連接
#gzip on;
include /etc/nginx/conf.d/.conf; --- 加載conf.d 所有以.conf結(jié)尾的文件配置
網(wǎng)站主機(jī)配置文件
}
補(bǔ)充:nginx配置文件是由多個(gè)區(qū)塊做成
- 主區(qū)塊
- 事件區(qū)塊 events {}
- HTTP區(qū)塊 HTTP {} --- 指定網(wǎng)站服務(wù)進(jìn)行加載文件信息 訪(fǎng)問(wèn)日志信息 服務(wù)優(yōu)化配置
- server區(qū)塊 server {} --- 定義網(wǎng)站信息
- location區(qū)塊 location {} --- 匹配區(qū)塊 匹配uri信息
- if區(qū)塊 if {} --- 做判斷處理
三、網(wǎng)站站點(diǎn)配置文件
vim /etc/nginx/conf.d/www.conf
server {
listen 80; --- www網(wǎng)站監(jiān)聽(tīng)端口
server_name www.oldboyedu.com; --- 定義你的網(wǎng)站域名信息
location / { --- ???
root /html/www; --- 指定站點(diǎn)目錄
index index.html index.htm; --- 定義首頁(yè)文件
}
error_page 500 502 503 504 /50x.html; --- 錯(cuò)誤頁(yè)面優(yōu)雅顯示配置
location = /50x.html { --- 匹配指定uri
root /usr/share/nginx/html; --- 設(shè)置指點(diǎn)目錄
}
}
nginx配置規(guī)范:
規(guī)范一:大括號(hào)信息必須成對(duì)
規(guī)范二:所有指令信息后面必須有分號(hào)
規(guī)范三:配置指令信息必須符合要求
四、企業(yè)中使用nginx
1、配置多個(gè)網(wǎng)站頁(yè)面環(huán)境
server {
listen 80;
server_name www.oldboy.com;
location / {
root /html/www;
index index.html index.htm;
}
#error_page 404 500 502 503 504 https://www.qq.com/babygohome/?pgv_ref=404;
#location = /oldboy.jpg {
# root /html;
#}
}
server {
listen 80;
server_name bbs.oldboy.com;
location / {
root /html/bbs;
index index.html index.htm;
}
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /usr/share/nginx/html;
#}
}
server {
listen 80;
server_name blog.oldboy.com;
location / {
root /html/blog;
index index.html index.htm;
}
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /usr/share/nginx/html;
#}
}
2、創(chuàng)建站點(diǎn)目錄并創(chuàng)建首頁(yè)文件
mkdir /html/{www,bbs,blog} -p
for name in {www,bbs,blog};do echo name/index.html;done
3、配置好解析信息
10.0.0.7 www.oldboy.com bbs.oldboy.com blog.oldboy.com