一、Nginx虛擬主機的設定
虛擬主機:通常情況下,為了讓每個伺服器可以供更多使用者使用,可以將一個伺服器分成許多虛擬的子伺服器,每個子伺服器都是互相獨立的。這些伺服器是根據虛擬化技術分出來的,這樣,一台伺服器就可以虛擬成很多台子伺服器。我們把子伺服器叫做虛擬主機。我們搭建好Nginx伺服器之後,此時只有一台Nginx伺服器,這時如果我們對這台伺服器進行虛擬主機配置,就可以將一台Nginx伺服器分割為多台獨立的子伺服器。
Nginx中設定虛擬主機的步驟主要有兩個:
1、建立虛擬主機IP
透過ifconfig檢視自己的主機ip,然後根據主機ip建立虛擬主機Ip。
#指令: ifconfig eth2:2 121.42.41.145 broadcast 121.42.43.255 netmask 255.255.252.0
##執行後如圖:
。nginx.conf:該檔案是nginx的系統設定文件,建議不要在這上邊改動。我們一般採用自訂文件,然後加載該文件,從而達到相同的效果。##2、是綁定IP位址與虛擬主機。
建立設定檔在 /usr/local/nginx/conf目錄下建立 xnzj.conf。 #========工作衍生进程数(建议设置成与cpu核数相同或者2倍)==========
worker_processes 1;
#===========设置最大连接数==============
events {
worker_connections 1024;
}
#============http协议的相关信息==============
http {
server {
#===========要监听虚拟主机的IP地址与端口==========
listen 121.42.41.144:80;
#===========该虚拟主机的名称===========
server_name 121.42.41.144;
#===============该虚拟主机服务器的日志文件=========
access_log logs/server144.access.log combined;
#============== 默认请求资源=============
location / {
root html/server144;
#===== nginx会先找index.html 如果没找到就找index.htm
index index.html index.htm;
}
}
server {
#===========要监听虚拟主机的IP地址与端口==========
listen 121.42.41.145:80;
#===========该虚拟主机的名称===========
server_name 121.42.41.145;
#===============该虚拟主机服务器的日志文件=========
access_log logs/server145.access.log combined;
#============== 默认请求资源=============
location / {
root html/server145;
index index.html index.htm;
}
}
}
在 /usr/local/nginx/html下建立對應的虛擬主機預設資源
/usr/local/nginx/html/server144/index.html ;/usr /local/nginx/html/server145/index.html
#讓Nginx載入我麼自訂的設定檔(我的設定檔:xnzj.conf)#執行指令:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/xnzj.conf
#二、日誌的設定Nginx伺服器在運行的時候,會有各種操作,這些關鍵的操作資訊會記錄到檔案中,這些檔案叫做日誌檔案。日誌檔案的記錄是有格式的,我們可以按系統預設的格式去記錄,也可以用我們自訂的格式去記錄。我們可以使用log_format指令來設定Nginx伺服器的日誌檔案的記錄格式。 設定方式:開啟nginx.conf 文件,開啟註解的下端程式碼。#combined:日志输出格式 #remote_addr 客户端请求地址 #remote_user:客户端用户名 #request:请求的地址(服务器资源位置) #status:用户的请求状态 #body_bytes_sent:服务器响应的资源大小(字节数), #http_referer:源网页 #http_user_agent:客户端浏览器信息 #http_x_forwarded_for:客户端Ip地址 log_format combined '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; #==================日志文件 access_log:off;表示关闭日志=========== access_log logs/access.log combined;日誌切割:######為了使Nginx的日誌檔案儲存更合理、有序,我們需要將日誌檔案分開存儲,例如我們可以按時間分開,今天的日誌文件儲存到一個檔案中,明天的日誌檔案則儲存到另一個新的檔案中等等。這時候,我們就會用到日誌檔的切割操作。 ######日誌切割步驟:######1、建立批次檔#########在/usr/local/nginx/logs目錄下執行 [root@iZ28b4kreuaZ logs]# touch cutlog.sh#########2、為此檔案新增內容:###
D=$(date +%Y%m%d) mv /usr/local/nginx/logs/access.log ${D}.log kill -USR1 $(cat /usr/local/nginx/nginx.pid)###3、定時執行批次檔 執行crontab -e 指令新增下列內容####### ## 23 59 *** /bin/bash /usr/local/nginx/logs/cutlog.sh############三、Nginx快取設定##########當########三、Nginx快取設定##########當。我們在瀏覽器中瀏覽某網頁時,我們會把該網頁上的一些資訊(例如這個網頁上的圖片)儲存到本地,當我們第二次瀏覽該網頁的時候,這個網頁上的某些資訊就可以從本地加載,這樣速度就會快很多。儲存到本地的這些資訊我們稱之為快取。但是快取過多的時候,快取檔案就會非常大,影響我們正常的上網活動。故而緩存需要定期清理。 ######設定方式:/usr/local/nginx/conf/nginx.conf 設定檔的http{ server{}}中的location下加入以下程式碼:###
#====================缓存配置============= location ~.*\.(jpg|png|swf|gif)${ expires 2d;#两天后清除 } location ~.*\.(css|js)?${ expires:1h;# }###四、Nginx的gzip壓縮配置######這裡我們提到的壓縮功能指的是gzip壓縮技術。透過gzip壓縮技術,可以讓原來的網頁的內容大小壓縮成原來的30%,這樣,用戶在訪問網頁的時候,由於傳輸的內容比原內容小很多,故而訪問速度會快很多。 Nginx伺服器支援gzip壓縮技術,但是,需要進行設定。 ######設定方式:/usr/local/nginx/conf/nginx.conf 設定檔的http{ }中加入以下程式碼:###
gzip on;#开启压缩 gzip_min_lenth 1k;#设置使用压缩的最小单位 gzip_buffers 4 16k;#创建压缩文件缓存大小 gzip_http_version 1.1;#使用压缩技术的协议 及其版本 gzip_vary:on;#开启判断客户端浏览器是否支持压缩技术###五、Nginx自動列目錄設定#### ## 當客戶端透過瀏覽器存取伺服器上的某一資料夾的時候,如果該資料夾上有預設的首頁文件,例如index.html,那麼此時使用者就會自動造訪到index.html這個網頁。但是,當沒有index.html這一類預設首頁的文件的時候,假設此時該資料夾還有其他文件,在沒有配置自動列目錄的功能的情況下,用戶訪問不到我們這個資料夾的內容。但當我們配置好了自動列目錄功能之後,我們就可以看到該資料夾下所有檔案的一個列表,該列表目錄是自動列的。 ######實作自動列目錄需要兩個條件:######1.存取的資料夾下不存在index之類的預設首頁檔案。 ###
2.服务器配置了自动列目录功能。
配置方式:/usr/local/nginx/conf/nginx.conf 配置文件的http{ server{}}中添加 如下代码:
location / { root html; index index.html index.htm; autoindex on;#开启自动列目录 }
以上是Nginx虛擬主機怎麼配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

NGINX受歡迎的原因是其在速度、效率和控制方面的優勢。 1)速度:採用異步、非阻塞處理,支持高並發連接,靜態文件服務能力強。 2)效率:內存使用低,負載均衡功能強大。 3)控制:通過靈活的配置文件管理行為,模塊化設計便於擴展。

