最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Ubuntu中Nginx虛擬主機(jī)設(shè)置的項(xiàng)目實(shí)踐

 更新時(shí)間:2025年03月16日 10:53:02   作者:The_SkyUzi  
通過(guò)配置虛擬主機(jī),可以在同一臺(tái)服務(wù)器上運(yùn)行多個(gè)獨(dú)立的網(wǎng)站,本文主要介紹了Ubuntu中Nginx虛擬主機(jī)設(shè)置的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下

簡(jiǎn)介

Nginx 是一個(gè)高性能的 HTTP 和反向代理服務(wù)器,廣泛用于托管多個(gè)網(wǎng)站或應(yīng)用。通過(guò)配置虛擬主機(jī)(Virtual Hosts),可以在同一臺(tái)服務(wù)器上運(yùn)行多個(gè)獨(dú)立的網(wǎng)站。本文將指導(dǎo)你如何在 Nginx 中設(shè)置虛擬主機(jī)。

安裝 Nginx

確保你的服務(wù)器已經(jīng)安裝了 Nginx。如果沒(méi)有,可以使用以下命令進(jìn)行安裝:

sudo apt update
sudo apt install nginx

安裝完成后,可以通過(guò)以下命令啟動(dòng)并啟用 Nginx:

sudo systemctl start nginx
sudo systemctl enable nginx

創(chuàng)建虛擬主機(jī)

1. 創(chuàng)建網(wǎng)站目錄

為每個(gè)虛擬主機(jī)創(chuàng)建一個(gè)單獨(dú)的目錄來(lái)存放網(wǎng)站文件。例如,為 example.com 創(chuàng)建目錄:

sudo mkdir -p /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com

2. 創(chuàng)建默認(rèn)索引文件

在網(wǎng)站目錄中創(chuàng)建一個(gè)簡(jiǎn)單的 index.html 文件:

echo "<html><body><h1>Welcome to example.com!</h1></body></html>" | sudo tee /var/www/example.com/html/index.html

3. 配置 Nginx

編輯或創(chuàng)建一個(gè)新的虛擬主機(jī)配置文件。通常,這些文件位于 /etc/nginx/sites-available/ 目錄下。例如,創(chuàng)建 example.com 的配置文件:

sudo nano /etc/nginx/sites-available/example.com

添加以下內(nèi)容到配置文件中:

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    # 可選:?jiǎn)⒂媚夸浟斜?
    # location / {
    #     autoindex on;
    #     try_files $uri $uri/ =404;
    # }
}

保存并關(guān)閉文件。

4. 啟用虛擬主機(jī)

創(chuàng)建一個(gè)符號(hào)鏈接,將配置文件鏈接到 /etc/nginx/sites-enabled/ 目錄,以啟用該虛擬主機(jī):

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

禁用默認(rèn)的 Nginx 配置(如果不需要):

sudo rm /etc/nginx/sites-enabled/default

配置文件結(jié)構(gòu)

Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf,而虛擬主機(jī)的配置文件通常位于 /etc/nginx/sites-available/。你可以通過(guò)創(chuàng)建符號(hào)鏈接到 /etc/nginx/sites-enabled/ 來(lái)啟用這些配置文件。

示例配置文件

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    # 訪問(wèn)日志和錯(cuò)誤日志
    access_log /var/log/nginx/example.com.access.log combined;
    error_log /var/log/nginx/example.com.error.log warn;
}

設(shè)置訪問(wèn)日志和錯(cuò)誤日志

為了更好地監(jiān)控和調(diào)試,建議為每個(gè)虛擬主機(jī)設(shè)置獨(dú)立的訪問(wèn)日志和錯(cuò)誤日志。你可以在 server 塊中添加以下指令:

access_log /var/log/nginx/example.com.access.log combined;
error_log /var/log/nginx/example.com.error.log warn;

這將為 example.com 創(chuàng)建獨(dú)立的日志文件,分別記錄訪問(wèn)請(qǐng)求和錯(cuò)誤信息。

處理 403 Forbidden 錯(cuò)誤

如果你遇到 403 Forbidden 錯(cuò)誤,可能是由于以下原因:

沒(méi)有設(shè)置 index 文件

確保網(wǎng)站目錄中存在一個(gè)默認(rèn)的索引文件(如 index.html 或 index.htm)。

在 server 塊中添加 index 指令,指定要使用的索引文件。

禁用了目錄列表

如果你希望用戶能夠訪問(wèn)目錄內(nèi)容,但不想提供默認(rèn)的索引文件,可以在 location 塊中添加 autoindex on;。

文件和目錄權(quán)限問(wèn)題

確保 Nginx 運(yùn)行的用戶(通常是 www-data)有權(quán)限讀取網(wǎng)站目錄及其文件。

使用以下命令設(shè)置正確的權(quán)限:

sudo chown -R www-data:www-data /var/www/example.com
sudo chmod -R 755 /var/www/example.com

SELinux 或 AppArmor 設(shè)置

