linux环境apache多端口配置虚拟主机的方法深入介绍

admin3年前主机评测48

默认情况下,linux上apache使用的
默认文档目录是:/var/www
默认端口是:80
如果想发布自己的一个系统资源目录,可以使用下面的方法,执行如下命令:
(1)添加监听端口
#cd /etc/apache2
#vim ports.conf
文件添加:
NameVirtualHost *:8000
Listen 8000

(2)配置虚拟目录
#cd /etc/apache2/sites-available
#cp default default-me
#vim default-me
文件内容如下:

复制代码 代码如下:


<VirtualHost *:8000 >
    ServerAdmin webmaster@localhost
    DocumentRoot /wwwroot
    <Directory / >
Options FollowSymLinks
AllowOverride None
    </Directory>
    <Directory /wwwroot/ >
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
    </Directory>
    ErrorLog /var/log/apache2/error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog /var/log/apache2/access.log combined
</VirtualHost>


粗体部分是关键点。
(3)发布站点

# ln -s /etc/apache2/sites-available/default-me /etc/apache2/sites-enabled/001-default
(4)重启服务
#/etc/init.d/apache2 restart
(5)测试
localhost:8000/
如果能够正常访问就说明配置正确了。

复制代码 代码如下:


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:httpd.apache.org/docs/2.2/vhosts/ >
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:81
NameVirtualHost *:82
NameVirtualHost *:83
NameVirtualHost *:84
NameVirtualHost *:85
NameVirtualHost *:86
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:81>
ServerAdmin jsw7001@hotmail
DocumentRoot D:/AppServ/www/www-nongye
ServerName dede
ErrorLog D:/AppServ/www/www-nongye/errornongye.log
CustomLog logs/dummy-host2.appservnetwork-access_log common
</VirtualHost>
<VirtualHost *:82>
<Directory "D:/AppServ/www-chinaec" >
Options FollowSymLinks
#Deny from all
Allow from all
</Directory>
ServerAdmin jsw7001@hotmail
DocumentRoot D:/AppServ/www-chinaec
ServerName dede
DirectoryIndex index.php index
ErrorLog D:/AppServ/www-chinaec/errornongjiale.log
CustomLog logs/dummy-host2.appservnetwork-access_log common
</VirtualHost>
<VirtualHost *:83>
ServerAdmin jsw7001@hotmail
DocumentRoot D:/AppServ/www/www-05110
ServerName dede
ErrorLog D:/AppServ/www/www-05110/errornong05110.log
CustomLog logs/dummy-host2.appservnetwork-access_log common
</VirtualHost>
<VirtualHost *:84>
ServerAdmin jsw7001@hotmail
DocumentRoot D:/AppServ/www/wordpress
ServerName dede
ErrorLog D:/AppServ/www/wordpress/errornongwordpress.log
CustomLog logs/dummy-host2.appservnetwork-access_log common
</VirtualHost>
<VirtualHost *:85>
ServerAdmin jsw7001@hotmail
DocumentRoot D:/AppServ/www/magento
ServerName dede
ErrorLog D:/AppServ/www/magento/errormagento.log
CustomLog logs/dummy-host2.appservnetwork-access_log common
</VirtualHost>
<VirtualHost *:86>
ServerAdmin jsw7001@hotmail
DocumentRoot D:/AppServ/www/magento1322
ServerName dede
ErrorLog D:/AppServ/www/magento1322/errormagento1322.log
CustomLog logs/dummy-host2.appservnetwork-access_log common
</VirtualHost>
<VirtualHost *:88>
ServerAdmin jsw7001@hotmail
DocumentRoot D:/AppServ/www/www-nongjiale
ServerName dede
ErrorLog D:/AppServ/www/www-nongjiale/errornongjiale.log
CustomLog logs/dummy-host2.appservnetwork-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.x
DocumentRoot "C:/Apache2.2/docs/dummy-host2.x"
ServerName dummy-host2.x
ErrorLog "logs/dummy-host2.x-error.log"
CustomLog "logs/dummy-host2.x-access.log" common
</VirtualHost>


1、单域名单端口设置
如:abc 默认用80访问

