1. 虚拟主机
在本地windows上的host文件配置两个域名和ip的映射。
10.4.xx.5 jllvm.com
10.4.xx.5 lxfvm.com
1.1 居于端口的虚拟主机
描述:监听端口号不一样,server_name下配置的域名均为localhost。
server_name下配置的域名均为localhost时,如果访问过来的域名没有在配置文件中匹配到,那么最后默认匹配到localhost。
nginx配置文件conf中配置了两个server:
#一个server代表一个站点,即可以理解为一个主机服务。
#一个主机上想跑多个节点就可以通过复制多个server来设置
#也可以理解为虚拟主机
server {
listen 80; //监听80端口,如果域名配置了当前主机的ip,那么可以通过ip+端口号定位到这个server
server_name localhost;//如果多个server监听同一个端口号,那么可以在severa_name配对应的域名来定位想要访问的server。即使监听的端口号一样,也不影响路由定位server。
location / {
root /usr/local/nginx/html/jllvm.com; #默认访问哪个目录上的文件,可以自定义配置想要访问的目录
index index.html index.htm; //index下对应的是html页面为默认的访问的页面文件。可以自定义。
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 88; //监听88端口,如果域名配置了当前主机的ip,那么可以通过ip+端口号定位到这个server
server_name localhost;
location / {
root /usr/local/nginx/html/lxfvm.com;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
在/usr/local/nginx/html目录下新建了jllvm.com、lxfvm.com两个文件夹:
每个文件夹下分别创建index.html文件:
启动nginx服务后,直接通过域名+端口号访问:
路由到不同的页面。
1.2 居于域名的虚拟主机
描述:监听端口号一样,server_name下配置的域名不一样。
server_name分别配置了 jllvm.com、lxfvm.com
#一个server代表一个站点,即可以理解为一个主机服务。
#一个主机上想跑多个节点就可以通过复制多个server来设置
server {
listen 80; //监听80端口,如果域名配置了当前主机的ip,那么可以通过ip+端口号定位到这个server
server_name jllvm.com;//如果多个server监听同一个端口号,那么可以在severa_name配对应的域名来定位想要访问的server。即使监听的端口号一样,也不影响路由定位server。
location / {
root /usr/local/nginx/html/jllvm.com; #默认访问哪个目录上的文件,可以自定义配置想要访问的目录
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name lxfvm.com;
location / {
root /usr/local/nginx/html/lxfvm.com;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
通过两个域名+80端口号访问,可以路由到对应的server站点访问配置的页面。
1.3 居于ip的虚拟主机
一块主机绑定多个ip地址。
2. 代理转发到其它服务
转发到单个服务:
server {
listen 88;
server_name localhost;
location / {
proxy_pass http://127.0.0.1; #通过代理转发到其它服务
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
配置upstream,负载均衡转发到多个服务:
upstream myserver {
server 10.4.xx.5:8080 weight=1; #权重为 1:5
server 10.4.xx.5:8081 weight=5;
}
server {
listen 88;
server_name localhost;
location / {
proxy_pass http://myserver; #通过代理转发到多个服务服务
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}