如果系統(tǒng)啟用了 SELinux 或 AppArmor,這些安全模塊可能會(huì)限制 Nginx 訪問(wèn)文件。你可以通過(guò)以下命令查看狀態(tài):

sudo aa-status
sudo sestatus

測(cè)試和重啟 Nginx

在對(duì)配置文件進(jìn)行任何更改后,記得測(cè)試 Nginx 配置是否正確,并重新加載或重啟 Nginx 服務(wù):

sudo nginx -t
sudo systemctl reload nginx
# 或者
sudo service nginx reload

Nginx 目錄重要文件和目錄

主要目錄和文件

  • /etc/nginx/nginx.conf: Nginx 的主配置文件。
  • /etc/nginx/sites-available/: 存放虛擬主機(jī)配置文件的目錄。
  • /etc/nginx/sites-enabled/: 存放已啟用的虛擬主機(jī)配置文件的目錄。
  • /var/log/nginx/: 存放 Nginx 日志文件的目錄。
  • /var/www/: 存放網(wǎng)站文件的目錄。

圖片中的文件和目錄

根據(jù)提供的圖片,以下是重要的文件和目錄:

  • conf.d: 存放額外配置文件的目錄。
  • modules-available: 存放可用模塊的目錄。
  • modules-enabled: 存放已啟用模塊的目錄。
  • sites-available: 存放虛擬主機(jī)配置文件的目錄。
  • sites-enabled: 存放已啟用虛擬主機(jī)配置文件的目錄。

server_name 指令詳解

server_name 指令用于指定 Nginx 應(yīng)響應(yīng)哪些域名的請(qǐng)求。它是一個(gè)非常重要的指令,特別是在配置虛擬主機(jī)時(shí)。以下是 server_name 的詳細(xì)說(shuō)明和常見用法:

語(yǔ)法

server_name domain.tld [domain2.tld ...];

常見用法

單個(gè)域名
如果你只有一個(gè)域名,可以直接在 server_name 后面寫上該域名:

server {
    listen 80;
    server_name example.com;

    # 其他配置...
}

多個(gè)域名
如果你有多個(gè)域名指向同一個(gè)網(wǎng)站,可以在 server_name 后面列出所有域名,用空格分隔:

server {
    listen 80;
    server_name example.com www.example.com;

    # 其他配置...
}

帶通配符的域名
如果你有一組子域名,可以使用通配符來(lái)匹配這些子域名。例如,*.example.com 可以匹配所有 example.com 的子域名:

server {
    listen 80;
    server_name *.example.com;

    # 其他配置...
}

IP 地址
你也可以使用 IP 地址作為 server_name,這在測(cè)試環(huán)境中特別有用:

server {
    listen 80;
    server_name 192.168.1.100;

    # 其他配置...
}

默認(rèn)服務(wù)器
如果你不指定 server_name 或者希望 Nginx 響應(yīng)所有未匹配到其他 server_name 的請(qǐng)求,可以使用下劃線 _ 作為 server_name,或者省略 server_name 并使用 default_server 參數(shù):

server {
    listen 80 default_server;
    # 或者
    server_name _;

    # 其他配置...
}

特殊情況

精確匹配
你可以使用 = 來(lái)進(jìn)行精確匹配,只有當(dāng)請(qǐng)求的域名完全匹配時(shí)才會(huì)生效:

server {
    listen 80;
    server_name = example.com;

    # 其他配置...
}

正則表達(dá)式
你可以使用正則表達(dá)式來(lái)匹配復(fù)雜的域名模式。正則表達(dá)式需要以 ~ 開頭:

server {
    listen 80;
    server_name ~^(www\.)?(?<domain>.+)$;

    # 其他配置...
}

在這個(gè)例子中,www.example.com 和 example.com 都會(huì)匹配,并且你可以通過(guò) $domain 變量獲取去掉 www. 后的域名。

注意事項(xiàng)

  • DNS 解析:確保你的域名已經(jīng)正確解析到服務(wù)器的 IP 地址。你可以通過(guò) ping 或 nslookup 命令檢查域名解析是否正確。
  • SSL/TLS 配置:如果你使用 HTTPS,還需要配置 SSL 證書和密鑰,并將 listen 指令改為 listen 443 ssl;。
  • 防火墻設(shè)置:確保服務(wù)器的防火墻允許 HTTP (80) 和 HTTPS (443) 端口的流量。

示例:完整的虛擬主機(jī)配置

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    # 訪問(wèn)日志和錯(cuò)誤日志
    access_log /var/log/nginx/example.com.access.log combined;
    error_log /var/log/nginx/example.com.error.log warn;
}

參考資源

總結(jié)

通過(guò)以上步驟,你應(yīng)該能夠在 Nginx 中成功設(shè)置虛擬主機(jī)。server_name 指令是配置虛擬主機(jī)的關(guān)鍵部分,確保你正確設(shè)置了域名、通配符或其他匹配規(guī)則。如果有任何問(wèn)題,請(qǐng)檢查 Nginx 的錯(cuò)誤日志,尋找更多線索。希望這篇筆記能幫助你順利配置 Nginx 虛擬主機(jī)!

