1)是一款輕量級的Web 服務器/反向代理服務器及電子郵件代理服務器倘核,其特點是占有內(nèi)存少泣侮,并發(fā)能力強,中國大陸使用nginx網(wǎng)站用戶有:百度紧唱、京東活尊、新浪、網(wǎng)易漏益、騰訊蛹锰、淘寶等;
2)適用于反向代理服務器和靜態(tài)資源服務器(注:線上公司都使用Linux安裝)
靜態(tài)資源服務器
?場景:
傳統(tǒng)的web項目绰疤,一般都將靜態(tài)資源存放在項目Public的目錄下铜犬,這樣做很方便獲取靜態(tài)資源,但是如果說web項目很大,用戶很多翎苫,靜態(tài)資源也很多時值漫,服務器的性能明顯下降。這種情況下一般都會需要一個靜態(tài)資源的服務器倒源。
?解決:通過Nginx搭建一個服務器存放圖片 或 使用阿里云/七牛云的對象存儲
?大型項目分離好處(注:推薦靜態(tài)資源使用新域名):
1隶症、便于維護使用(舉例:一個項目圖片可以方便所有項目使用,如:jq等)
2呐粘、動靜分離有利于CDN加速 (注:動靜分離指后端處理數(shù)據(jù)文件和靜態(tài)文件分離)
3满俗、【新域名好處】便于緩存 (舉例:請求的是同一文件,就不用再下載了)
4作岖、【新域名好處】靜態(tài)資源的http請求中不會攜帶無用的cookie唆垃。
5、【新域名好處】優(yōu)化瀏覽器對同一域名進行請求的最大并發(fā)連接數(shù)限制(注:不同瀏覽器限制不同)
CDN服務器(大型項目加速使用)
傳統(tǒng):用戶訪問網(wǎng)站 -> 請求網(wǎng)站所在服務器
CDN服務:
用戶請求網(wǎng)站 -> 檢測用戶所在城市服務器是否有緩存:有-直接響應痘儡,沒有-請求原服務器(僅緩存靜態(tài)資源)
CDN好處:加快訪問速度
大型項目架構(gòu)
集群技術(shù)/冗余技術(shù):多個服務實現(xiàn)相同的業(yè)務
負載均衡技術(shù):將用戶的請求按照指定的策略分配給不同的服務器處理
主從復制:當MySQL主服務器有insert/update/delete動作辕万,MySQL從服務器自動同步
動靜分離:將靜態(tài)資源單獨放一個服務器上,PHP代碼在另一個服務器上
讀寫分離:項目insert/update/delete去操作主服務器沉删,項目select去從服務器獲取
二渐尿、Nginx服務器
Nginx是一款輕量級、高性能的Web 服務器或反向代理服務器矾瑰,因它的穩(wěn)定性砖茸、豐富的功能集和低系統(tǒng)資源的消耗而聞名。
占有內(nèi)存少殴穴,并發(fā)能力強
Apache與Nginx服務器區(qū)別
Nginx相對 Apache的優(yōu)點
輕量級凉夯,同樣起web 服務,比apache 占用更少的內(nèi)存及資源;
抗并發(fā)采幌,nginx 處理請求是異步非阻塞的劲够,而apache 則是阻塞型的,在高并發(fā)下nginx 能保持低資源低消耗高性能
高度模塊化的設計休傍,編寫模塊相對簡單;
社區(qū)活躍征绎,各種高性能模塊出品迅速;
Apache相對Nginx的優(yōu)點
rewrite ,比nginx 的rewrite 強大;模塊超多尊残,基本想到的都可以找到;少bug 炒瘸,nginx 的bug 相對較多;超穩(wěn)定;
LNMP的安裝與配置
下載地址:: https://lnmp.org
模塊依賴性:Nginx的一些模塊需要其他第三方庫的支持,例如gzip模塊需要zlib 庫(好處:壓縮響應數(shù)據(jù)寝衫,加快傳輸速度)顷扩,rewrite模塊需要pcre庫,ssl功能需要openssl庫等慰毅。
配置虛擬主機(Nginx)
在nginx下配置虛擬主機非常簡單隘截,只需在nginx下http {} 中 增加一個server(填入如下配置)即可新增一個虛擬主機
server {
# 監(jiān)聽端口
listen 80;
# 綁定域名(多個之間用空格隔開)
server_name 待綁定的域名;
location / {
# 項目根目錄
root /php/wwwroot/web1;
# 默認首頁
index index.html index.htm;
}
vi /php/server/nginx/conf/nginx.conf
(記得在本地host文件中加入DNS解析)
開啟gzip壓縮
好處:壓縮響應數(shù)據(jù),加快傳輸速度
配置:打開nginx的配置文件,在server中增加上述代碼并重啟即可
expires緩存功能概述
作用:設置expires減少不必要的http請求
場景:將靜態(tài)資源(css婶芭、js东臀、圖片)等緩存到客戶端,減輕服務區(qū)壓力
日志管理
tail命令:常用語分析日志
tail -數(shù)字 路徑及文件名 #查看后n行
tail -f 路徑及文件名 #實時監(jiān)控文件更新內(nèi)容
Nginx里默認會有兩種日志 access.log 訪問日志 error.log 錯誤日志
默認路徑 /nginx安裝目錄下/logs
基于域名日志分割
基于域名日志分割指:多站點日志分開存放犀农,便于后期分析