Nginx主要应用:
静态web服务器
负载均衡
静态代理
虚拟主机
虚拟主机
:虚拟主机,就是把一台物理服务器划分成多个“虚拟”的服务器,这样我们的一台物理服务器就可以当做多个服务器来使用,从而可以配置多个网站;
Nginx提供虚拟主机的功能,就是为了让我们不需要安装多个Nginx,就可以运行多个网站;
Nginx下,一个server标签就是一个虚拟主机;
nginx的虚拟主机就是通过nginx.conf中server节点指定的,想要设置多个虚拟主机,配置多个server节点即可;
配置虚拟主机通过有下面两种方式:
1、基于域名的虚拟主机
基于域名的虚拟主机是最常见的一种虚拟主机。
server {
listen 80;
server_name www.myweb.com;
location /myweb {
proxy_pass http://www.myweb.com;
}
}
server {
listen 80;
server_name www.p2p.com;
location /p2p {
proxy_pass http://www.p2p.com;
}
}
需要修改一下本地的hosts文件,文件位置:C:WindowsSystem32driversetchosts
在hosts文件配置:192.168.208.128 www.myweb.com
在hosts文件配置:192.168.208.128 www.p2p.com
前面是Linux的IP,后面是你自定义的域名
基于端口的虚拟主机
基于端口的虚拟主机配置,使用端口来区分;
浏览器使用 同一个域名+端口 或 同一个ip地址+端口访问;
server {
listen 8080;
server_name www.myweb.com;
location /myweb {
proxy_pass http://www.myweb.com;
}
}
server {
listen 9090;
server_name www.myweb.com;
location /p2p {
proxy_pass http://www.p2p.com;
}
}
虚拟主机示例
城市站点网站(举例说明,我们配置三个城市站点)
1、配置3个Tomcat,每个tomcat一个站点,项目部署在tomcat的ROOT目录下;
2、配置3个Nginx虚拟主机:
方式一:
在nginx.conf文件添加三个server节点,用于配置三个虚拟主机
server {
listen 80;
server_name beijing.myweb.com;
location / {
proxy_pass http://beijing.myweb.com;
}
}
server {
listen 80;
server_name nanjing.myweb.com;
location / {
proxy_pass http://nanjing.myweb.com;
}
}
server {
listen 80;
server_name tianjin.myweb.com;
location / {
proxy_pass http://tianjin.myweb.com;
}
}
方式二:
通过include的方式引入虚拟主机配置
include /usr/local/nginx/vhost/vhost.conf;
将虚拟目录的配置文件加入到”http {}”部分的末尾,与其他server并列;
3、配置每个虚拟主机请求转发所对应的后端服务器
upstream beijing.myweb.com {
server 127.0.0.1:9910;
}
upstream nanjing.myweb.com {
server 127.0.0.1:9920;
}
upstream tianjin.myweb.com {
server 127.0.0.1:9930;
}
4、修改hosts文件,让Linux的ip指向到一个三个站点的域名
192.168.230.128 beijing.myweb.com
192.168.230.128 nanjing.myweb.com
192.168.230.128 tianjin.myweb.com
5、将项目war包解压在root下可以省去访问项目的名称