到此這篇關(guān)于Ubuntu中Nginx虛擬主機(jī)設(shè)置的項(xiàng)目實(shí)踐的文章就介紹到這了,更多相關(guān)Nginx虛擬主機(jī)設(shè)置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx中報(bào)錯(cuò):Permission denied與Connection refused的解決

    Nginx中報(bào)錯(cuò):Permission denied與Connection refused的解決

    這篇文章主要給大家介紹了在Nginx中報(bào)錯(cuò):13: Permission denied與111: Connection refused的解決方法,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-04-04
  • nginx之從main函數(shù)開始了解配置文件處理及配置信息的讀入過(guò)程

    nginx之從main函數(shù)開始了解配置文件處理及配置信息的讀入過(guò)程

    這篇文章主要介紹了nginx之從main函數(shù)開始了解配置文件處理及配置信息的讀入過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-07-07
  • 使用?nginx?搭建代理服務(wù)器(正向代理?https?網(wǎng)站)的詳細(xì)步驟

    使用?nginx?搭建代理服務(wù)器(正向代理?https?網(wǎng)站)的詳細(xì)步驟

    這篇文章主要介紹了使用?nginx?搭建代理服務(wù)器(正向代理?https?網(wǎng)站)指南的相關(guān)操作,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • nginx上部署react項(xiàng)目的實(shí)例方法

    nginx上部署react項(xiàng)目的實(shí)例方法

    今天小編就為大家分享一篇關(guān)于nginx上部署react項(xiàng)目的實(shí)例方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • 配置nginx 重定向到系統(tǒng)維護(hù)頁(yè)面

    配置nginx 重定向到系統(tǒng)維護(hù)頁(yè)面

    今天抽時(shí)間給大家普及nginx 重定向到系統(tǒng)維護(hù)頁(yè)面的配置內(nèi)容,nginx重定向問(wèn)題說(shuō)起來(lái)也很簡(jiǎn)單,因?yàn)橹囟ㄏ蚝笾苯犹D(zhuǎn)到靜態(tài)頁(yè)面,不需要后續(xù)操作和記錄,所以直接301永久重定向。今天簡(jiǎn)單給大家介紹配置方法,一起看看吧
    2021-06-06
  • Nginx?413修改上傳文件大小限制的方法詳解

    Nginx?413修改上傳文件大小限制的方法詳解

    在使用?Nginx?作為?Web?服務(wù)器時(shí),有時(shí)會(huì)遇到客戶端嘗試上傳大文件時(shí)返回???413?Request?Entity?Too?Large???的錯(cuò)誤,本文將介紹如何通過(guò)配置?Nginx?來(lái)解決這個(gè)問(wèn)題,有需要的可以參考下
    2025-05-05
  • nginx的location的優(yōu)先級(jí)和匹配方式

    nginx的location的優(yōu)先級(jí)和匹配方式

    location是Nginx中的塊級(jí)指令,本文主要介紹了nginx的location的優(yōu)先級(jí)和匹配方式,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • Nginx在MAC上的安裝、啟動(dòng)、重啟和關(guān)閉

    Nginx在MAC上的安裝、啟動(dòng)、重啟和關(guān)閉

    這篇文章主要介紹了Nginx在MAC上的安裝、啟動(dòng)、重啟和關(guān)閉的相關(guān)資料,需要的朋友可以參考下
    2018-03-03
  • Keepalived搭建nginx高可用的實(shí)現(xiàn)

    Keepalived搭建nginx高可用的實(shí)現(xiàn)

    這篇文章主要介紹了Keepalived搭建nginx高可用的實(shí)現(xiàn),通過(guò)VIP實(shí)現(xiàn)主備切換,檢測(cè)進(jìn)程狀態(tài)確保服務(wù)可用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-05-05
  • nginx?openresty?快速入門指南

    nginx?openresty?快速入門指南

    OpenResty是基于Nginx與Lua?的高性能Web平臺(tái),其**內(nèi)部集成了大量精良的?Lua?庫(kù)、第三方模塊以及大多數(shù)的依賴項(xiàng),**用于方便地搭建能夠處理超高并發(fā)、擴(kuò)展性極高的動(dòng)態(tài)?Web?應(yīng)用、Web?服務(wù)和動(dòng)態(tài)網(wǎng)關(guān),這篇文章主要介紹了nginx?openresty?快速入門指南,需要的朋友可以參考下
    2024-02-02

最新評(píng)論

潮安县| 内黄县| 舟曲县| 会理县| 明光市| 德江县| 乐至县| 郧西县| 龙陵县| 时尚| 漳州市| 湖北省| 当雄县| 航空| 安平县| 神池县| 绿春县| 金塔县| 博乐市| 泽库县| 长武县| 星子县| 鹰潭市| 莫力| 军事| 商水县| 嘉定区| 宁南县| 普兰店市| 三原县| 绍兴县| 交城县| 上思县| 屏南县| 阿合奇县| 夏河县| 富阳市| 安新县| 连城县| 西贡区| 襄樊市|