今天就來和你們講一講nginx和基於域名搭建虛擬主機php
Nginx (engine x) 是一個高性能的Web服務器和反向代理服務器,也是一個IMAP/POP3/SMTP服務器html
俄羅斯程序員Igor Sysoev於2002年開始
Nginx是增加最快的Web服務器,市場份額已達33.3%
全球使用量排名第二2011年成立商業公司nginx
代碼量大約11萬行C代碼
源代碼目錄結構
core (主幹和基礎設置)
event (事件驅動模型和不一樣的IO複用模塊)
http (HTTP服務器和模塊)
mail (郵件代理服務器和模塊)
os (操做系統相關的實現)
misc (雜項)程序員
反向代理,負載均衡器
高可靠性、單master多worker模式
高可擴展性、高度模塊化
非阻塞
事件驅動
低內存消耗
熱部署正則表達式
靜態文件服務器
反向代理,負載均衡
安全防護
智能路由(企業級灰度測試、地圖POI一鍵切流)
灰度發佈
靜態化
消息推送
圖片實時壓縮
防盜鏈安全
1gx_http_core_module服務器
提供http協議的支持。日常配置的http段、server虛擬主機段、location段等。都是此模塊的中的一些配置語法。app
ngx_http_proxy_module負載均衡
使用‘gzip’方法壓縮,有助於將傳輸數據的大小減小爲一半甚至更多。提供請求返回速度。curl
2.三、ngx_http_proxy_module
該模塊容許將請求轉發到其餘服務器,實現代理服務器的功能。
常見於實現反向代理服務器。
ngx_http_rewrite_module
該模塊用於使用pcre正則表達式更改請求的URI,返回重定向,或者判斷選擇對應的配置項。
ngx_http_upstream_module
該模塊用戶分發到不一樣的服務器節點。支持由proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass, grpc_pass等的服務器組。
conf : Nginx全部配置文件的目錄
fastcgi.conf fastcgi相關參數的配置文件
fastcgi.conf.default fastcgi.conf的原始備份
fastcgi_params fastcgi的參數文件
mime.types 媒體類型
nginx.conf Nginx默認的主配置文件
scgi_params scgi相關參數文件
uwsgi_params uwsgi相關參數文件
fastcgi_temp : fastcgi臨時數據目錄
html : 編譯安裝Nginx的默認站點目錄
50x.html 錯誤頁面優雅替代顯示文件
index.html 默認的首頁文件,index.html 、index.php等
logs : Nginx默認的日誌路徑,包括錯誤日誌和訪問日誌
access.log Nginx的默認訪問日誌文件, tail -f access.log
error.log Nginx的錯誤日誌文件,若是出現啓動故障,要查看該文件
nginx.pid Nginx的pid文件,Nginx進程啓動後,會把全部進程的ID號寫到此 文件
proxy_temp : 臨時目錄
sbin : Nginx命令的目錄
nginx Nginx的啓動命令nginx
scgi_temp : 臨時目錄
uwsgi_temp : 臨時目錄
worker_processes 1; worker進程的數量
worker_connections 1024; 每一個worker進程支持的最大鏈接數
include mime.types; nginx支持的媒體類型庫文件
default_type application/octet-stream; 默認的媒體類型
sendfile on; 開啓高效傳輸模式
keepalive_timeout 65; 鏈接超時
server 表示一個獨立的虛擬主機站點
listen 80; 提供服務的端口,默認80
server_name localhost; 提供服務的域名主機名
location location區塊
root html 站點的根目錄
1 在 usr/local/nginx/conf/nginx.conf裏添加配置文件(格式以下)
server {
listen 80;
server_name www.nautilus.org;
location / {
root html/www;
index index.html index.htm;
}
}
2 在 usr/local/nginx/html裏建立一個目錄3進入這個剛建立的文件輸入echo "xiaoxiaoxiao" >>index.html(引號裏看須要輸入)4 在 etc/hosts 裏添加本身的虛擬機IP和虛擬主機的名字5 看一下nginx啓動沒有若是沒有就啓動6進入 usr/local/nginx/sbin重啓文件,命令是./nginx -s reload7輸入curl 虛擬主機名,看是否成功8若是要在window上查看須要更改C:\Windows\System32\drivers\etc裏的hosts文件(須要記事本以管理員模式運行)