精华内容
下载资源
问答
  • 虚拟主机配置

    2018-05-07 10:29:37
    Apache的虚拟主机分为两种:基于...Apache提供了多个位置可以用来配置虚拟主机,httpd.conf和/extra/httpd_vhost.conf httpd.conf配置之后,只需要直接重启Apache即可生效 /extra/httpd_vhost.conf配置之后,需要...

    Apache的虚拟主机分为两种:基于IP地址的虚拟主机,基于域名的虚拟主机

    基于域名的虚拟主机:通过域名来是的Apache区分对应的网站(文件夹)

    Apache提供了多个位置可以用来配置虚拟主机,httpd.conf和/extra/httpd_vhost.conf
    httpd.conf配置之后,只需要直接重启Apache即可生效
    /extra/httpd_vhost.conf配置之后,需要在httpd.conf下加载对应的配置文件

    1.先加载虚拟主机配置文件。apache/conf/httpd.conf
    这里写图片描述
    但是会产生警告
    这里写图片描述

    2.清理警告
    这里写图片描述

    3.创建虚拟主机
    <VirtualHost *:80>
    ServerName 域名
    DocumentRoot 路径
    </VirtualHost>
    这里写图片描述

    4.重启Apache

    5.修改hosts文件
    hosts文件路径:C:\Windows\System32\drivers\etc\hosts
    这里写图片描述

    6.设置访问权限
    <Directory 路径>
    Order Deny,Allow
    Deny from all
    Allow from all
    </Directory>
    这里写图片描述

    指定访问方式,如果没有请求文件,而默认的文件又不存在,则显示所有的文件列表(在开发环境中慎用)
    这里写图片描述

    注意:一旦开启虚拟主机,那么默认的localhost会被覆盖,被第一个虚拟主机覆盖,为了解决不被覆盖的问题,需要额外增加一个localhost的虚拟主机。
    这里写图片描述

    展开全文
  • Apache虚拟主机配置

    2018-05-09 09:56:53
    Apache虚拟主机配置在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录。Apache虚拟主机配置有3中方法:基于IP配置、基于域名配置和基于端口配置,...

    Apache虚拟主机配置

    在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录。Apache虚拟主机配置有3中方法:基于IP配置、基于域名配置和基于端口配置,这里介绍基于域名配置和基于端口配置,基于IP配置方法类似。

    复制代码
    1. Apache基于域名配置虚拟主机:
    
      打开Apache安装目录下的配置文件conf/extra/httpd-vhosts.conf,添加如下配置信息:
    
      <VirtualHost _default_:80>
    
        DocumentRoot "D:/wamp/www"
    
        ServerName www.jtw.com
    
      </VirtualHost>
    
      <VirtualHost *:80>
    
           ServerAdmin 2504091004@qq.com
    
           DocumentRoot "D:/wamp/www2"
    
           ServerName www.wujuntian.com
    
           ErrorLog "logs/wujuntian.log"
    
           CustomLog "logs/wujuntian.log" common
    
          <Directory "D:/wamp/www2">
    
               Options Indexes FollowSymLinks MultiViews
    
               AllowOverride None
    
               Require all granted
    
          </Directory>
    
      </VirtualHost>
    
      这里配置了两个虚拟主机,其中第一个是默认虚拟主机,找不到虚拟主机的域名访问也由这个虚拟主机来提供服务。这两个主机使用的都是80端口,第一个虚拟主机指定域名为“www.jtw.com”,服务器目录为“D:/wamp/www”,第二个虚拟你主机指定域名为“www.wujuntian.com”,服务器目录为“D:/wamp/www2”。
    
      然后在Apache主配置文件conf/httpd.conf中包含这个配置文件:
    
      Include conf/extra/httpd-vhosts.conf
    
      最后重启Apache服务器,就可以通过访问两个不同的域名访问同一个服务器上的两个目录了。
    
      注意:如果只是在本地进行配置测试的话,需要在hosts文件中加入域名到本地IP地址的映射(hosts文件位置:C:\Windows\System32\drivers\etc):
    
      127.0.0.1       www.jtw.com
    
      127.0.0.1       www.wujuntian.com
    复制代码

     

    复制代码
    2. Apache基于端口配置虚拟主机:
    
      首先在Apache配置文件conf/httpd.conf中修改配置让Apache服务器监听多个端口:
    
      Listen 8080
    
      Listen 80
    
      这里监听两个端口,配置两个虚拟主机。
    
      然后在配置文件conf/extra/httpd-vhosts.conf,添加如下配置信息:
    
      <VirtualHost _default_:80>
    
        DocumentRoot "D:/wamp/www"
    
      </VirtualHost>
    
      <VirtualHost *:8080>
    
           ServerAdmin 2504091004@qq.com
    
           DocumentRoot "D:/wamp/www2"
    
          <Directory "D:/wamp/www2">
    
               Options Indexes FollowSymLinks MultiViews
    
               AllowOverride None
    
               Require all granted
    
          </Directory>
    
      </VirtualHost>
    
      在Apache主配置文件conf/httpd.conf中包含这个配置文件:
    
      Include conf/extra/httpd-vhosts.conf
    
      最后重启Apache服务器,就可以通过同一个IP地址的不同端口来访问同一个服务器上的两个不同目录了。
    
      注意:Web服务器默认使用的是80端口,所以访问80端口的站点时可以不用加上“:80”,但是访问其他端口时必须带上端口号。
    
      在<VirtualHost></VirtualHost>段中的配置可以覆盖外面的配置。
    展开全文
  • nginx虚拟主机配置

    2017-05-31 14:20:53
    nginx虚拟主机配置

    nginx虚拟主机配置

    1. 基于域名的虚拟主机配置

    1. 编辑nginx的配置文件:
    [root@localhost conf]# vim /usr/local/nginx/conf/nginx.conf
    1. 在nginx.conf中添加两个不同域名的的server, 本例中使用www.a.com和www.b.com
       server {
            listen          80;           #监听的端口号
            server_name     www.a.com;    #监听的主机名称
            # access_log      logs/linuxidc.access.log main;
            location / {
                index index.html;         #默认访问的首页面
                root  /opt/static/test/a; #访问页面的目录
            }
        }
    
        server {
            listen          80;
            server_name     www.b.com;
            # access_log      logs/androidj.access.log main;
            location / {
                index index.html;
                root  /opt/static/test/b;
            }
        }
    
    1. 分别创建/opt/static/test/a/index.html和/opt/static/test/b/index.html
    2. 重启nginx
    ./nginx -s reload
    1. 在浏览器中验证如下图:
      访问www.a.com
      这里写图片描述
      访问www.b.com
      这里写图片描述

    2. 基于端口号的虚拟主机配置

    1. 编辑nginx.conf配置文件,添加不同端口的server
    server {
            listen          7000;
            server_name     www.c.com;
            # access_log      logs/linuxidc.access.log main;
            location / {
                index 7000.html;
                root  /opt/static/test/a;
            }
        }
    
        server {
            listen          7001;
            server_name     www.c.com;
            # access_log      logs/androidj.access.log main;
            location / {
                index 7001.html;
                root  /opt/static/test/b;
            }
        }
    
    1. 分别创建/opt/static/test/a/7000.html和/opt/static/test/b/7001.html
    2. 重启nginx并验证,结果如下:
      访问www.com:7000:
      这里写图片描述
      访问www.com:7001:
      这里写图片描述

    3. 基于ip地址的虚拟主机配置

    注意:以上的域名需要配置hosts,本例中的hosts配置如下图:
    这里写图片描述

    展开全文
  • nginx之配置文件解读及虚拟主机配置

    千次阅读 多人点赞 2020-08-18 09:29:45
    配置文件详解及虚拟主机配置


      如果你还没有搭建nginx,那就从这里开始吧!

    一、认识配置文件

    1、整体结构

      nginx的配置文件nginx.conf位于其安装目录下的conf目录下,在具体解读nginx配置文件之前,我们先了解配置文件的整体结构,这有利于更快速准确了解配置文件哦。


    2、各"块"功能

      从上图相信大家都可以看出来,nginx的配置文件主要分为 6个块(部分),其中:

    • main块(全局设置):配置影响nginx全局的指令。通常有:配置运行Nginx服务器的用户(组)、允许生成的worker process数、日志的存放路径、Nginx进程PID存放路径和配置文件引入等。
    • event块:配置影响nginx服务器或与用户的网络连接。通常有:是否开启网络连接序列化、是否允许同时接受多个网路连接、指定哪种事件驱动模型处理连接请求和设置每个进程的最大连接数等。
    • http块:配置代理、缓存和日志定义等绝大多数功能和第三方模块。http块中可以配置本身的全局块,也可以嵌套多个server块。其中,http的全局块中通常有:文件引入、mime-type定义、日志自定义(如:是否开启服务日志、自定义日志格式)、是否使用sendfile传输文件,连接超时时间,单连接请求数、是否开启gzip压缩输出等。
    • upstream块(负载均衡服务器设置):这部分在后续的nginx负载均衡中再详细解释。
    • server块(主机设置):配置虚拟主机的相关参数。与http相同,server块可以包含本身的全局块,也可以嵌套多个location块。其中,http的全局块中通常有:单连接请求上限次数、监听端口、监听地址等。
    • location块(URL匹配特定位置的设置):配置请求的路由,以及各种页面的处理情况。主要是基于nginx服务器所接收到的请求url对预先所配置的规则进行匹配,从而决定走哪个location。

    3、最详细的配置文件解释

      ① main块

    ########### 每个指令必须有分号结束。#################
    #user administrator administrators;    #配置用户和用户组(可选),默认为nobody nobody,即所有用户都可以启动Nginx进程
    #worker_processes 2;    #指定启动多少进程来处理请求,默认为1,一般情况下设置成CPU的核数
    #pid /nginx/pid/nginx.pid;    #指定nginx进程运行文件存放位置
    error_log log/error.log debug;    #定义全局错误日志文件位置、级别。日志输出级别有:debug|info|notice|warn|error|crit|alert|emerg。
    
    

    tipsⅠ全局错误日志输出级别中,debug > info > notice > warn > error > crit > alert > emerg。debug输出日志最为最详细,以此类推,crit输出日志最少。

      ② event块

    ########### 每个指令必须有分号结束。#################
    events {
        accept_mutex on;    #设置网路连接序列化,防止惊群现象发生,默认为on
        multi_accept on;    #设置一个进程是否同时接受多个网络连接,默认为off
        #use epoll;    #事件驱动模型(nginx工作模式),select|poll|epoll|kqueue|resig|/dev/poll|eventport
        worker_connections  1024;    #每个worker进程最大连接数,默认为512
    }
    
    

    tipsⅠ:惊群现象简而言之,就是多进程(多线程)在同时阻塞等待同一个事件的时候(休眠状态),如果等待的这个事件发生,那么他就会唤醒等待的所有进程(或者线程),但是最终却只可能有一个进程(线程)获得这个时间的“控制权”,对该事件进行处理,而其他进程(线程)获取“控制权”失败,只能重新进入休眠状态。
      为什么要防止惊群现象的发生?
        ① 系统对用户进程/线程频繁地做无效的调度,上下文切换系统性能大打折扣。
        ② 为了确保只有一个线程得到资源,用户必须对资源操作进行加锁保护,进一步加大了系统开销。


    tipsⅡ:一般来说最常用的事件驱动模型有:select、poll、epoll。
        其中,select、poll属于标准事件模型,区别在于Linux和Windows都支持select模型,poll模型仅能用于Linux平台。
        epoll、kqueue属于高效事件模型,区别在于epoll用于Linux平台,而kqueue模型用于BSD系列平台。
        对于Linux系统,首选epoll工作模式,只有当前系统不存在更有效的方法时,才会使用select和poll。


    tipsⅢ:进程的最大连接数受系统限制参数的最大打开文件数限制,使用命令"ulimit -SHn 数字"(临时修改)或修改配置文件"/etc/security/limits.conf"(永久修改)即可修改系统限制参数。
        配置文件需要在文件末尾添加两行:
        * soft nofile 数字
        * hard nofile 数字

      ③ http块

    ########### 每个指令必须有分号结束。#################
    http {
        include       mime.types;    #将mime.types文件包含到配置文件中,减少主配置文件的复杂度
        default_type  application/octet-stream;    #默认文件类型,默认为text/plain,这个类型会让浏览器认为响应是普通的文件流,,并提示用户下载文件
        access_log  logs/access.log  main;    #自定义服务日志 "路径and名称"
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';    #自定义服务日志"格式",这也是默认的combined日志格式
        sendfile on;   #开启高效文件传输模式,默认为off
        #tcp_nopush on;    #提高网络性能,仅使用sendfile功能时才被启用
        #tcp_nodelay on;    #提高网络性能,仅在将连接转变为长连接的时候才被启用
        keepalive_timeout 65;    #长连接超时时间,默认为75s
        sendfile_max_chunk 100k;    #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限
        #gzip  on;    #开启gzip实时压缩输出功能(需配置HttpGzip模块)
        }
    

    tipⅠmime.types是一个文件扩展名与文件类型映射表,浏览器根据mime.type文件定义的对应关系可以判断如何处理文件,打开or下载。


    tipⅡ:如果web程序和mime.type文件都没有设置对应文件扩展名,那么就默认使用default_type定义的类型来对文件进行处理。可以通过该选项避免浏览器自动播放文件。


    tipⅢ自定义日志格式中各变量的含义:
      $remote_addr 与 $http_x_forwarded_for:用以记录客户端的ip地址;
      $remote_user:用来记录客户端用户名称;
      $time_local:用来记录访问时间与时区;
      $request:用来记录请求的url与http协议;
      $status:用来记录请求状态;成功是200;
      $body_bytes_sent:记录发送给客户端文件主体内容大小;
      $http_referer:用来记录从那个页面链接访问过来的;
      $http_user_agent:记录客户端浏览器的相关信息;


    tipⅣtcp_nopushtcp_nodelay是如何提高网络性能呢?
      首先需要知道的是,两者是互相排斥的,放在一起就会把事情搞砸!
      tcp_nopush:如果包的大小满足MSS,那么可以立即发送,否则数据会被放到缓冲区,等到已经发送的包被确认了之后才能继续发送。这种数据传输方式有益于大量数据的通信性能,可以降低网络里小包的数量,从而提升网络传输效率
      tcp_nodelay:发送应立即发出的短消息。这种数据传输方式有益于交互性的客户/服务器型的应用程序,可以加快响应时间


    tipⅤ:长连接超时时间设置应该因地制宜!
      在请求小文件时可以减少重建连接的开销,但如果有大文件上传,可能因为时间不够导致上传失败。
      如果设置时间过长,并且此时没有任何操作,那么长时间保持连接就会浪费系统资源。

      server、location、upstream三个块分别放在后面的配置虚拟主机、location规则与地址重写以及nginx实现负载均衡来进行学习。

    二、配置虚拟主机

    1、什么是虚拟主机?

      所谓的虚拟主机,在web服务器里就是一个独立的网络站点,这个站点对应独立的域名(也可能是IP或端口),具有独立的程序及资源目录,可以独立地对外服务供用户访问。
      虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。利用虚拟主机,可以把一台真实主机分成许多"虚拟"主机,在外界看来,每一台虚拟主机和一台独立的主机效果完全一样,但由于多台虚拟主机共享一台真实主机的资源,大大减少了硬件资源的费用

    2、虚拟主机类型

      ① 基于域名的虚拟主机:通过不同的域名区分不同的虚拟主机。企业应用最广,几乎所有对外提供服务的网站使用的都是基于域名的虚拟主机。
      ② 基于端口的虚拟主机:通过不同的端口来区分不同的虚拟主机。多用于企业内部的网站。
      ③ 基于IP的虚拟主机:通过不同的IP区分同的虚拟主机,此类虚拟主机的应用场景都会在负载均衡器上进行VIP绑定,而不是在web上绑定IP来区分不同的虚拟主机。

    3、配置虚拟主机

      配置文件中server块的解释:

    ########### 每个指令必须有分号结束。#################
    server {
            keepalive_requests 120;    #单连接请求上限次数
            #listen       192.168.140.141:80;    #监听具体IP和具体端口上的连接
            #listen       192.168.140.141;    #监听具体IP上所有端口的连接
            listen       80;    #监听具体端口上所有IP的连接
            server_name  www.a.com;    #配置基于域名的虚拟主机(支持正则表达式匹配)     
           }
    

      ① 基于域名的虚拟主机

      配置环境及要求


      配置过程

    #配置防火墙
    [root@nginx-server ~]# setenforce 0    #关闭selinux防火墙(临时生效)
    [root@nginx-server ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config    #关闭selinux防火墙(永久生效,通常需要重启生效,这里与临时生效配合使用,相当于开机不自启)
    [root@nginx-server ~]# firewall-cmd --permanent --add-service=http    #永久启用http服务
    success
    [root@nginx-server ~]# firewall-cmd --permanent --add-service=https    #永久启用https服务
    success
    [root@nginx-server ~]# firewall-cmd --reload    #重新加载防火墙
    success
    [root@nginx-server ~]# firewall-cmd --permanent --list-all    #查看是否启用成功
    public
      target: default
      icmp-block-inversion: no
      interfaces:
      sources:
      services: ssh dhcpv6-client http https    #启用成功!
      ports:
      protocols:
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:
    
    #修改主配置文件(便于理解,简化了主配置文件)
    [root@nginx-server ~]# vim /etc/nginx/nginx.conf
    user nginx;
    pid /var/run/nginx.pid;
    worker_processes 5;
    error_log /var/log/nginx/error.log debug;
    events {
        accept_mutex on;
        worker_connections  1024;
        use epoll;
    }
    http  {
        access_log off;
        client_max_body_size 128M;
        include /etc/nginx/conf.d/*.conf;    #将虚拟主机配置写在/etc/nginx/conf.d/目录下,通过include包含进来,便于管理和维护
    }
    
    #创建站点目录文件
    [root@nginx-server ~]# mkdir -p /data/a/basic    #创建a站点数据文件目录
    [root@nginx-server ~]# mkdir -p /data/b/basic    #创建b站点数据文件目录
    [root@nginx-server ~]# chown -R nginx:nginx /data/a/basic/    #修改a站点数据文件目录属主和属组
    [root@nginx-server ~]# chown -R nginx:nginx /data/b/basic/    #修改b站点数据文件目录属主和属组
    [root@nginx-server ~]# mkdir -p /data/a/log    #创建a站点日志文件目录
    [root@nginx-server ~]# mkdir -p /data/b/log    #创建b站点日志文件目录
    [root@nginx-server ~]# chown -R nginx:nginx /data/a/log/    #修改a站点日志文件目录属主和属组
    [root@nginx-server ~]# chown -R nginx:nginx /data/b/log/    #修改b站点日志文件目录属主和属组
    
    #创建虚拟主机a配置文件
    [root@nginx-server ~]# vim /etc/nginx/conf.d/a.conf
    server {
        listen 192.168.140.142:80;    #监听IP为192.168.140.142的80端口
        server_name www.a.com;    #虚拟主机域名为www.a.com
        access_log /data/a/log/access.log combined;    #定义服务日志路径和格式
        location / {    #location规则,用来匹配请求url,"/"表示任何请求都会被匹配到
            root /data/a/basic;    #站点主目录
            index index.html index.htm;    #设置默认页
        }
    }
    
    #创建虚拟主机b配置文件
    [root@nginx-server ~]# vim /etc/nginx/conf.d/b.conf
    server {
        listen 192.168.140.142:80;    #监听IP为192.168.140.142的80端口
        server_name www.b.com;    #虚拟主机域名为www.a.com
        access_log /data/b/log/access.log combined;    #定义服务日志路径和格式
        location / {    #location规则,用来匹配请求url,"/"表示任何请求都会被匹配到
            root /data/b/basic;    #站点主目录
            index index.html index.htm;    #设置默认页
        }
    }
    
    #编辑测试网页内容
    [root@nginx-server ~]# vim /data/a/basic/index.html    //编辑虚拟主机a测试页
    This is a test from page AAA
    [root@nginx-server ~]# vim /data/b/basic/index.html    //编辑虚拟主机b测试页
    This is a test from page BBB
    
    

      这里使用windows上浏览器进行测试,所以先配置域名解析,再进行测试。
      记事本打开"C:\Windows\System32\drivers\etc\hosts"文件,在末尾添加"192.168.140.142 www.a.com www.b.com" 。

      现在可以进行测试啦!!


      ② 基于端口的虚拟主机

      配置环境及要求


      配置过程

    #配置防火墙
    [root@nginx-server ~]# setenforce 0    #关闭selinux防火墙(临时生效)
    [root@nginx-server ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config    #关闭selinux防火墙(永久生效,通常需要重启生效,这里与临时生效配合使用,相当于开机不自启)
    [root@nginx-server ~]# firewall-cmd --zone=public --add-port=81/tcp --permanent    #永久开放81端口
    success
    [root@nginx-server ~]# firewall-cmd --zone=public --query-port=81/tcp --permanent    #查询81端口是否开启
    yes
    [root@nginx-server ~]# firewall-cmd --zone=public --add-port=82/tcp --permanent    #永久开放82端口
    success
    [root@nginx-server ~]# firewall-cmd --zone=public --query-port=82/tcp --permanent    #查询82端口是否开启
    yes
    [root@nginx-server ~]# firewall-cmd --reload    #重新加载防火墙
    
    #修改主配置文件(便于理解,简化了主配置文件)
    #略,同上哦!
    
    #创建站点目录文件
    [root@nginx-server ~]# mkdir -p /data/81/basic    #创建81站点数据文件目录
    [root@nginx-server ~]# mkdir -p /data/82/basic    #创建82站点数据文件目录
    [root@nginx-server ~]# chown -R nginx:nginx /data/81/basic/    #修改81站点数据文件目录属主和属组
    [root@nginx-server ~]# chown -R nginx:nginx /data/82/basic/    #修改82站点数据文件目录属主和属组
    [root@nginx-server ~]# mkdir -p /data/81/log    #创建81站点日志文件目录
    [root@nginx-server ~]# mkdir -p /data/82/log    #创建82站点日志文件目录
    [root@nginx-server ~]# chown -R nginx:nginx /data/81/log/    #修改81站点日志文件目录属主和属组
    [root@nginx-server ~]# chown -R nginx:nginx /data/82/log/    #修改82站点日志文件目录属主和属组
    
    #创建虚拟主机81配置文件
    [root@nginx-server ~]# vim /etc/nginx/conf.d/81.conf
    server {
        listen 192.168.140.142:81;    #监听IP为192.168.140.142的81端口
        server_name www.a.com;    #虚拟主机域名为www.a.com
        access_log /data/81/log/access.log combined;    #定义服务日志路径和格式
        location / {    #location规则,用来匹配请求url,"/"表示任何请求都会被匹配到
            root /data/81/basic;    #站点主目录
            index index.html index.htm;    #设置默认页
        }
    }
    
    #创建虚拟主机82配置文件
    [root@nginx-server ~]# vim /etc/nginx/conf.d/82.conf
    server {
        listen 192.168.140.142:82;    #监听IP为192.168.140.142的82端口
        server_name www.a.com;    #虚拟主机域名为www.a.com
        access_log /data/82/log/access.log combined;    #定义服务日志路径和格式
        location / {    #location规则,用来匹配请求url,"/"表示任何请求都会被匹配到
            root /data/82/basic;    #站点主目录
            index index.html index.htm;    #设置默认页
        }
    }
    
    #编辑测试网页内容
    [root@nginx-server ~]# vim /data/81/basic/index.html    //编辑虚拟主机81测试页
    This is a test from 81
    [root@nginx-server ~]# vim /data/82/basic/index.html    //编辑虚拟主机82测试页
    This is a test from 82
    
    

      同样在windows上浏览器进行测试,所以先配置域名解析,再进行测试。
      记事本打开"C:\Windows\System32\drivers\etc\hosts"文件,在末尾添加"192.168.140.142 www.a.com" 。

      现在可以进行测试啦!!


      ③ 基于IP的虚拟主机

      配置环境及要求


      配置过程

    #配置防火墙
    [root@nginx-server ~]# setenforce 0    #关闭selinux防火墙(临时生效)
    [root@nginx-server ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config    #关闭selinux防火墙(永久生效,通常需要重启生效,这里与临时生效配合使用,相当于开机不自启)
    [root@nginx-server ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent    #永久开放80端口
    success
    [root@nginx-server ~]# firewall-cmd --zone=public --query-port=80/tcp --permanent    #查询80端口是否开启
    yes
    [root@nginx-server ~]# firewall-cmd --reload    #重新加载防火墙
    
    #网卡上添加IP
    [root@nginx-server ~]# ip addr add 10.0.0.1/24 dev ens33    #在ens33网卡添加10.0.0.1/24
    [root@nginx-server ~]# ip addr add 10.0.0.2/24 dev ens33    #在ens33网卡添加10.0.0.2/24
    [root@nginx-server ~]# ip add | grep 10.0.0    #查看是否添加成功
        inet 10.0.0.1/24 scope global ens33
        inet 10.0.0.2/24 scope global secondary ens33
    
    #修改主配置文件(便于理解,简化了主配置文件)
    #略,同上哦!
    
    #创建站点目录文件
    [root@nginx-server ~]# mkdir -p /data/101/basic    #创建10.0.0.1站点数据文件目录
    [root@nginx-server ~]# mkdir -p /data/102/basic    #创建10.0.0.2站点数据文件目录
    [root@nginx-server ~]# chown -R nginx:nginx /data/101/basic/    #修改10.0.0.1站点数据文件目录属主和属组
    [root@nginx-server ~]# chown -R nginx:nginx /data/102/basic/    #修改10.0.0.2站点数据文件目录属主和属组
    [root@nginx-server ~]# mkdir -p /data/101/log    #创建10.0.0.1站点日志文件目录
    [root@nginx-server ~]# mkdir -p /data/102/log    #创建10.0.0.2站点日志文件目录
    [root@nginx-server ~]# chown -R nginx:nginx /data/101/log/    #修改10.0.0.1站点日志文件目录属主和属组
    [root@nginx-server ~]# chown -R nginx:nginx /data/102/log/    #修改10.0.0.2站点日志文件目录属主和属组
    
    #创建虚拟主机10.0.0.1配置文件
    [root@nginx-server ~]# vim /etc/nginx/conf.d/101.conf
    server {
        listen 10.0.0.1:80;    #监听IP为10.0.0.1的80端口
        server_name www.a.com;    #虚拟主机域名为www.a.com
        access_log /data/101/log/access.log combined;    #定义服务日志路径和格式
        location / {    #location规则,用来匹配请求url,"/"表示任何请求都会被匹配到
            root /data/101/basic;    #站点主目录
            index index.html index.htm;    #设置默认页
        }
    }
    
    #创建虚拟主机10.0.0.2配置文件
    [root@nginx-server ~]# vim /etc/nginx/conf.d/82.conf
    server {
        listen 10.0.0.2:80;    #监听IP为10.0.0.2的80端口
        server_name www.a.com;    #虚拟主机域名为www.a.com
        access_log /data/102/log/access.log combined;    #定义服务日志路径和格式
        location / {    #location规则,用来匹配请求url,"/"表示任何请求都会被匹配到
            root /data/102/basic;    #站点主目录
            index index.html index.htm;    #设置默认页
        }
    }
    
    #编辑测试网页内容
    [root@nginx-server ~]# vim /data/101/basic/index.html    //编辑虚拟主机81测试页
    This is test from 10.0.0.1
    [root@nginx-server ~]# vim /data/102/basic/index.html    //编辑虚拟主机82测试页
    This is test from 10.0.0.2
    
    #添加路由
    [root@nginx-server ~]# ip route add 10.0.0.0/24 via 192.168.140.142 dev ens33    #将10.0.0.0/24网段请求转发到192.168.140.142
    [root@nginx-server ~]# route -n    #查看是否添加成功
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.140.2   0.0.0.0         UG    100    0        0 ens33
    10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 ens33
    192.168.140.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
    
    
    

      这次不一样啦!在windows上浏览器进行测试,需要先添加路由,再进行测试。
      以管理员身份打开CMD(命令提示符),添加路由,将所有到10.0.0.0/24网段的请求转发到192.168.140.142(虚拟主机所在真实主机IP)上。(代码在这里:route add -p 10.0.0.0 mask 255.255.255.0 192.168.140.142

    在这里插入图片描述
      现在可以进行测试啦!!


    展开全文
  • Apache虚拟主机配置之基于IP的虚拟主机实践 基于IP的虚拟主机在生产环境中的应用比较少见,因此,这里的内容读者了解即可。 当然搞会了最好,其实很简单。 1.增加IP 如果要配置基于IP的虚拟主机,就需要每个虚拟...
  • apache的虚拟主机配置

    2018-08-09 20:09:05
    Apache虚拟主机配置 在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录。Apache虚拟主机配置有3中方法:基于IP配置、基于域名配置和基于端口配置,...
  • Nginx的虚拟主机配置

    2018-08-28 19:13:02
    Nginx虚拟主机配置有三种方式: ①基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站 ②基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台 ③基于ip的虚拟...
  • LAMP虚拟主机配置(基于域名的虚拟主机)
  • 虚拟主机配置文件

    2019-04-30 11:56:33
    #虚拟主机配置文件 <VirtualHost *:80> #绑定的主域 ServerName localhost #绑定的子域名 ServerAlias www.bookstore.com #网站主目录 DocumentRoot /www/web/yuntong_interface/ #日志路径配置(如果没有,请...
  • apache 虚拟主机配置

    2018-10-26 21:00:03
    apache 监听一个或多个端口时均可进行虚拟主机配置 httpd.conf 为apache 的主配置文件,可配置监听的端口,主目录,设置目录权限,及其他功能(还不太了解) 端口配置 #Listen 12.34.56.78:80 可配置外网网址,或...
  • Nginx虚拟主机配置

    2013-07-09 16:38:38
    Nginx的虚拟主机配置 什么是虚拟主机 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的I
  • (1)基于IP地址的虚拟主机配置  Listen 80    DocumentRoot /www/example1  ServerName www.example1.com      DocumentRoot /www/example2  ServerName www.example2.org    (2) 基于IP和多...
  • Nginx虚拟主机配置与日志管理

    千次阅读 2019-05-15 13:07:27
    Nginx虚拟主机配置与日志管理 虚拟主机配置 配置文件解读,分析nginx.conf配置文件 #开启进程数 <=CPU数 设置超过CPU数无效 worker_processes 1; #错误日志保存位置 #error_log logs/error.log; #error_log...
  • TOMCAT虚拟主机配置  在tomcat/conf/server.xml 内部添加虚拟主机   为虚拟主机配置应用  (1)、在tomcat/conf/server.xml //添加应用配置    其中docBase指定web应用的真实路径(资源的真实硬盘路径),path...
  • Apache的虚拟主机配置

    2016-03-15 16:35:05
    修改Apache的虚拟主机配置文件httpd-vhosts.conf,在文件的最后加上如下的代码: NameVirtualHost *:80  ServerName a.com  DocumentRoot "E:\xampp\htdocs\a"  ServerName b.com  ...
  • Nginx教程(二) Nginx虚拟主机配置

    万次阅读 2016-04-26 22:18:40
    Nginx教程(二) Nginx虚拟主机配置 1 虚拟主机管理 1.1 Nginx管理虚拟主机 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以是一个独立...
  • Linux 基于端口的虚拟主机配置

    千次阅读 2017-10-26 21:23:24
    基于端口的虚拟主机配置
  • apache虚拟主机配置

    2013-03-15 11:46:26
    apache虚拟主机配置 1.启用 httpd-vhosts.conf  在 httpd.conf文件中 # Virtual hosts 虚拟主机 Include conf/extra/httpd-vhosts.conf 启用 2.在httpd-vhosts.conf文件中做配置 路径conf/extra/httpd-...
  • 基于ip的虚拟主机配置 基于域名的虚拟主机配置 代理tomcat虚拟主机 关于虚拟主机的概念,在之前的博客中有讲到,这里不再阐述,请参考Linux笔记(59)——apache虚拟主机配置基于ip的虚拟主机配置大家应该都知道...
  • XAMPP虚拟主机配置

    千次阅读 2013-09-13 14:06:37
    XAMPP有时候你需要一些顶级域名访问方式来访问你本地的项目也就是虚拟主机配置,这时候就需要配置虚拟主机,给你的目录绑定一个域名,实现多域名绑定访问。 在Mac 下一直使用 MAMP 搭建本地 php 环境,因为...
  • 一、Nginx虚拟主机 什么是nginx虚拟主机 ...Nginx的三种虚拟主机配置 1.基于域名的虚拟主机 a.创建目录文件 [root@localhost ~]# mkdir -p /data/sanjin/basic [root@localhost ~]# chown -R nginx:nginx /data/sanj

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,793
精华内容 8,317
关键字:

虚拟主机配置