在nginx中設置三級域名

問題描述

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

基本知識

頂級域名:.com .cnhtml

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

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

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

建立地址解析php7

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

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端口。網站

相關文章
相關標籤/搜索