Nginx实现多虚拟主机配置

您所在的位置:网站首页 虚拟主机如何配置 Nginx实现多虚拟主机配置

Nginx实现多虚拟主机配置

2024-05-09 01:16| 来源: 网络整理| 查看: 265

一、Nginx的应用概述

Nginx作为一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。主要有以下3方面的应用:

1、http服务器

Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

2、虚拟主机

可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

3、反向代理,负载均衡

当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。 

 

二、什么是虚拟主机      虚拟主机使用的是特殊的软硬件技术,它把一台服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以具有独立的域名,具有完整的Intemet服务器功能(WWW、FTP、Email等),同一台主机上的虚拟主机之间是完全独立的。从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样。       利用虚拟主机,不必为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程。虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。

可以实现在同一台服务器上运行多个网站,并且网站之间相互独立各不干扰。

 

三、基于IP 的虚拟主机配置

1、如果是多网卡就可以直接使用不同的IP地址,如果是单网卡则再系统中虚拟出两个网卡,设置为不同的IP地址

将/etc/sysconfig/network-scripts/ifcfg-eth0文件复制一份,命名为ifcfg-eth0:1

cd /etc/sysconfig/network-scripts

cp ifcfg-eth0 ifcfg-eth0:1

修改其中内容:

DEVICE=eth0:1

IPADDR=192.168.72.49

其他项不用修改,然后执行service network restart 重启网络服务

修改nginx配置文件

在nginx/conf/nginx.conf是nginx核心配置文件,nginx对虚拟主机的配置,一个server就是一个虚拟主机。Nginx对于多虚拟主机的支持,主要是对server标签的添加,指定location启动路径即可。

1)先将/nginx/html文件复制成两份,修改html/index.html文件,用于标记不同nginx首页信息。

2)修改nginx.conf配置文件,添加两个server节点,指定ip

worker_processes 4; pid logs/nginx.pid; events { worker_connections 1024; } http { default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 192.168.2.158:80; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { listen 192.168.2.159:80; server_name localhost; location / { root test; index index.html ; }   }}

  

四、基于不同端口的虚拟主机配置

在nginx conf 的配置目录下添加,port2.conf ,然后在nginx.conf 里面 include port2.conf

nginx.conf:

worker_processes 4; pid logs/nginx.pid; events { worker_connections 1024; } http { 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"'; sendfile on; keepalive_timeout 65; include port2.conf; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }

port2.conf, 在nginx 根目录添加test目录作为第二个server的root目录,里面新加修改的index.html

server { listen 81; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root test; index index.html ; } error_page 404 /baselogin.PNG; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }

nginx -s reload

 

 

五:基于不同域名的虚拟主机:

为了测试,我们在hosts里面新加了两个 IP 域名解析

192.168.2.158 1.imoocc.com192.168.2.158 2.imoocc.com

这样直接将nginx.conf 里面的hostname 修改为 1.imoocc.com  port2.conf 里面的hostname 修改为 2.imoocc.com,,然后 nginx -s reload

结果如下:

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3