NGINX和Apache在社區、支持和資源方面的差異如下:1.NGINX的社區雖然規模較小,但活躍度和專業性高,官方支持通過NGINXPlus提供高級功能和專業服務。 2.Apache擁有龐大且活躍的社區,官方支持主要通過豐富的文檔和社區資源提供。

NGINXUnit是一個開源的應用服務器,支持多種編程語言和框架,如Python、PHP、Java、Go等。 1.它支持動態配置,可以在不重啟服務器的情況下調整應用配置。 2.NGINXUnit支持多語言應用,簡化了多語言環境的管理。 3.通過配置文件,可以輕鬆部署和管理應用,如運行Python和PHP應用。 4.它還支持高級配置,如路由和負載均衡,幫助管理和擴展應用。

NGINX可通过以下方式提升网站性能和可靠性:1.作为Web服务器处理静态内容;2.作为反向代理服务器转发请求;3.作为负载均衡器分配请求;4.作为缓存服务器减轻后端压力。通过配置优化如启用Gzip压缩和调整连接池,NGINX能显著提高网站性能。

nginxserveswebcontentandactsasareverseproxy,loadBalancer和more.1)效率高效的servesstaticContentLikeHtmlandImages.2)itfunctionsasareverseproxybalancer,and andginxenhanceperforfforfforfforfforfforffrenfcaching.4)

NGINXUnit通過動態配置和多語言支持簡化應用部署。 1)動態配置無需重啟服務器即可修改。 2)支持多種編程語言,如Python、PHP、Java。 3)採用異步非阻塞I/O模型,提升高並發處理性能。

NGINX起初解決C10K問題,現已發展為處理負載均衡、反向代理和API網關的全能選手。 1)它以事件驅動和非阻塞架構聞名,適合高並發。 2)NGINX可作為HTTP和反向代理服務器,支持IMAP/POP3。3)其工作原理基於事件驅動和異步I/O模型,提升了性能。 4)基本用法包括配置虛擬主機和負載均衡,高級用法涉及復雜負載均衡和緩存策略。 5)常見錯誤包括配置語法錯誤和權限問題,調試技巧包括使用nginx-t命令和stub_status模塊。 6)性能優化建議包括調整worker參數、使用gzip壓縮和

Nginx常見錯誤的診斷與解決方法包括:1.查看日誌文件,2.調整配置文件,3.優化性能。通過分析日誌、調整超時設置和優化緩存及負載均衡,可以有效解決404、502、504等錯誤,提高網站穩定性和性能。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。