首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

apache 虚拟主机如何配置[通俗易懂]

apache 虚拟主机如何配置?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 apache虚拟主机就是在apache服务器上配置多个虚拟主机,从而让一个服务器提供多站点的服务实现。通俗来说,就是对同一个服务器上的不同目录进行访问。 Apache基于名字的虚拟主机设置 这种方式,各个虚拟主机共享同一份Apache,因此有CGI程序运行时,安全性也不高。设置这种虚拟主机时,只要为每一个虚拟主机设置类似如下的信息即可,NameVirtualHost 111.222.33.44;在这个IP地址接收虚拟主机的服务 ServerName www.company1.com DocumentRoot /www/company1 ServerNamewww.company2.comDocumentRoot/www/company2 优点:只要一个IP地址就可以提供大量的虚拟主机服务。 缺点:安全性差。维护这些虚拟主机时需要更改配置文件,并且需要重新启动 Apache 进程才能起作用。因此不适合进行大规模的虚拟空间服务。 Apache基于IP地址的虚拟主机设置 首先要在服务器上为每个虚拟主机单独设置一个IP地址。这些IP地址可以通过增加多个网卡或者在一个网卡上设立多个IP地址来完成。有了多个IP地址后,可以采用以下两种方式来设置Apache。 1、为每个网站空间运行一份Apache采用这种方式,每一份Apache程序可以以单独的用户运行,因此各个虚拟主机之间互不影响。设置这种虚拟主机时,只要为每一份Apache设置一套配置文件就可以了,必须使用“Listen”语句,强制每一份Apache仅仅在属于“自己”的IP地址上接收服务请求。 优点:各个虚拟主机之间互不干扰,安全性高。缺点:占用系统资源较多。 2、多个虚拟主机共享同一份 Apache,因此各个虚拟主机之间有一定的影响,尤其是执行CGI程序时,可能会带来一些严重的安全问题。设置这种虚拟主机时,只要为每一个虚拟主机设置类似如下的信息即可 DocumentRoot /home/company1。 优点:占用系统资源比上一种方式少。缺点:安全性低,每个虚拟主机仍然需要占用一个 IP 地址。 当用户对安全性要求较高时,可以使用基于IP地址的虚拟主机方式,并且每一个虚拟主机由单独的Apache进程进行服务。其他情况下,可以根据实际要求来设置虚拟主机服务。 对于SD-WAN虚拟游戏专网来说,只需将需要加速的游戏送入接近其游戏服务器的节点就可以完成游戏的加速和优化。

