nginx的介紹、安裝、啟動
nginx是什麼?
伺服器:http伺服器、反向代理伺服器、虛擬主機。
http伺服器
是什麼?是web伺服器的一種,它是基於超文字傳輸協議HTTP的伺服器。
能幹嘛?HTTP伺服器會等待瀏覽器傳送的請求,接收到URL請求後從中提取有用資訊作出處理,最後將 處理結果返回給客戶端。
反向代理伺服器
是什麼?代理伺服器
能幹嘛?nginx接受pc機通過瀏覽器發來的請求,然後將請求轉發給內網上的web伺服器(下圖中右側的服 務器),並將從伺服器上得到的結果返回給internet上請求的客戶端。
原理圖:pc機為n臺
虛擬主機
是什麼?
能幹嘛?一臺伺服器上能夠毫無衝突地配置多個網路IP地址,不必再為建立一個站點而購置單獨的服務 器,降低費用提高效率。
為什麼選擇nginx作為中介軟體?優勢
?
1.IO多路複用epoll
2.輕量級
功能模組少
程式碼模組化
3.CPU親和:是一種把CPU核心和nginx工作程序繫結在一起的方式,把每個worker程序固定在一個CPU核心上執行,
圖中,機器有2個CPU,每個CPU有4個核心,將worker與CPU核心直接繫結。 ==> 可以減少程序切換CPU帶來的開銷,獲得更好的效能。
4. sendfile令拷貝
不經過核心與使用者空間的切換,直接在核心空間之間拷貝
學習環境準備(硬體
準備)
系統硬體:CPU>=2Core,記憶體>=256M
作業系統:版本>=7.0,位數x64
環境除錯4項確認
(1)確認系統網路
ping www.baidu.com
(2)確認yum可用
(3)確認iptables規則
iptables -L 檢視規則
iptables -F 關閉規則
iptables -t nat -F
(4)確認停用selinux
gettenforce
setenforce 0
安裝
nginx
sudo yum -y install gcc gcc-c++ make cmake
yum -y install wget httpd-tools vim
sudo yum install pcre pcre-devel
sudo yum install zlib-devel
./configure --prefix=/usr/local/nginx # 配置
make && make install # 編譯 && 安裝
安裝之後,cd /usr/local/nginx
conf 配置檔案
html 網頁檔案
logs 日誌檔案
sbin 二進位制檔案
啟動
nginx
cd /usr/local/nginx
./sbin/nginx # 啟動
啟動成功後的圖見下:
如果啟動報錯,見下圖,表示不能繫結80埠,80埠已經被佔用:natstat -nap | grep 80
解決方案:把佔用80埠的軟體或服務程序殺死 kill -9 pid
通過訊號
控制nginx關閉
、重啟
、重新載入配置檔案
、升級
kill -訊號 nginx的pid
kill -訊號 `cat logs/nginx.pid`