chaosxin 发表于 2018-11-16 09:32:22

Nginx(二) 虚拟主机配置

  一、Nginx的应用概述
  Nginx作为一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。主要有以下3方面的应用:
  1.http服务器:
  Nginx是一个http服务器可以独立提供http服务。可以做网页静态服务器。
  2.虚拟主机:
  可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
  3.反向代理,负载均衡:
  当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
  二、虚拟主机概述
  虚拟主机使用的是特殊的软硬件技术,它把一台服务器主机分成一台台“虚拟”的主机,每天虚拟主机都可以具有独立的域名,具有完整的Internet服务器功能(www、FTP、Email等),同一台主机上的虚拟主机之间是完全独立的。从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样。
  利用虚拟主机,不必为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程。虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。
  可以实现在同一台服务器上运行多个网站,并且网站之间相互独立各不干扰。
  三、Nginx虚拟主机的配置
  Nginx下,一个Server标签就是一个虚拟主机,有三种方式进行配置:
  (1)、基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站;
  (2)、基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台。
  (3)、基于IP的虚拟主机,几乎不太常用。
  四、Nginx配置文件
  cd /usr/local/nginx/conf
  ls
  vim nginx.conf

  nginx.conf 配置文件,及解析:
  // 全局区
  #usernobody;
  worker_processes1;      #有一个工作的子进程,可以自行修改,但太大无益,因为要争夺CPU,一般设置为CPU数*核数
  #error_loglogs/error.log;
  #pid      logs/nginx.pid;
  events {         #一般是配置 Nginx连接的特性
  #如1个word能同时允许多少连接
  worker_connections1024;      # 这是指 一个子进程最大允许连1024个连接
  }
  http {            #这是配置http服务器的主要段
  include       mime.types;
  default_typeapplication/octet-stream;
  #                  '$status $body_bytes_sent "$http_referer" '
  #                  '"$http_user_agent" "$http_x_forwarded_for"';
  #access_loglogs/access.logmain;
  sendfile      on;
  #tcp_nopush   on;
  #keepalive_timeout0;
  keepalive_timeout65;
  #gzipon;
  server {                   #这是配置虚拟主机的段
  listen       80;
  server_namelocalhost;
  #charset koi8-r;
  #access_loglogs/host.access.logmain;
  location / {            #定位,把特殊的路径或文件再次定位,如image目录单独处理
  root   html;
  indexindex.html index.htm;
  }                                 #如,php单独处理
  # redirect server error pages to the static page /50x.html
  #
  error_page   500 502 503 504/50x.html;
  location = /50x.html {
  root   html;
  # proxy the PHP scripts to Apache listening on 127.0.0.1:80
  #
  #location ~ \.php$ {
  #    proxy_pass   http://127.0.0.1;
  #}
  #
  #location ~ \.php$ {
  #    root         html;
  #    fastcgi_pass   127.0.0.1:9000;
  #    include      fastcgi_params;
  #}
  # deny access to .htaccess files, if Apache's document root
  # concurs with nginx's one
  #
  #location ~ /\.ht {
  #    denyall;
  #}
  }
  #
  #server {
  #    listen       8000;
  #    listen       somename:8080;
  #    server_namesomenamealiasanother.alias;
  #    location / {
  #      root   html;
  #      indexindex.html index.htm;
  #    }
  #}
  # HTTPS server
  #
  #server {
  #    listen       443 ssl;
  #    server_namelocalhost;
  #    ssl_certificate      cert.pem;
  #    ssl_certificate_keycert.key;
  #    ssl_session_cache    shared:SSL:1m;
  #    ssl_session_timeout5m;
  #    ssl_ciphersHIGH:!aNULL:!MD5;
  #    ssl_prefer_server_cipherson;
  #    location / {
  #      root   html;
  #      indexindex.html index.htm;
  #    }
  #}
  }
  五、Nginx配置虚拟主机的三种方法
  1、基于域名配置虚拟主机配置:
  在 /usr/local/nginx 目录下创建文件夹 z.com,然后创建index.html文件。
  mkdir z.com
  vim z.com/index.html
  
  this is z.com
  
  打开/usr/local/nginx/conf/nginx.conf
  添加以下信息:
  server {
  listen 80;
  server_namez.com;
  location / {
  root z.com;
  indexindex.html;
  }
  }

  重新读出配置文件:/usr/local/nginx -s>  更改windows电脑的hosts配置文件:
  192.168.149.128    z.com
  浏览器访问域名:
  2、基于端口配置虚拟主机配置:
  在 /var/www 目录下创建文件夹 html,然后创建index.html文件。
  mkdir html
  vim html/index.html
  
  welcome to z.coms panel
  
  打开/usr/local/nginx/conf/nginx.conf
  添加以下信息:
  server {
  listen 2022;
  server_namez.com;
  location / {
  root /var/www.html;
  indexindex.html;
  }
  }
  启动:   kill-HUP'catlogs/nginx.pid
  浏览器访问:z.com:2022
  3、基于IP配置虚拟主机配置:
  在 /usr/local/negin 目录下创建文件夹 ip,然后创建index.html文件。
  mkdir ip
  vim ip/index.html
  
  this is from ip
  
  打开/usr/local/nginx/conf/nginx.conf
  添加以下信息:
  server {
  listen 80;
  server_name192.168.148.128;
  location / {
  rootip;
  indexindex.html;
  }
  }

  启动:   ./sbin/nginx -s>  浏览器访问:192.168.149.128

页: [1]
查看完整版本: Nginx(二) 虚拟主机配置