nginx 多个root_nginx虚拟主机配置

  • nginx 虚拟机配置

什么是虚拟主机? 虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响。

a01bbf64b9e361ca7ccbabbb24ead8a6.png

nginx可以实现虚拟主机的配置,nginx支持三种类型的虚拟主机配置。 1、基于域名的虚拟主机 (server_name来区分虚拟主机——应用:外部网站) 2、基于ip的虚拟主机, (一块主机绑定多个ip地址) 3、基于端口的虚拟主机 (端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台)

1、 基于域名的虚拟主机

1、配置通过域名区分的虚拟机

[root@localhost ~]# cat /etc/nginx/nginx.confworker_processes  4;#error_log  logs/error.log;worker_rlimit_nofile 102400;​​events {    worker_connections  1024;}​​http {    include       mime.types;    default_type  application/octet-stream;        server {        listen       80;        server_name  web.testpm.com;        location / {            root   /var/www/nginx/;            index  index.html index.htm;            limit_rate  2k;            }        }        server {        listen       80;        server_name  web.1000phone.com;        location / {            root   /1000phone/html;            index  index.html index.htm;            }        }}

2、 为 域名为 http://web.1000phone.com 的虚拟机,创建 index 文件

[root@localhost ~]# mkdir -p /1000phone/html[root@localhost ~]# vim /1000phone/html/index.html

this is my 1000phone

3、重新加载配置文件

# 如果编译安装的执行[root@nginx]# /usr/local/nginx/sbin/nginx -s reload# 如果 yum 安装的执行[root@nginx]# nginx -s reload

4、客户端配置路由映射 在 C:WindowsSystem32driversetchosts 文件中添加两行(linux:/etc/hosts)

10.0.105.199 web.testpm.com10.0.105.199 web.1000phone.com

5、 测试访问

浏览器输入:http://web.testpm.com/

浏览器输入:http://web.1000phone.com/

2、 基于ip的虚拟主机

[root@localhost ~]# ip a 1: lo:  mtu 65536 qdisc noqueue state UNKNOWN qlen 1    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever    inet6 ::1/128 scope host        valid_lft forever preferred_lft forever2: ens33:  mtu 1500 qdisc pfifo_fast state UP qlen 1000    link/ether 00:0c:29:17:f1:af brd ff:ff:ff:ff:ff:ff    inet 10.0.105.199/24 brd 10.0.105.255 scope global dynamic ens33       valid_lft 81438sec preferred_lft 81438sec    inet6 fe80::9d26:f3f0:db9c:c9be/64 scope link        valid_lft forever preferred_lft forever[root@localhost ~]# ifconfig ens33:1 10.0.105.201/24[root@localhost ~]# ifconfigens33: flags=4163  mtu 1500        inet 10.0.105.199  netmask 255.255.255.0  broadcast 10.0.105.255        inet6 fe80::9d26:f3f0:db9c:c9be  prefixlen 64  scopeid 0x20        ether 00:0c:29:17:f1:af  txqueuelen 1000  (Ethernet)        RX packets 9844  bytes 1052722 (1.0 MiB)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 5567  bytes 886269 (865.4 KiB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0​ens33:1: flags=4163  mtu 1500        inet 10.0.105.201  netmask 255.255.255.0  broadcast 10.0.105.255        ether 00:0c:29:17:f1:af  txqueuelen 1000  (Ethernet)​2、配置通过ip区分的虚拟机[root@localhost ~]# cat /etc/nginx/nginx.confuser  root;worker_processes  4;​#error_log  logs/error.log;worker_rlimit_nofile 102400;​​events {    worker_connections  1024;}​​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"';​    server {        listen       10.0.105.199:80;        server_name  web.testpm.com;        location / {            root   /var/www/nginx/;            index  index.html index.htm;            limit_rate  2k;        }             server {        listen       10.0.105.201:80;        server_name  web.testpm.com;        location / {            root   /1000phone/html/;            index  index.html index.htm;            }        }}3、重新加载配置文件[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload4、 测试访问浏览器输入:http://10.0.105.199浏览器输入:http://10.0.105.2015、补充-- 删除绑定的vip[root@localhost ~]# ifconfig ens33:1 10.0.105.201/24 down重启一下nginx[root@localhost ~]# systemctl restart nginx

3、 基于端口的虚拟主机

[root@localhost ~]# cat /etc/nginx/nginx.confuser  root;worker_processes  4;​worker_rlimit_nofile 102400;​​events {    worker_connections  1024;}​​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"';​​    sendfile        on;​    keepalive_timeout  65;​​    server {        listen       80;        server_name  web.testpm.com;        location / {            root   /var/www/nginx/;            index  index.html index.htm;            limit_rate  2k;        }                 server {        listen       8080;        server_name  web.1000phone.com;        location / {            root   /1000phone/html/;            index  index.html index.htm;            }        }}重新加载配置文件:[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload测试访问:浏览器输入:http://web.testpm.com/浏览器输入:http://web.1000phone.com:8080
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值