詳解nginx基本配置與參數

高洛峰
發布: 2023-03-06 14:56:01
原創
1571 人瀏覽過

這篇文章詳解nginx基本配置與參數

user nobody;

#啟動進程,通常設定成和cpu的數量相等

worker_processes 1;

#全域錯誤日誌及PID檔

#error_loglogs/error.log;

#error_log logs/error.log notice;

error_log logs/error.log notice;

#error_log logs/error.log info;

#pid logs/nginx.pid;##工作

模式

與連線數上限

##模式

模式

11 events {

#epoll是多路復用IO(I/O Multiplexing)中的一種方式,

#僅用於

linux

2.6以上核心,可以大幅提升nginx的效能###### use epoll; ###### #單一後台worker process進程的最大同時連結數 ###### 問題worker_processes 與worker_connections 的乘積###### # 即max_clients = worker_processes * worker_connections###### # 在設定了反向代理人為什麼上面反向代理人要除以4,應該說是一個經驗值###### # 根據上述條件,正常情況下的Nginx Server可以應付的最大連線數為:4 * 8000 = 32000#### ## # worker_connections 值的設定跟物理記憶體大小有關###### # 因為並發受IO###限制###,max_clients的值須小於系統可以開啟的最大檔案數###### #而係統可以開啟的最大檔案數和記憶體大小成正比,一般1GB記憶體的機器上可以開啟的檔案數大約是10萬左右###### # 我們來看看360M記憶體的VPS可以開啟的檔案句柄數字是多少:###### # $ cat /proc/sys/fs/###file###-max###### # 輸出34336###### # 32000 < 34336,即並發連接總數小於系統可以開啟的檔案句柄總數,這樣就在作業系統可以承受的範圍之內###### # 所以,worker_connections 的值需根據worker_processes 進程數目和系統可以開啟的最大檔案總數進行適當地進行設定###### # 使得並發總數小於作業系統可以開啟的最大檔案數目###### # 其實質也就是根據主機的實體CPU和記憶體進行設定###### #當然,理論上的並發總數可能會和實際上有所偏差,因為主機還有其他的工作流程需要消耗系統資源。 ###### # ulimit -SHn 65535######}######http {###### #設定mime類型,類型由mime.type檔案###定義## ####### ###include### mime.types;###### default_type application/octet-stream;###### #設定日誌格式####o # ## ##for###mat ###main### '$remote_addr - $remote_user [$###time###_local] "$request" '###### body_$m. " '###### '"$http_user_agent" "$http_x_forwarded_for"';###

access_log logs/access.log main;

#sendfile 指令指定nginx 是否呼叫sendfile函數(zerocopy方式)來輸出文件,

#對於普通應用,必須設為on,

#如果用來進行下載等應用磁碟IO重負載應用,可設定為off,

#以平衡磁碟與網路I/O處理速度,降低系統的uptime.

sendfile on;

#tcp_nopush on;

#tcp_nopush ” #連線逾時時間

#keepalive_timeout 0;

keepalive_timeout 65;

tcp_nodelay on;

# tcp_nodelay on;# 開啟壓縮1

# gzip on;

gzip_disable "MSIE [1-6].";

# gzip_disable "MSIE [1-6].";

# gzip_disable "MSIE [1-6].";

#設定請求緩衝

client_

header_buffer_# client_

er_buffer_# 128k;

large_client_header_buffers 4 128k;

#設定虛擬主機設定

server {

##

設定

server {## ###

list

en 80;

#定義使用www.nginx.cn造訪

1 server_name定義

服務

器的預設網站根目錄位置

root html;

#設定本虛擬主機的存取日誌access_log acc access.log main;

#預設請求

location / {

.php index.html index.htm;

}

# 定義錯誤提示頁

50page location = /50x.html {

}#

#靜態

文件,nginx自己處理location ~ ^/(images | ##|js|css|flash|media|static)/ {

#過期30天,靜態檔案不如何更新

# #如果經常更新,則可設定小一點。

expires 30d;

}

## #PHP 腳本要求全部轉送至FastGI 處理.# 一天

## fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILEN被fastcgi_params;}

# #禁止存取.htxxx 檔案

location ~ /.ht {

deny

all

;# ##

}

以上是詳解nginx基本配置與參數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!