目錄
一、Nginx虛擬主機的設定
首頁 運維 Nginx Nginx虛擬主機怎麼配置

Nginx虛擬主機怎麼配置

May 15, 2023 pm 10:46 PM
nginx

一、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虛擬主機怎麼配置

##2、是綁定IP位址與虛擬主機。

nginx.conf:該檔案是nginx的系統設定文件,建議不要在這上邊改動。我們一般採用自訂文件,然後加載該文件,從而達到相同的效果。 

建立設定檔在 /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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1249
24
nginx在windows中怎麼配置 nginx在windows中怎麼配置 Apr 14, 2025 pm 12:57 PM

如何在 Windows 中配置 Nginx?安裝 Nginx 並創建虛擬主機配置。修改主配置文件並包含虛擬主機配置。啟動或重新加載 Nginx。測試配置並查看網站。選擇性啟用 SSL 並配置 SSL 證書。選擇性設置防火牆允許 80 和 443 端口流量。

docker怎麼啟動容器 docker怎麼啟動容器 Apr 15, 2025 pm 12:27 PM

Docker 容器啟動步驟:拉取容器鏡像:運行 "docker pull [鏡像名稱]"。創建容器:使用 "docker create [選項] [鏡像名稱] [命令和參數]"。啟動容器:執行 "docker start [容器名稱或 ID]"。檢查容器狀態:通過 "docker ps" 驗證容器是否正在運行。

docker容器名稱怎麼查 docker容器名稱怎麼查 Apr 15, 2025 pm 12:21 PM

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

怎麼查看nginx是否啟動 怎麼查看nginx是否啟動 Apr 14, 2025 pm 01:03 PM

確認 Nginx 是否啟動的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 檢查端口 80 是否開放;3. 查看系統日誌中 Nginx 啟動消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

docker怎麼創建容器 docker怎麼創建容器 Apr 15, 2025 pm 12:18 PM

在 Docker 中創建容器: 1. 拉取鏡像: docker pull [鏡像名] 2. 創建容器: docker run [選項] [鏡像名] [命令] 3. 啟動容器: docker start [容器名]

nginx怎麼配置雲服務器域名 nginx怎麼配置雲服務器域名 Apr 14, 2025 pm 12:18 PM

在雲服務器上配置 Nginx 域名的方法:創建 A 記錄,指向雲服務器的公共 IP 地址。在 Nginx 配置文件中添加虛擬主機塊,指定偵聽端口、域名和網站根目錄。重啟 Nginx 以應用更改。訪問域名測試配置。其他注意事項:安裝 SSL 證書啟用 HTTPS、確保防火牆允許 80 端口流量、等待 DNS 解析生效。

nginx怎麼查版本 nginx怎麼查版本 Apr 14, 2025 am 11:57 AM

可以查詢 Nginx 版本的方法有:使用 nginx -v 命令;查看 nginx.conf 文件中的 version 指令;打開 Nginx 錯誤頁,查看頁面的標題。

nginx服務器掛了怎麼辦 nginx服務器掛了怎麼辦 Apr 14, 2025 am 11:42 AM

當 Nginx 服務器宕機時,可執行以下故障排除步驟:檢查 nginx 進程是否正在運行。查看錯誤日誌以獲取錯誤消息。檢查 nginx 配置語法正確性。確保 nginx 具有訪問文件所需的權限。檢查文件描述符打開限制。確認 nginx 正在偵聽正確的端口。添加防火牆規則以允許nginx流量。檢查反向代理設置,包括後端服務器可用性。如需進一步幫助,請聯繫技術支持。

See all articles