阻塞呼叫:事件沒有準備好,那就只能等了,等事件準備好了,你再繼續吧。
阻塞呼叫會進入核心等待,cpu就會讓出去給別人用了,對單執行緒的worker來說,顯然不合適,當網路事件越多時,大家都在等待呢,cpu空閒下來沒人用,cpu利用率自然上不去了,更別談高併發了。
非同步非阻塞:非同步非阻塞的事件處理機制,具體到系統呼叫就是像select/poll/epoll/kqueue這樣的系統呼叫。
它們提供了一種機制,讓你可以同時監控多個事件,呼叫他們是阻塞的,但可以設定超時時間,在超時時間之內,如果有事件準備好了,就返回。
wget
tar -zxvf nginx.tar.gz
./configure
linux 安裝gcc,gcc-c++
yum -y install gcc gcc-c++ autoconf automake
安裝pcre
yum -y install pcre pcre-devel
安裝zlib
yum -y install zlib zlib-devel
make
make install
啟動nginx 伺服器
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
停止nginx伺服器
1.從容停止
kill -quit 15369
2.快速停止
kill -term 15417
kill -int 15417
3.強制停止
pkill -9 nginx
4.驗證配置檔案的正確性
./nginx -t
./nginx -t -c /usr/local/nginx/conf/nginx.conf
5.nginx 重啟
./nginx -s reload(進入到所在目錄)
kill -hup 15446
6.usr1:切換日誌檔案
usr2:平滑公升級可執行程序
winch:從容關閉工作程序(kill -winch 2255)
7.檢視版本
./nginx -v
#設定使用者
#user nobody
#工作衍生程序數(等於cpu的核數或2倍的核數)
worker_processes 6;
#設定pid存放的路徑
#pid logs/nginx.pid;
//最大連線數
events
#開啟gzip 開啟(使用者訪問的是壓縮過的檔案(原來的30%))
#gzip on
#設定字元編碼
charset koi8-r;
charset gb2312;
nginx配置檔案的抽象(例項)
設定主機的ip位址和子網掩碼
ifconfig eth1 192.168.1.10 netmask 255.255.255.0
設定虛擬主機(子伺服器)的ip位址和廣播位址和子網掩碼
ifconfig eth1:1 192.168.1.7 broadcast 192.168.1.255 netmask 255.255.255.0
log_format指令是用來設定nginx伺服器的日誌檔案的記錄格式
: ip位址
remote_user
: 使用者
request
: 請求的**
status
: 狀態
body_bytes_sent
: 傳送的位元組數
: 原頁面
: 瀏覽器(客戶端)
http_x_forwarded_for:類似ip
//修改nginx預設的配置檔案
vi /usr/local/nginx/conf/nginx.conf
access_log 儲存路徑
/*****************nginx 實現負載均衡*********************/
/*****************nginx 實現負載均衡*********************/
Nginx 安裝及使用
wget 2 安裝依賴包 yum y install zlib zlib devel openssl openssl devel pcre pcre devel 3 建立組 groupadd r nginx 4 建立使用者 useradd r g nginx s sbin nologin d usr...
nginx安裝及使用
進入 usr local webserver nginx sbin,啟動指令碼在這個檔案下 配置在 usr local webserver nginx conf下的nginx.conf中 1 簡單方向 訪問192.169.43.188 80跳轉至192.168.43.114 8080 2 通過正規表...
Nginx安裝及使用
切換到root下安裝 centos su root ubuntu sudo su 切換資料夾 cd usr local src apt get install build essential apt get install libtool yum y install gcc automake aut...