01
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux apache2配置_apache2.4安装教程

    大家好,又见面了,我是你们的朋友全栈君。 一、安装: ubuntu 及debian 下的apahce 有点特别,如果使用apt-get 方式安装( apt-get install apache2 ) 则安装目录默认在 /etc/apache2 默认log在 /var/log/apache2/ (这个鸟地方让我找了好久) 二、配置文件说明 /etc/apache2/apache2.conf 此为apache2 的主配置文件 具体可参考 http://www.blogjava.net/duanzhimin528/archive/2010/03/05/314564.html /etc/apache2/ports.conf 此为apache2的端口配置文件,此处设置了apache2 需要监听的端口 使用 Linsten port 格式 /etc/apache2/httpd.conf 此为apache2的用户 “主” 配置文件,这里可以直接配置网站目录,也可以只写一些全局网站生效的设置,eg:目录权限。默认为空,即所有内容由虚拟主机配置文件(即单独的网站配置文件)设置。需要注意一点 针对虚拟主机,ServerName 项需要在这里设置(不同的虚拟主机–即网站不同),可以写多个,否则在启动服务器的时候会提示:apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName mods-available mods-enabled sites-available sites-enabled 以上几个目录作用见上文参考: 三、网站配置及多虚拟主机(网站) 此处可以分两种情况:第一 系统默认方式:即按照上面介绍的配置文件更改;第二 自定义修改方式; 假设我们需要添加一个新网站,端口8080 网站目录 /var/www/web_server2 方式一: 1、按照上面的说明配置: apache2.conf 不需要更改; ports.conf 添加 端口监听: NameVirtualHost *:8080 #此行不必须 Listen 8080 httpd.conf 添加 ServerName: ServerName 0.0.0.0:8080 #此处IP地址可以换成域名或者具体地址,ServerName 正常应该放到虚拟主机配置中,但实际测试发现不生效,必须写在这里; 配置虚拟主机(网站): cp sites-available/default sites-available/my_web_server2 #这里将默认的虚拟主机配置拷贝一份为my_web_server2(名字可以任取,建议和主机域名一致,不必和网站目录一致) 修改配置如下: NameVirtualHost *:8080 #此行不必须(默认是写在 ports.conf 中) <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/web_server2 #修改这里为实际网站目录 <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/web_server2/> #修改这里为实际网站目录 Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> …….. enable 网站: a2ensite my_web_server2 #my_web_server2 为sites-available/目录下的虚拟主机配置文件名(之前拷贝复制的) service apache2 reload sudo /etc/init.d/apache2 restart 确认网站启动: ls -l sites-enabled/ 有

    02

    linux apache2配置_装了centos还可以装ubuntu吗

    <1>Ubuntu中Apache的配置文件是//etc/apache2/apache2.conf。Apache在启动时会找到这个文件并自动读取该文件中的配置信息,而其他配置文件则是通过include指令包含进来的,在apache2.conf 中可以看到这些引入行。当然,也可以将所有的配置全放在apache2.conf或者httpd.conf或者其他文件中,Apache这样划分是一种比较好的习惯。 <2>在/etc/apache2目录下,发现了sites-enabled目录,然而还有一个sites-available目录,那么这两个目录到底有什么作用呢?其实,sites-available这个目录包含Apache虚拟主机的配置文件。虚拟主机允许Apache配置多个站点并为每个站点配置不同的参数。而sites-enabled目录的作用是持有/etc/apache2/sites-available目录下文件的链接。当Apache重启后,该目录中包含的站点将会被激活。如果apache上配置了多个虚拟机,每个虚拟机的配置文件都放在sites-available下,那么对于虚拟主机的停用,启动就是非常方便了,操作某个虚拟主机就不用动配置文件了。 <3>在/etc/apache2下还用类似于sites-enabled和sites-available两个目录的mods-available和mods-enabled两个目录,那么这两个目录有何作用呢?其实类似于sites-enabled和sites-available,mods-available这个目录包含模块和模块配置文件,不是所有的模块都有配置文件。比如当apt-get install php5安装了php模块,在这两个目录中就有了php5.load、php5.conf和指向这两个文件的链接。这对于apache开启停用某个模块是非常方便的。 <4>在/etc/apache2目录下,还有一个文件ports.conf,这个文件配置Apache监听的端口 <5>在Ubuntu缺省安装的目录有与其他相比有一点不同。在ubuntu中module和 virtual host的配置都有两个目录,一个是available,一个是enabled,available目录是存放有效的内容,但不起作用,只有用ln 连到enabled过去才可以起作用。

    02

    RabbitMQ详解(二)------消息通信的概念

    说到消息通信,可能我们首先会想到的是邮箱,QQ,微信,短信等等这些通信方式,这些通信方式都有发送者,接收者,还有一个中间存储离线消息的容器。但是这些通信方式和我们要讲的 RabbitMQ 的通信模型是不一样的,比如和邮件的通信方式相比,邮件服务器基于 POP3/SMTP 协议,通信双方需要明确指定,并且发送的邮件内容有固定的结构。而 RabbitMQ 服务器基于 AMQP 协议,这个协议是不需要明确指定发送方和接收方的,而且发送的消息也没有固定的结构,甚至可以直接存储二进制数据,并且和邮件服务器一样,也能存储离线消息,最关键的是 RabbitMQ 既能够以一对一的方式进行路由,还能够以一对多的方式进行广播。

    03

    ubuntu域名服务器配置_linux虚拟主机配置

    part 2: 我是使用thinkPHP框架,只需要保证用户可以访问public目录即可,所以我使用public目录作为web根目录.那么我需要配置虚拟主机,配置步骤如下: 使用命令 sudo vim /etc/apache2/site-available/001-default.conf 新建一个虚拟主机配置文件,这个时候主机配置为空,我们需要添加内容: <VirtualHost 127.0.0.3:80> ServerAdmin webmaster@liu.com DocumentRoot /home/liu/php-workSpace/public <Directory /home/liu/php-workSpace/public> Options ExecCGI FollowSymLinks AllowOverride all allow from all Order allow,deny </Directory> ErrorLog /var/log/apache2/error-liu.com.log </VirtualHost> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet 以上是我的配置,因为我只是需要配置开发环境,所以配置比较简单,下面给出我copy别的大佬的注释: <VirtualHost *自定义端口> # 在ServerName后加上你的网站名称 ServerName www.linyupark.com # 如果你想多个网站名称都取得相同的网站,可以加在ServerAlias后加上其他网站别名。 # 别名间以空格隔开。 ServerAlias ftp.linyupark.com mail.linyupark.com # 在ServerAdmin后加上网站管理员的电邮地址,方便别人有问题是可以联络网站管理员。 ServerAdmin webmaster@linyupark.com # 在DocumentRoot后加上存放网站内容的目录路径(用户的个人目录) DocumentRoot /home/linyupark/public_html <Directory /home/linyupark/public_html> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Allow from all </Directory> ErrorLog /home/linyupark/public_html/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /home/linyupark/public_html/access.log combined ServerSignature On </VirtualHost> 代码的出处已经不可考究,我看见很多地方都有相同的代码,所以我就不放出来源链接误导别人了. 根据自己的需求修改就可以啦,最后使用Ctrl+c,然后输入: :wq 保存我们的配置. 到这里的时候还没有结束,这里还需要建立一个软连接,链接到/etc/apache2/sites-enabled目录 使用命令: sudo ln -s /etc/apache2/sites-available/001-default.conf /etc/apache2/sites-enabled/001-default.conf 接下来就可以重启Apache服务了,不过我们在重启之前最好检查一下我们的配置是否正确,使用命令: sudo apache2ctl configtest 如果没报错,那么我们可以使用命令: sudo /etc/init.d/apache2 -k restart 或者 sudo service apache2 restart 这是当Apache服务安装为系统服务的时候使用的重启命令

    03

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券