如何解決nginx配置多個站點的共用80埠的問題
這篇文章主要介紹了nginx配置多個網站共用80埠的解決方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
#只用改一個地方,在http模組裡面加入你要引用的虛擬主機設定檔目錄即可:
例如:include /usr/local/nginx/default.d/*.conf;
http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; include /usr/local/nginx/default.d/*.conf; //就这里加一行就可以了 }
2、建立虛擬主機設定目錄:
在/usr/local/nginx/
下面建立default.d
資料夾,專門放置網站的設定檔。
貼一個我的設定上來:
/usr/local/nginx/default.d/mytest.conf
server { listen 80 ; //注意这里,要把默认的那个default_server去掉,因为我们在下面要单独配置域名访问,所以这里不要留default_server,不然会报错。 server_name mytest.com; //这里写你想设置的域名,可以写多个,与名之间用空格隔开 root /mnt/share/mytest.com; //这里是你虚拟机的根目录,写绝对路径 # Load configuration files for the default server block. location / { index index.php index.html index.htm; //这里配置默认访问的页面 } location ~* \.php$ { //这里配置php解析.php文件 fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } error_page 404 /404.html; //默认的错误页面 location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
再來一個:
server { listen 80; server_name www.mytest1.com; root /var/www/html; index index.html index.htm index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { log_not_found off; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
3.還想再建其他虛擬機,一樣的,複製上面那個文件,修改我標註的的那幾個地方即可!
4、虛擬機器設定檔配置好了之後,還需要在linux下面的hosts檔案下面加上以上域名,不然還是會存取外網的哦。
vim /etc/hosts 127.0.0.1 mytest1.com 127.0.0.1 mytest.com
5、如果我們是要在windows下面訪問虛擬機器裡面的linux下面的網站,那麼還要在windows下面配置hosts文件,所有的網域都指向linux伺服器,例如:
192.168.0.27 mytest1.com 192.168.0.27 mytest.com
6、遇到的問題:
nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/vhosts/
遇到這個問題,肯定是:
server { listen 80
這個地方80後面的東西都去掉,只留下連接埠號碼80,去掉就可以解決這個問題了。
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!
相關建議:
Nginx設定PATHINFO隱藏thinkphp index.php
以上是如何解決nginx配置多個站點的共用80埠的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

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

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

nginx 運行一段時間後掛掉的原因:1. 內存洩漏;2. 配置錯誤;3. 資源不足;4. 外部因素。解決方法:1. 診斷內存洩漏;2. 修復配置錯誤;3. 提供更多資源;4. 排除外部因素。

Nginx 負載均衡通過 upstream 模塊定義後端服務器,並使用 location 塊將請求代理到這些服務器。支持輪詢、最少連接數、響應時間加權和 ip_hash 等負載均衡策略。配置示例包括定義 upstream 組和使用 proxy_pass 指令指向它。

nginx 重新啟動命令:sudo systemctl restart nginx。其他相關命令包括:1.啟動:sudo systemctl start nginx;2.停止:sudo systemctl stop nginx;3.檢查狀態:sudo systemctl status nginx。

Nginx Autoindex 是一種生成目錄列表 HTML 頁面的功能,用於在請求目錄而非文件時瀏覽文件、查看文件信息。它可通過配置選項定制,如顯示確切文件大小、本地時間和自定義頁面格式。優點包括方便瀏覽、易於配置和提供文件信息。缺點包括安全風險、性能影響和無法自定義頁面外觀。

nginx 403 錯誤表示客戶端無權訪問資源。造成此問題的因素可能包括:權限設置、nginx 配置、CGI 腳本錯誤、.htaccess 文件或其他原因。排查步驟包括:檢查權限設置、審查 nginx 配置、測試 CGI 腳本、檢查 .htaccess 文件、排除防火牆或安全軟件,以及檢查服務器和文件系統。

配置 nginx 虛擬主機允許在一個服務器上託管多個網站,每個網站擁有獨立域名和根目錄。具體配置步驟包括:創建虛擬主機配置文件配置服務器塊,指定服務器監聽端口、虛擬主機域名和文檔根目錄啟用虛擬主機,將配置文件鏈接到啟用目錄重新加載 nginx

通過 Nginx 進行重定向的方法有 301 永久重定向(更新鏈接或移動頁面)和 302 臨時重定向(處理錯誤或臨時更改)。配置重定向涉及在 server 塊中使用 location 指令,高級功能包括正則表達式匹配、代理重定向和基於條件的重定向。重定向的常見用途包括更新 URL、處理錯誤、將 HTTP 重定向到 HTTPS,以及引導用戶訪問特定國家或語言版本。

nginx 是一個輕量級、非阻塞的 Web 服務器和反向代理,常用於前端代理、負載平衡和緩存。它與 Web 服務器的關係通常是:前端代理:nginx 處理請求並轉發到後端服務器。負載平衡器:nginx 將請求分發到多台後端服務器。緩存:nginx 緩存經常訪問的文件以提高性能。
