虚拟主机
什么是虚拟主机
实现一台主机,对外提供多个web服务,每个虚拟主机之间是独立的,互不影响。
怎么样实现虚拟主机
- 绑定多IP
一块物理网卡上绑定多个IP地址,这样就能够在使用单一网卡的同一个服务器上运行多个基于IP的虚拟主机。
- 实验
1.1 环境准备,绑定多个IP
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:01
[root@localhost network-scripts]# vim ifcfg-ens33:01
OTPROTO=dhcp
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=0ae9d555-0fa5-427b-a186-ffe9c2e98aa4
DEVICE=ens33:01
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPADDR=192.168.176.4
DNS1=192.168.176.2
复制一份网络配置文件为ifcfg-ens33:01,修改DEVICE=ens33:01和IPADDR,重启系统即可
1.2 配置虚拟主机
修改 /usr/local/conf/nginx.conf
server {
listen 80;
server_name 192.168.176.104;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/local/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name 192.168.176.4;
location / {
root /usr/local/nginx/html4;
index index.html index.htm;
}
}
- 多端口
- 需求
nginx对外提供两个端口监听服务,请求80端口则请求html80目录下的html,请求8080则是html8080目录下的html - 配置
server {
listen 80;
server_name 192.168.176.4;
location / {
root /usr/local/nginx/html80;
index index.html index.htm;
}
}
server {
listen 8080;
server_name 192.168.176.4;
location / {
root /usr/local/nginx/html8080;
index index.html index.htm;
}
}
-
测试
- 通过域名区分
两个域名指向同一台nginx服务器,用户访问不同的域名显示不同的网页内容。
- 需求
访问aaa.test.com、bbb.test.com对应192.168.176.4虚拟机,出现不同的网页 - 配置
2.1 修改主机host
C:\Windows\System32\drivers\etc
192.168.176.4 aaa.test.com
192.168.176.4 bbb.test.com
2.2 配置nginx.conf
server {
listen 192.168.176.4:80;
server_name aaa.test.com;
location / {
root /usr/local/nginx/html80;
index index.html index.htm;
}
}
server {
listen 192.168.176.4:80;
server_name bbb.test.com;
location / {
root /usr/local/nginx/html8080;
index index.html index.htm;
}
}
- 测试
nginx反向代理
什么是正向代理,什么是反向代理
客户机通过代理服务器去访问Internet,帮助内网client去访问外网中的目的主机(正向代理);反向代理,访问代理服务器,由代理服务器去决定外网的哪个服务器来处理请求(反向代理)。
为什么要正向代理
方便企业、办公管理,禁止内网的访问限制。
为什么要反向代理
负载均衡,解决服务器的压力。正向代理隐藏真实客户端,反向代理隐藏真实服务端,
实验
- 需求
两个tomcat服务通过nginx代理
aaa.test.com tomcat1 192.168.176.4:8080
bbb.test.com tomcat2 192.168.176.4:8081
nginx 192.168.176.4:80 - 修改nginx.conf
upstream tomcat_server1 {
server 192.168.176.4:8080;
}
upstream tomcat_server2 {
server 192.168.176.4:8081;
}
server {
listen 80;
server_name aaa.test.com;
location / {
proxy_pass http://tomcat_server1;
index index.html index.htm;
}
}
server {
listen 80;
server_name bbb.test.com;
location / {
proxy_pass http://tomcat_server2;
index index.html index.htm;
}
}
-
测试
负载均衡
负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。