四項確認linux
查看iptables規則
nginx
iptables -L
關閉iptables規則
c++
iptables -F
得到當前selinux狀態
shell
getenforce
關閉selinux
vim
setenforce 0
兩項依賴安裝 centos
yum install -y gcc gcc-c++ autoconf pcre pcre-devel make automake yum install -y wget httpd-tools vim
一次初始化,初始化目錄是之後咱們放對應的文件代碼bash
app:
代碼目錄
download:下載的源碼包等
logs:自定義日誌
work:一些shell腳本
backup:默認配置文件的備份
cd /opt mkdir app download logs work backup
安裝過程服務器
第一步:添加Nginx到YUM源網絡
添加CentOS 7 Nginx yum資源庫,打開終端,使用如下命令併發
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
第二步:安裝
在CentOS 7 服務器中使用yum命令從Nginx源服務器中獲取來安裝Nginx
yum install -y nginx
第三步:啓動Nginx
剛安裝的Nginx不會自行啓動。運行Nginx
systemctl start nginx.service # 設置開機自啓 systemctl enable nginx.service
若是一切進展順利的話,如今你能夠經過你的域名或IP來訪問你的Web頁面來預覽一下Nginx的默認頁面
緣由一:IO多路複用epoll
什麼是IO複用?
多個描述符的 I/O 操做都能在一個線程內併發交替地順序完成,這就叫I/O多路複用,這裏的"複用"指的是複用同一個線程。
緣由二:輕量級
功能模塊少:
源代碼裏只有核心代碼,其餘代碼以插件形式安裝
代碼模塊化:
適合二次改進
緣由三:CPU親和(affinity)
nginx正是利用到了cpu的親和來提升併發處理能力以及減小沒必要要的cpu損耗。
1.什麼是CPU親和
是一種把CPU核心和Nginx工做進程綁定方式,把每一個worker進程固定在一個cpu上執行,減小cpu的cache miss,得到更好的性能。
2.爲何須要CPU親和
ginx採用sendfile機制處理靜態文件,所以效率很高。
上圖是傳統的http服務,當咱們訪問一個文件時,會先通過內核空間,再通過用戶空間,傳給socket,最後經過response返回給用戶。該過程須要屢次與用戶空間進行切換,可是靜態文件其實不須要與用戶空間進行過多的邏輯處理。直接能夠經過內核空間傳輸。
sendfile機制只經過內核空間,將文件傳給socket,最終響應給用戶。
所以nginx在處理CDN和動靜分離服務時有很大優點。