`

apache nginx 多站点部署

    博客分类:
  • webs
阅读更多
【基本介绍】
apache 和 nginx 多站点部署,一般情况有基于端口,基于域名,基于IP。


【基于域名】
每个虚拟主机的站点放在不同目录中,并配置不同的域名
#第一个虚拟主机
  server{
    listen 80 ; #监听的端口
    server_name aaa.domain.com;  #主机名称
    access_log logs/aaa.domain.com.access.log combined ;    #访问日志文件存放路径
    location /
    {
        index index.html index.htm;
        root /data0/htdocs/aaa.domain.com;
    }
  }
  #第二个虚拟主机
  server{
    listen 80;
    server_name www.domain.com domain.com *.domain.com;
    access_log logs/bbb.domain.com.access.log bombined ;
    location /
    {
        index index.html index.htm ;
        root /data0/htdocs/domain.com;
    }
  }
}


apache:
NameVirtualHost *:80
<VirtualHost 第一个域名>
DocumentRoot /var/www/html/website1
ServerName 第一个域名</VirtualHost>

<VirtualHost 第二个域名>
DocumentRoot /var/www/html/website2
ServerName 第二个域名</VirtualHost>

<VirtualHost 第三个域名>
DocumentRoot /var/www/html/website3
ServerName 第三个域名</VirtualHost>

【基于端口号】
基于端口号的虚拟主机是通过给每个server配置一个不同的监听端口实现的

server{
    listen 80 ; #监听的端口
    access_log logs/aaa.domain.com.access.log combined ;
    location /
    {
        index index.html index.htm;
        root /data0/htdocs/aaa.domain.com;
    }
  }
  #第二个虚拟主机
  server{
    listen 88;   #监听不同的端口
    access_log logs/bbb.domain.com.access.log bombined ;
    location /
    {
        index index.html index.htm ;
        root /data0/htdocs/domain.com;
    }
  }
}

apache:
<VirtualHost ip:80>
DocumentRoot /var/www/html/website1
ServerName localhost:80</VirtualHost>

<VirtualHost ip:81>
DocumentRoot /var/www/html/website2
ServerName localhost:81</VirtualHost>

<VirtualHost ip:82>
DocumentRoot /var/www/html/website3
ServerName localhost:82</VirtualHost>

【基于ip】-> 未测试
IP别名背后的概念很简单:可以在一块物理网卡上绑定多个IP地址.这样就能够在使用单一网卡的同一服务器上运行多个基于IP的虚拟主机.

如果要在eth0网卡设备上添加两个IP别名192.168.8.43和192.168.8.44可以通过以下ifconfig 和route命令来进行:
/sbin/ifconfig eth0:1 192.168.8.43 broadcast 192.168.8.255 netmask 255.255.255.0 up
/sbin/route add -host 192.168.8.43 dev eth0:1
/sbin/ifconfig eth0:2 192.168.8.44 broadcast 192.168.8.255 netmask 255.255.255.0 up
/sbin/route add -host 192.168.8.44 dev eth0:2
配置后如果能从另外一台服务器ping 192.168.8.43和192.168.8.44 ,如果能ping通,则证明配置无误.

但是通过ifconfig 和route配置的IP别名在服务器重启后会消失.不过可以将这两条命令添加到/etc/rc.local文件中,让系统开机时自动运行,
vi /etc/rc.local在文件末尾增加以下内容,然后保存即可.
/sbin/ifconfig eth0:1 192.168.8.43 broadcast 192.168.8.255 netmask 255.255.255.0 up
/sbin/route add -host 192.168.8.43 dev eth0:1
/sbin/ifconfig eth0:2 192.168.8.44 broadcast 192.168.8.255 netmask 255.255.255.0 up
/sbin/route add -host 192.168.8.44 dev eth0:2

分别对192.168.8.43,192.168.8.44,192.168.8.45三个IP配置三个纯静态HTML支持的虚拟主机
http{
  #第一个虚拟主机
  server{
    listen 192.168.8.43:80;     #监听的IP和端口
    server_name 192.168.8.43;     #主机名称
    access_log logs/sever1.access.log combined ;     #访问日志文件存放路径
    location /
    {
      #默认首页文件,顺序从左到右,如果找不到index.html,则找index.htm
      index index.html index.htm
      #HTML网页文件存放的目录
      root /data0/htdocs/server1;
    }
  }
  #第二个虚拟主机
  server{
    listen 192.168.8.44:80;
    server_name 192.168.8.44;
    access_log logs/sever2.access.log combined ;
    location /
    {
      #默认首页文件,顺序从左到右,如果找不到index.html,则找index.htm
      index index.html index.htm
      #HTML网页文件存放的目录
      root /data0/htdocs/server2;
    }
  }



【参考】
http://blog.csdn.net/guzhouke19910920/article/details/7992498
http://blog.csdn.net/winter13292/article/details/8364620
http://blog.openlg.net/index.php/archives/266
http://blog.csdn.net/winter13292/article/details/8364620
分享到:
评论

相关推荐

    apache与nginx区别

    - **Last.fm**:作为一个大型音乐社区网站,Last.fm成功部署了Nginx作为其Web服务器,有效地支持了高并发访问需求。 - **其他知名站点**:包括Facebook、Twitter等在内的许多知名互联网公司都选择了Nginx作为其核心...

    apache与nginx安装使用

    在实际部署中,两者也可以结合使用,形成“Apache后端处理,Nginx前端反向代理”的架构,以充分利用各自优势。 以上就是关于Apache和Nginx的安装与简单配置介绍。具体使用时,还需要根据实际需求进行调整,并注意...

    LVS+keeplived+nginx+apache

    最后,为了实现用户多站点的运行环境,还需要设置好相应的域名解析和虚拟主机配置,确保用户网站能够独立运行,而不会相互干扰。 综上所述,实现高可用、高性能的PHP集群是一个涉及多个组件、多环节配置的过程,...

    Nginx+Apache搭建前后端web生产环境

    此外,对于多用户、多站点的管理,Apache的安全性和权限控制比Nginx更加灵活。 在搭建环境中,我们首先需要确保系统的基础软件库是最新的。通过运行`yum update`和`yum -y install`命令,可以安装编译所需的各种...

    Nginx+Tomcat多站点部署的方法

    Nginx+Tomcat多站点部署是一种将Nginx作为反向代理服务器与Tomcat服务器结合,实现多个网站域名指向同一台服务器上不同应用部署的方法。这种架构设计主要利用了Nginx的高性能反向代理功能以及Tomcat作为应用服务器的...

    centos7+Tomcat+MySQL+nginx电子商务站点部署及rsync备份

    ### centos7+Tomcat+MySQL+nginx电子商务站点部署及rsync备份 #### 一、项目说明 本文档旨在提供一套完整的基于CentOS 7操作系统、Tomcat应用服务器、MySQL数据库服务器以及Nginx反向代理服务器的电子商务站点部署...

    Nginx 1.22.0 Windows版本,解压安装。

    在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发...

    实战Nginx:取代Apache的高性能Web服务器 第一章

    Apache通过多线程和多进程方式处理请求,适合复杂的应用场景;Lighttpd在轻量级应用中有很好的表现。 - **配置复杂度**:Nginx配置相对简单直观;Apache配置较为复杂,但功能强大;Lighttpd配置简单,适合快速部署。...

    nginx的七个实验

    安装部署过程中,需要配置Nginx的站点配置文件,确保PHP处理器(如PHP-FPM)的正确集成,并连接到MySQL服务。 2. **Nginx虚拟主机** Nginx的虚拟主机功能允许在同一台服务器上托管多个独立的网站。通过配置不同的...

    实战Nginx取代Apache的高性能WEB服务器

    然而,随着业务需求的增长和技术的发展,越来越多的企业开始考虑将Apache替换为Nginx,以实现更高的性能和服务质量。 #### Nginx与Apache对比 **1. 性能** - **连接处理能力**:Nginx采用异步非阻塞事件驱动模型,...

    实战nginx:取代Apache的高性能web服务器

    Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过四年多了。Igor 将源代码以类BSD许可证的形式发布。自Nginx 发布四年来,Nginx 已经因为它的稳定性、丰富的功能集、 ...

    SSL证书部署Apache服务器、IIS服务器、Nginx服务器、Tomcat服务器文档

    本文将详细讲解如何在四种常见的服务器平台上部署SSL证书:Apache、IIS、Nginx和Tomcat。 1. **Apache服务器安装SSL证书** Apache服务器是开源的Web服务器,使用mod_ssl模块来支持SSL协议。安装步骤如下: - **...

    linux(nginx) + mysql + apache 配置

    在IT行业中,Linux、Nginx、MySQL和Apache(通常简称为LAMP)以及Linux、Nginx、MySQL(LNMP)是两种广泛使用的Web服务器架构。这些组合为开发者提供了强大的平台来部署和运行动态网站和应用程序。接下来,我们将...

    实战nginx.pdf

    2. **虚拟主机**:通过server块实现,可以根据不同的域名或IP地址提供服务,是实现多站点部署的关键。 3. **反向代理**:Nginx可以作为反向代理,将来自客户端的请求转发到后端的应用服务器,如Apache或Node.js,...

    Windows Nginx服务器 1.15.7

    Nginx支持多站点配置,即虚拟主机。通过`server`块,可以为每个域名创建独立的配置,例如: ```nginx server { listen 80; server_name example.com; root /var/www/example.com; location / { try_files $...

    Nginx-笔记1

    【虚拟主机配置】是Nginx的一个重要功能,它允许在一个物理服务器上托管多个独立的网站,每个网站对应不同的域名或IP。通过配置server块,我们可以设定不同站点的根目录、访问控制和重定向规则。 【Location匹配...

Global site tag (gtag.js) - Google Analytics