nginx怎么实现在一个服务器可以访问多个网站

在一台服务器上,访问不同的网站

通常有两种区分方式:

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:windowssystem32driversetc)

可以配置域名和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怎么实现在一个服务器可以访问多个网站

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享