特别说明,apache的配置默认都在安装目录下的conf目录里面
或者是/etc/apache2
不过一定要注意,listen.conf文件中端口监听是否开启
如下图,表示已经开启80端口监听

直接默认
1、单域名单端口设置

如:abc 默认用80访问

特别说明,apache的配置默认都在安装目录下的conf目录里面
或者是/etc/apache2
不过一定要注意,listen.conf文件中端口监听是否开启
如下图,表示已经开启80端口监听
直接默认修改default-server.conf

这个配置最好简单
安装好了,之后,默认已经能够使用了,只是要把它修改成你需要的域名及访问路径罢了。

给一个标准配置吧

复制代码 代码如下:


DocumentRoot "/srv/www/htdocs"
#
# Configure the DocumentRoot
#
<Directory "/srv/www/htdocs">
# 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
# httpd.apache.org/docs-2.2/mod/core#options
# for more information.
Options None
# 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 None
# Controls who can get stuff from this server.
Order allow,deny
Allow from all
</Directory>


2、单域名多端口设置

复制代码 代码如下:


<Directory "/srv/www/htdocs/bbs">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
<Directory "/srv/www/htdocs/">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
NameVirtualHost   *:80
NameVirtualHost   *:81
<VirtualHost *:80>
  DirectoryIndex  index index.php
  ServerName   "abc "
  DocumentRoot   "/srv/www/htdocs/" 
  </VirtualHost>
<VirtualHost *:81>
  DirectoryIndex   index.php
    ServerName   "abc:81 "
  DocumentRoot   "/srv/www/htdocs/bbs/" 
  </VirtualHost>


3、多域名多端口设置

复制代码 代码如下:


<Directory "/srv/www/htdocs/btc">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
<Directory "/srv/www/htdocs/bbs">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
<Directory "/srv/www/htdocs/">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
NameVirtualHost   *:80
NameVirtualHost   *:81
<VirtualHost *:80>
  DirectoryIndex  index index.php
  ServerName   "abc "
  DocumentRoot   "/srv/www/htdocs/" 
  </VirtualHost>
<VirtualHost *:80>
  DirectoryIndex  index index.php
  ServerName   "btc "
  DocumentRoot   "/srv/www/htdocs/btc" 
  </VirtualHost>
<VirtualHost *:81>
  DirectoryIndex   index.php
    ServerName   "abc:81 "
  DocumentRoot   "/srv/www/htdocs/bbs/" 
  </VirtualHost>


需要注意的问题是,多端口监听,一定要注意listen.conf文件,是否开启了相应端口。

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

winxp apache用php建本地虚拟主机的方法

1 在C:\WINDOWS\system32\drivers\etc\hosts添加如下代码:127.0.0.1 localhost127.0.0.1 x.test x.test1 x.test2注:...

apache启动失败怎么办 快速解决Win10系统apache启动失败的方法教程

很多朋友在建网站的时候都会事先在本地搭建好服务器,然后再传到网站上。但是在本地计算机启动Apache的时候,经常会遇到Apache启动失败的提示,Apache启动失败如何解决呢?今天小编来教您快速解决...

解决宝塔面板nginx/apache防火墙后无法启动

宝塔面板是最好用的服务器管理面板,不过有些插件是需要收费的,免费版的Nginx防火墙的功能比收费版Nginx防火墙要差一些,能有钱是更好的,不管是开心版还是正版,我只要安装了nginx防火墙以后,ng...

如何配置apache虚拟主机的实例小结

1、基于ip地址的虚拟主机 复制代码 代码如下:Listen 80<VirtualHost 172.20.30.40>    DocumentRoo...

WampServer下安装多个版本的PHP、mysql、apache

今天,我在调试一套php程序的时候,该程序中使用的某些函数在低版本中无法使用,所以只能在搞个高版本的php。作为web开发人员,在机器上安装不同版本的php,apache和mysql有时是很有必要的。...

apache下支持asp.net的实现方法

1.安装framework(具体版本可以自己选,建议装netframework3.5sp1)2.安装mod_aspdotnet.so,这个支持apache2.2的不好找,附上mod_aspdotnet...