首頁  >  文章  >  運維  >  nginx怎麼實現在一個伺服器可以存取多個網站

nginx怎麼實現在一個伺服器可以存取多個網站

王林
王林轉載
2023-06-02 14:16:062816瀏覽

在一台伺服器上,存取不同的網站

通常有兩種區分方式:

1.透過監聽的連接埠號碼

#2.透過網域名稱

1.透過連接埠存取不同的主機:

nginx的設定檔:

/usr/local/nginx/ conf/nginx.conf

centos檔案預設編碼格式latin1

查看編碼格式的指令: :set fileencoding

#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid    logs/nginx.pid;

events {
  worker_connections 1024;
}

##一个http节点
http {  
  include    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 logs/access.log main;
  sendfile    on;
  #tcp_nopush   on;
  #keepalive_timeout 0;
  keepalive_timeout 65;
  #gzip on;
 #server 节点,即 你需要访问网站的配置
 #一个server节点,就是一个虚拟主机
  server {
    listen    80;  #监听的端口号,访问网站 默认是80端口
    server_name localhost;  #即访问的域名
    #charset koi8-r;
    #access_log logs/host.access.log main;
    location / {  #定位
      root  html;  #定位的是nginx根目录下的 html文件夹
      index index.html index.htm;  #设置网站首页
    }
  }
}

此時可以設定多個server,也就是設定了不同的主機

新增虛擬主機:(透過連接埠號碼區別)

server {
    listen    81;
    server_name localhost;
    #charset koi8-r;
    #access_log logs/host.access.log main;
    location / {
      root  html-81;
  #nginx根目录下 新建的html81 文件夹
      index index.html index.htm;
    ``
  }

編輯好檔案之後,我們重新載入設定檔

透過命令: ./nginx - s reload

效果:

nginx怎麼實現在一個伺服器可以存取多個網站

我們知道,當一個伺服器上配置多個網站時,我們不可能透過連接埠號碼來區分它們,所以接下來我需要透過網域名稱來區分

2.透過網域區分不同的虛擬主機

什麼是網域名稱? ?

網域就是網址

例如:www.baidu.com

#通常我們在造訪網域的時候,我們需要透過dns伺服器解析網域名稱

##dns伺服器:把網域解析為ip位址。保存的就是網域名稱和ip的映射關係。

一個網域對應一個ip位址,一個ip位址可以被多個網域綁定。

本機測試可以修改hosts檔案。

修改window的hosts檔案:(c:\windows\system32\drivers\etc)

可以設定網域和ip的對應關係,如果hosts檔案中設定了網域和ip的對應關係,不需要走dns伺服器! ! ! !

在剛剛的nginx.conf檔案下繼續設定:

server {
    listen    80;
    server_name www.taobao.com;
    #charset koi8-r;
    #access_log logs/host.access.log main;
    location / {
      root  html-taobao;
      index index.html index.htm;
    }
  }
  server {
    listen    80;
    server_name www.baidu.com;
    #charset koi8-r;
    #access_log logs/host.access.log main;
    location / {
      root  html-baidu;
      index index.html index.htm;
    }
  }
}

網域的設定:

192.168.25.148 www .test.com

192.168.25.148 www.yiyou.com

重啟nginx服務

##觀察效果:

nginx怎麼實現在一個伺服器可以存取多個網站

######################## ##

以上是nginx怎麼實現在一個伺服器可以存取多個網站的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除