nginx的簡介和搭建基於域名的虛擬主機

今天就來和你們講一講nginx和基於域名搭建虛擬主機php

簡介

Nginx (engine x) 是一個高性能的Web服務器和反向代理服務器,也是一個IMAP/POP3/SMTP服務器html

俄羅斯程序員Igor Sysoev於2002年開始
Nginx是增加最快的Web服務器,市場份額已達33.3%
全球使用量排名第二2011年成立商業公司nginx

Nginx源碼結構:

代碼量大約11萬行C代碼
源代碼目錄結構
core (主幹和基礎設置)
event (事件驅動模型和不一樣的IO複用模塊)
http (HTTP服務器和模塊)
mail (郵件代理服務器和模塊)
os (操做系統相關的實現)
misc (雜項)程序員

Nginx特色:

反向代理,負載均衡器
高可靠性、單master多worker模式
高可擴展性、高度模塊化
非阻塞
事件驅動
低內存消耗
熱部署正則表達式

nginx應用環境

靜態文件服務器
反向代理,負載均衡
安全防護
智能路由(企業級灰度測試、地圖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等的服務器組。

Nginx目錄說明

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 : 臨時目錄

nginx配置參數解釋

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文件(須要記事本以管理員模式運行)

相關文章
相關標籤/搜索