通過Nginx為網站配置二級域名


需求:服務器上面運行多個項目;實現每個二級域名訪問對應項目;

服務器:阿里雲服務器;域名:阿里雲注冊;

配置域名解析

即配置DNS解析。一定要首先配置,否則訪問不到二級域名;

登錄阿里雲后台,要在域名解析上面添加主機記錄值(即你要設置的二級域名名稱)

配置Nginx

進入你的Nginx的 /conf 配置文件夾中,編輯 nginx.conf 文件

文件結構如下:

http {
	(全局的配置參數...)
	server {
		(本server的配置參數...)
	}
	server {
		(本server的配置參數...)
	}
	(全局的配置參數...)#可添加include vhost/*.conf;
}

關於server位置:

  • 可以將所有的server配置都寫在nginx.conf配置文件中;

  • 也可另外定義一個文件夾存放配置文件,將配置文件包含進主配置文件中即可;

    我的做法:新建一個vhost文件夾來放配置文件;在主配置文件寫上include vhost/*.conf;表示主配置文件引用它;

配置server

  1. 通過代理轉發配置:
    即通過nginx轉發到你想訪問的項目;
server {
	listen 80;
	server_name demo.test.com;#你的二級域名;
	location / {
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header Host $http_host;
	proxy_pass http://127.0.0.1:8000; #你啟動的服務的ip:端口號;
	}
}

這樣配置之后可以通過Nginx轉發到對應ip端口上運行的項目;

  1. 通過根目錄配置:

你也可以通過指定項目的根目錄來配置二級域名:

server {
        listen	80;
        server_name  demo.test.com;	# 要綁定的域名(或子域名)
        root	/home/www/;		# 該網站的根目錄
        location / {			# 不用管
        }
}

重啟Nginx

查看是否成功配置;

補充

default_server

http {
    # 如果沒有顯式聲明 default server 則第一個 server 會被隱式的設為 default server
    server {
        listen 80;
        server_name _; # _ 並不是重點 __ 也可以 ___也可以
        return 403; # 403 forbidden;
    }
    server {
        listen 80;#添加默認server:在后面加上default_server
        server_name www.a.com;
        ...
    }
}

Nginx 的 default_server 指令可以定義默認的 server 去處理一些沒有成功匹配 server_name 的請求;

參考:https://www.cnblogs.com/kuku0223/p/10740735.html

location

可以指定多個項目;

   location /Demo01 {
         ......#項目1;根目錄,代理轉發
    }
    location /demo02 {
         ......
    }

參考:

https://blog.csdn.net/xuxile/article/details/51705372
https://blog.csdn.net/lizhiyuan_eagle/article/details/90639448


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM