当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    CentOS系统下Apache配置多域名或多端口映射的方法

    栏目:win服务器问题汇总 时间:2019-11-19 21:20

    前提

    CentOS下Apache默认网站根目录为/var/www/html,假如我默认存了一个CI项目在html文件夹里,同时服务器的外网IP为ExampleIp,因为使用的是MVC框架,Apache需开启重定向功能。

    方法如下

    /etc/httpd/conf/httpd.conf文件配置如下:

    DocumentRoot "/var/www/html/CI"
    <Directory />
     Options FollowSymLinks
     AllowOverride All
    </Directory>
    <Directory "/var/www/html/CI">
    
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important. Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
     Options Indexes FollowSymLinks
    
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    #
     AllowOverride All
    
    #
    # Controls who can get stuff from this server.
    #
     Order allow,deny
     Allow from all
    
    </Directory>

    配置完使用“service httpd restart”重启Apache,那么直接在浏览器里输入http://ExampleIp,就直接映射到/var/www/html/CI文件夹里了

    1、配置多域名映射。假设需要映射www.website1.com和www.website1.com这两个域名,在文档httpd.conf最后添加

    NameVirtualHost *:80
    <VirtualHost *:80>
    DocumentRoot /var/www/html/website1
    ServerName http://www.website1.com 
    </Virtualhost>
    <Directory "/var/www/html/website1">
     Options Indexes FollowSymLinks
     AllowOverride All
     Order allow,deny
     Allow from all
    </Directory>
    <VirtualHost *:80>
    DocumentRoot /var/www/html/website1
    ServerName http://website1.com 
    </Virtualhost>
    <Directory "/var/www/html/website1">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
    <VirtualHost *:80>
    DocumentRoot /var/www/html/website2
    ServerName http://www.website2.com 
    </Virtualhost>
    <Directory "/var/www/html/website2">
     Options Indexes FollowSymLinks
     AllowOverride All
     Order allow,deny
     Allow from all
    </Directory>
    <VirtualHost *:80>
    DocumentRoot /var/www/html/website2
    ServerName http://website2.com 
    </Virtualhost>
    <Directory "/var/www/html/website2">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>

    website1和website2为工程目录.配置完使用“service httpd restart”重启Apache

    2、配置多端口映射。

    2.2、首先需要监听端口,在文档httpd.conf的Listen 80下添加需要监听的端口,举例为8080

    Listen 80
    Listen 8080

    2.2、在文档最后添加端口映射功能

    <VirtualHost ExampleIp:8080>
     DocumentRoot /var/www/html/website3
     ServerName ExampleIp:8080
    </VirtualHost>
    <Directory "/var/www/html/website3">
     Options Indexes FollowSymLinks
     AllowOverride All
     Order allow,deny
     Allow from all
    </Directory>