首頁 頭條 如何在Nginx上設定多個站點

如何在Nginx上設定多個站點

Jun 27, 2018 pm 03:26 PM

有時候你會想在一台伺服器上為不同的網域運作不同的網站。例如www.siteA.com作為博客,www.siteB.com作為論壇。你可以把兩個網域的IP都解析到你的伺服器上,但沒辦法在Nginx的根目錄裡同時運行兩個不同的網站。這時候,你就需要使用虛擬目錄了。假設你把部落格放在」/home/user/www/blog」下,論壇放在」/home/user/www/forum」下。下面我們就開始設定了:

在Nginx設定目錄下,建立一個”vhost”目錄。本範例假設Nginx是預設安裝,設定目錄在”/etc/nginx”

$ sudo mkdir /etc/nginx/vhost

##建立siteA的設定檔

$ sudo vi /etc/nginx/vhost/vhost_siteA.conf


輸入以下設定資訊

server {
    listen       80;                        # 监听端口
    server_name www.siteA.com siteA.com;    # 站点域名
    root  /home/user/www/blog;              # 站点根目录
    index index.html index.htm index.php;   # 默认导航页 
    location / {        # WordPress固定链接URL重写
        if (!-e $request_filename) {
            rewrite (.*) /index.php;
        }
    } 
    # PHP配置
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }
}
登入後複製

同siteA一樣建立siteB的設定文件,兩者僅有的不同是”server_name”和”root”目錄

$ sudo vi /etc/nginx/vhost/vhost_siteB.conf


server {
    ...
    server_name www.siteB.com siteB.com;    # 站点域名
    root  /home/user/www/forum;             # 站点根目录    ...
}
登入後複製

開啟nginx.conf檔案

#sudo vi /etc/nginx/nginx.conf


將虛擬目錄的設定檔加入」http {}」部分的結尾

http {

   ...
   include /etc/nginx/vhost/*.conf;
}

重啟Nginx服務

$ sudo service nginx restart


#現在

$ sudo service nginx restart

#現在造訪www.siteA.com和www.siteB.com,你會發現瀏覽器會開啟不同的網站

禁止造訪小技巧

假如你的Nginx根目錄設在」/home /user/www”,你想阻止別人透過”http://IP位址/blog”或”http://IP位址/forum”來存取你的站點,最簡單的方法就是禁止IP位址存取。方法如下:

開啟Nginx網站預設設定文件,記得先備份

$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default_bak

$ sudo vi /etc/nginx/sites-available/default

將所有內容刪除,只留以下配置

server {
    listen 80 default_server;
    server_name _;    return 404;
}
登入後複製

重啟Nginx後,別人將無法透過IP位址訪問網站了

如果你不想禁止IP位址存取整個目錄,只是要防止別人透過IP訪問你的部落格和論壇。那麼就需要禁止”/blog”和”/forum”的目錄存取。

打開Nginx網站預設設定文件,同上面一樣,記得先備份

###在」server { }」部分加上以下配置###
location ^~ /blog/ {
    deny all;
    }
location ^~ /forum/ { 
   deny all;
   }
登入後複製
###重啟Nginx即可## #

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1253
24
Nginx錯誤頁面配置,美化網站故障提示 Nginx錯誤頁面配置,美化網站故障提示 Jul 04, 2023 pm 01:33 PM

Nginx錯誤頁面配置,美化網站故障提示在網站運作過程中,難免會遇到伺服器錯誤或其他故障,這些問題會導致使用者無法正常存取網站。為了提升使用者體驗和網站形象,我們可以對Nginx進行錯誤頁面配置,美化網站故障提示。本文將介紹如何透過Nginx的錯誤頁面配置功能,自訂錯誤頁面,並提供程式碼範例作為參考。一、修改Nginx設定檔首先,我們要開啟Nginx的設定

如何實現Nginx的跨域資源共享(CORS)配置 如何實現Nginx的跨域資源共享(CORS)配置 Nov 08, 2023 pm 12:22 PM

如何實現Nginx的跨域資源共享(CORS)配置,需要具體程式碼範例隨著前後端分離開發的流行,跨域資源共享(CORS)問題成為了一個常見的挑戰。在網路開發中,由於瀏覽器的同源策略限制,客戶端JavaScript程式碼只能要求與其所在頁面具有相同網域名稱、協定和連接埠的資源。然而,在實際開發中,我們常常需要從不同網域、或是不同子網域下請求資源。這時候,就需要使用CO

Nginx存取控製配置,限制指定使用者存取 Nginx存取控製配置,限制指定使用者存取 Jul 04, 2023 am 10:37 AM

Nginx存取控製配置,限制指定使用者存取在網路伺服器中,存取控制是重要的安全措施,用於限制特定使用者或IP位址的存取權限。 Nginx作為一款高效能的Web伺服器,也提供了強大的存取控制功能。本文將介紹如何使用Nginx設定限制指定使用者的存取權限,同時提供程式碼範例供參考。首先,我們要準備一個基本的Nginx設定檔。假設我們已經有一個網站,設定檔路徑為

php如何使用類似Nginx設定檔的PHP陣列進行設定管理? php如何使用類似Nginx設定檔的PHP陣列進行設定管理? Jun 01, 2023 pm 10:10 PM

PHP是一種非常受歡迎的程式語言,特別適合用於Web開發。身為PHP開發者,在處理一些設定檔時,經常需要使用陣列進行管理。在本文中,我們將探討如何使用類似Nginx設定檔的PHP陣列進行設定管理。 Nginx的設定檔是一種非常常見的設定方式,可以使用文字進行編輯,並且具有非常好的可讀性。 Nginx的設定檔採用了一種類似PHP陣列的方式來表示設定信

高級NGINX配置:掌握服務器塊和反向代理 高級NGINX配置:掌握服務器塊和反向代理 Apr 06, 2025 am 12:05 AM

Nginx的高級配置可以通過服務器塊和反向代理實現:1.服務器塊允許在一個實例中運行多個網站,每個塊獨立配置。 2.反向代理將請求轉發到後端服務器,實現負載均衡和緩存加速。

nginx設定是什麼 nginx設定是什麼 Aug 04, 2023 am 11:19 AM

nginx設定為主設定檔、虛擬主機設定、HTTP請求處理、反向代理、負載平衡、靜態檔案處理、HTTP壓縮、SSL/TLS支援、虛擬主機設定和日誌檔案。

如何使用NGINX和PM2配置VPS伺服器 如何使用NGINX和PM2配置VPS伺服器 Sep 27, 2023 pm 12:54 PM

如何使用NGINX和PM2設定VPS伺服器在建置Web伺服器的過程中,使用NGINX和PM2是一種常見的設定方式。 NGINX是一款高效能的Web伺服器,常用於反向代理和負載平衡。而PM2是一個進程管理工具,可在伺服器上運行和管理Node.js應用程式。本文將介紹如何使用NGINX和PM2配置VPS伺服器,並提供具體的程式碼範例。第一步:安裝NGINX和PM2首

Nginx如何實現基於請求來源網域的存取控製配置 Nginx如何實現基於請求來源網域的存取控製配置 Nov 08, 2023 am 09:06 AM

Nginx如何實現基於請求來源網域的存取控製配置,需要具體程式碼範例Nginx是一款高效能的Web伺服器軟體,它不僅可以作為靜態檔案伺服器,還可以透過配置實現靈活的存取控制。本文將介紹如何透過Nginx實現基於請求來源網域的存取控製配置,並提供具體的程式碼範例。 Nginx設定檔通常位於/etc/nginx/nginx.conf,我們可以在該檔案中新增相關的配置