nginx—多个server

1. 介绍

1.1 背景介绍

  • 如果每台linux服务器只运行了一个小网站,那么人气低,流量小的草根站长需要承担高额的服务器租赁费,也造成了硬件资源浪费。
  • 虚拟主机就是将一台服务器分割成多个“虚拟服务器”,每个站点使用各自的硬盘空间,由于省资源,省钱,众多网站都使用虚拟主机来部署网站。
  • 虚拟主机的概念就是在web服务里的一个独立的网站站点,这个站点对应独立的域名(IP),具有独立的程序和资源目录,可以独立的对外提供服务。
  • 这个独立的站点配置是在nginx.conf中使用server{}代码块标签来表示一个虚拟主机。
  • Nginx支持多个server{}标签,即支持多个虚拟主机站点。
  • 虚拟主机定义了网站的端口,域名,网页内容存放路径

1.2 虚拟主机类型

  • 基于域名的虚拟主机
  • 通过不同的域名区分不同的虚拟主机,是企业应用最广的虚拟主机。
  • 基于端口的虚拟主机
  • 通过不同的端口来区分不同的虚拟主机,一般用作企业内部网站,不对外直接提供服务的后台,例如www.pythonav.cn:9000
  • 基于IP的虚拟主机
  • 通过不同的IP区分不同的虚拟主机,此类比较少见,一般业务需要多IP的常见都会在负载均衡中绑定IP

1.3 多虚拟主机 使用基于域名

  • nginx可以自动识别用户请求的域名,根据不同的域名请求服务器传输不同的内容,只需要保证服务器上有一个可用的ip地址,配置好dns解析服务。
  • /etc/hosts是linux系统中本地dns解析的配置文件,同样可以达到域名访问效果

2. 多虚拟主机案例(基于IP)

2.1 环境准备

基于多域名的虚拟主机实现,其实就是读个server标签 环境准备, 1个linux服务器, ip地址:10.0.0.129 安装好nginx软件 在windows中写入2个hosts假的域名 找到如下文件,编辑写入域名对应关系(C:\windows\System32\drivers\etc\hosts) 10.0.0.129 www.dbjwb.com 10.0.0.129 www.dbjapi.com 

2.2 修给nginx.conf的配置,

  • 实现多虚拟主机,多个server{}标签是同级的关系

2.2.1 server

# 第一个主机 server { # 监听的端口号 listen 80; server_name www.dbjapi.com; location / { # root参数定义网页的根目录, root /opt/api/; # 指定首页文件的名字,两个都是,可以删掉一个 index index.html; } } # 第二个主机 server { listen 80; server_name www.dbjwb.com; location / { root /opt/wb/; index index.html; } } 

2.2.2 完整配置

# 进程数 worker_processes 1; events { worker_connections 1024; } # 核心代码 http { include mime.types; default_type application/octet-stream; # 定义nginx访问日志的格式 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; # 访问日志的功能 access_log logs/access.log main; # 推图片等静态文件压缩,提升传输效率 gizp on; #server被称为虚拟主机,可以有多个 # 第一个主机 server { # 监听的端口号 listen 80; server_name www.dbjapi.com; location / { # root参数定义网页的根目录, root /opt/api/; # 指定首页文件的名字,两个都是,可以删掉一个 index index.html; } } # 第二个主机 server { listen 80; server_name www.dbjwb.com; location / { root /opt/wb/; index index.html; } } }

2.2.3 创建文件夹/index.html

新建文件夹 mkdir -p /opt/{api,wb} 各自新建一个index.html,写入内容,随便找一个html vim index.html

2.3 重启nginx

nginx -s reload

2.4 访问对应的域名,即可看见内容

  • www.dbjapi.com
  • www.dbjwb.com

原文链接:https://blog.csdn.net/qq_52385631/article/details/123829373?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166795445616782395395378%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166795445616782395395378&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-5-123829373-null-null.nonecase&utm_term=%E7%AB%99%E9%95%BF

原创文章,作者:摘自网络,如若转载,请注明出处:https://www.15cov.cn/

本页面内容由网络采集 生成,若侵权请及时联系删除。1606107060@qq.com

发表评论

邮箱地址不会被公开。 必填项已用*标注