在nginx中設置三級域名

問題描述

通過配置nginx可以設置一個IP地址下面通過不同的端口訪問不同的Web應用,但是時間長了之後端口號和應用之間的關係就很模糊了。
http://120.79.79.XX:9001 和foreign.XXX.xin 雖然這兩個網址都是指向同一個網站,但是後者顯然望文生義,比前者好很多。同時在網站SEO中,後者也比前者的權重更高。

基本知識

頂級域名:.com .cn

二級域名:baidu.com sina.com ,這其中baidu 和sina就是二級域名

三級域名:zhidao.baidu.com 其中zhidao就是三級域名

基本步驟
設置地址解析
配置nginx 監聽
配置nginx 跳轉

創建地址解析

筆者使用的阿里雲,登錄到阿里雲後臺後,新增A記錄,將三級域名名稱填入到主機記錄中,具體填寫方法可以參考下圖

clipboard.png

clipboard.png

配置nginx
修改 /etc/nginx/sites-aviablable中的default 文件,完整代碼如下:
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html/wordpress;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name www.xXXX.xin;

    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}
#服務2
server {
    listen 80;
    server_name foreign.XXX.xin;
    location / {
        proxy_pass http://120.79.XX.XX:9000/;
    }
}

兩個服務都是監聽的同一個端口80,但是服務2 的server_name 和新設置的地址解析保持一致。然後設定proxy_pass 將80端口獲取到的信息轉發到9000端口。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章