首頁 > 軟體

Nginx+Windows搭建域名存取環境的操作方法

2022-03-17 13:01:40

一、修改 Windows hosts 檔案

位置:C:WindowsSystem32driversetc

在後面追加以下內容:

# guli mall #
192.168.163.131		gulimall.com

二、Nginx 組態檔

三、分析Nginx組態檔

cat /mydata/nginx/conf/nginx.conf  
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    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;
    keepalive_timeout  65;
    #gzip  on;
    include /etc/nginx/conf.d/*.conf;

可以看到,在 http 塊中最後有 include /etc/nginx/conf.d/*.conf; 這句設定說明在 conf.d 目錄下所有 .conf 字尾的檔案內容都會作為 nginx 組態檔 http 塊中的設定。這是為了防止主組態檔太複雜,也可以對不同的設定進行分類。

下面我們參考 conf.d 目錄下的設定,來設定 gulimall 的 server 塊設定

四、gulimall.conf

預設設定下,我們存取 gulimall.com 會請求 nginx 預設的 index 頁面,現在我們要做的是當存取 gulimall.com 的時候轉發到我們的商品模組的商城首頁介面。

4.1 檢視Windows ip

開啟cmd 輸入 ipconfig

這裡的 192.168.17.1 和 192.168.163.1 也是 Windows 的本機地址

所以我們設定當存取 nginx /請求時代理到 192.168.163.1:10000 商品服務首頁

4.2 設定代理

server {
    listen       80;
    server_name  gulimall.com;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;
    location / {
      proxy_pass http://192.168.163.1:10000;
    }
    #error_page  404              /404.html;
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
}

五、圖示

六、反向代理:nginx 代理閘道器由閘道器進行轉發

6.1 修改 nginx.conf

vim /mydata/nginx/conf/nginx.conf

修改 http 塊,設定上游伺服器為閘道器地址

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    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;
    keepalive_timeout  65;
    #gzip  on;
    upstream gulimall {
        server 192.168.163.1:88;
    }
    include /etc/nginx/conf.d/*.conf;

6.2 修改 gulimall.conf

設定代理地址為上面設定的上游伺服器名

server {
    listen       80;
    server_name  gulimall.com;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;
    location / {
      proxy_set_header Host $host;
      proxy_pass http://gulimall;
    }
    #error_page  404              /404.html;
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
}

 

七、存取跳轉分析

當前通過域名的方式,請求 gulimal.com ;

根據 hosts 檔案的設定,請求 gulimall.com 域名時會請求虛擬機器器 ip

192.168.163.131		gulimall.com

當請求到 192.168.163.131:80 時,會被 nginx 轉發到我們設定的 192.168.163.1:10000 路徑,該路徑為執行商品服務的 windows 主機 ip 地址,至此達到通過域名存取商品服務的目的。

server {
    listen       80;
    server_name  gulimall.com;
    location / {
      proxy_pass http://192.168.163.1:10000;
    }
}

7.1 後面的跳轉分析

之後為了統一管理我們的各種服務,我們將通過設定閘道器作為 nginx 轉發的目標。最後通過設定閘道器根據不同的域名來判斷跳轉對應的服務。

到此這篇關於Nginx搭建域名存取環境的文章就介紹到這了,更多相關Nginx搭建域名存取環境內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com