Nginx配置之基于域名的虚拟主机

1、配置好DNS解析

[root@server ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.2 (Santiago)
[root@server ~]# uname -r
2.6.32-220.el6.i686
[root@server ~]# yum install bind* -y
[root@server ~]# vim /etc/named.conf
[root@server ~]# cat /etc/named.conf

[plain]

  1. options {  
  2. listen-on port 53 { any; };  
  3. listen-on-v6 port 53 { any; };  
  4. directory "/var/named";  
  5. dump-file "/var/named/data/cache_dump.db";  
  6. statistics-file "/var/named/data/named_stats.txt";  
  7. memstatistics-file "/var/named/data/named_mem_stats.txt";  
  8. allow-query { any; };  
  9. recursion yes;  
  10.   
  11. dnssec-enable yes;  
  12. dnssec-validation yes;  
  13. dnssec-lookaside auto;  
  14.   
  15. /* Path to ISC DLV key */  
  16. bindkeys-file "/etc/named.iscdlv.key";  
  17. };  
  18.   
  19. logging {  
  20. channel default_debug {  
  21. file "data/named.run";  
  22. severity dynamic;  
  23. };  
  24. };  
  25.   
  26. zone "." IN {  
  27. type hint;  
  28. file "named.ca";  
  29. };  
  30.   
  31. zone "sxkeji.com.cn" IN {  
  32. type master;  
  33. file "sxkeji.com.cn.zone";  
  34. };  

[root@server ~]# cp /var/named/named.localhost /var/named/sxkeji.com.cn.zone
[root@server ~]# vim /var/named/sxkeji.com.cn.zone
[root@server ~]# cat /var/named/sxkeji.com.cn.zone

[plain]

  1. $TTL 1D  
  2. @   IN SOA  sxkeji.com.cn rname.invalid. (  
  3.                     0   ; serial  
  4.                     1D  ; refresh  
  5.                     1H  ; retry  
  6.                     1W  ; expire  
  7.                     3H )    ; minimum  
  8.     NS  @     
  9. @   A   192.168.10.199    
  10. www A       192.168.10.199    
  11. mail    A       192.168.10.199    

[root@server ~]# service named restart

测试DNS解析是否成功
[root@server ~]# host www.sxkeji.com.cn
www.sxkeji.com.cn has address 192.168.10.199
[root@server ~]# host mail.sxkeji.com.cn
mail.sxkeji.com.cn has address 192.168.10.199
[root@server ~]#

2、配置Nginx虚拟主机
[root@server ~]# vim /usr/local/nginx/conf/nginx.conf
[root@server ~]# grep -vE "#|^$" /usr/local/nginx/conf/nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    
    }
    server {
        listen       80;
        server_name  mail.sxkeji.com.cn;
        location / {
            root   /usr/local/nginx/html/mail.sxkeji.com;
            index  index.html index.htm;
        }
    }

    include /usr/local/nginx/conf/vhosts/sxkeji.conf;

#include这里是模块化的,把虚拟主机独立成一个配置文件

#上面斜体server部分是在主配置文件中直接实现虚拟主机
}
[root@server ~]# cat /usr/local/nginx/conf/vhosts/sxkeji.conf #vhosts目录需要自己建立,主页目录也是需要自己建立的

[plain]

  1. server {  
  2. listen 80;  
  3. server_name www.sxkeji.com.cn;  
  4. access_log logs/sxkeji.com.log;  
  5.   
  6. location / {  
  7. index index.html;  
  8. root /usr/local/nginx/html/sxkeji.com;  
  9. }  
  10. }  

[root@server ~]#

3、测试是否成功
[root@server ~]# kill -HUP `cat /usr/local/nginx/logs/nginx.pid` #重启nginx
[root@server ~]# vim /usr/local/nginx/html/sxkeji.com/index.html

[root@server ~]# vim /usr/local/nginx/html/mail.sxkeji.com/index.html

[root@server ~]# cat /usr/local/nginx/html/mail.sxkeji.com/index.html
mail.sxkeji.com.cn
[root@server ~]# cat /usr/local/nginx/html/sxkeji.com/index.html

www.sxkeji.com.cn
[root@server ~]# elinks --dump 127.0.0.1
hello!
[root@server ~]# elinks --dump mail.sxkeji.com.cn
mail.sxkeji.com.cn
[root@server ~]# elinks --dump www.sxkeji.com.cn

www.sxkeji.com.cn

PS:Kumu的博文吧,nice!转给我做做实验哈,呵呵!

      reference

时间: 2024-10-14 23:20:37

Nginx配置之基于域名的虚拟主机的相关文章

如何编写安装配置httpd服务基于域名的虚拟主机脚本

编写安装配置httpd服务基于域名的虚拟主机脚本 要求: 1.自动完成安装,基本配置 2.通过提示输入域名.网站根目录.等信息完成虚拟主机的添加工作 #!/bin/bash service httpd stop &> /dev/null conf="/usr/local/apache/conf/httpd.conf" vhostconf="/usr/local/apache/conf/extra/httpd-vhosts.conf" bin="

本地机apache配置基于域名的虚拟主机详解_php技巧

1.打开apache的httpd.conf文件,找到# Virtual hosts#Include conf/extra/httpd-vhosts.conf这一段把Include conf/extra/httpd-vhosts.conf前面的"#"去掉. 2.修改位于(win7)c:/windows/system32/drivers/etc/目录下的hosts文件增加一段:127.0.0.1    x.acme.com(你用来访问的域名) 3.我用的是wamp包,所以到c:/wamp/

Nginx配置SSL(https)虚拟主机的例子

Nginx 的配置文件 111cn.net.conf: server {    listen 80;    server_name 111cn.net;    rewrite ^(.*)$ https://$host$1 permanent; } server {    listen 443;    server_name 111cn.net;    ssl on;    ssl_certificate     /www/cert/111cn.net_bundle.crt;    ssl_cer

apache虚拟主机配置-配置基于ip的虚拟主机

问题描述 配置基于ip的虚拟主机 这个问题该如何解决啊?求教...先谢过了... 解决方案 配置apache基于ip的虚拟主机:Apache基于IP的虚拟主机本地配置基于ip地址的虚拟主机的配置 解决方案二: 按照书上的命令打的,不知道为何会出现这种情况,我用的是centos7.

服务器、阿帕奇-如何配置基于IP的虚拟主机

问题描述 如何配置基于IP的虚拟主机 怎么在阿帕奇服务器 配置基于IP的虚拟主机,配置文件该怎么写? 解决方案 http://zhidao.baidu.com/link?url=vm_Aygd2FHYeWf5cUqzZKV3fakn7c-HLbk6qGmyTzj1I3x9vHTbTh7wCkQ38fshRdXN2zm1YaCm1wFDy73Bitj1i7IGOdLWK23Oek7oAKKy 解决方案二: 12345678910

apache服务器一个ip(如:127.0.0.1)和多个域名(虚拟主机)的绑定_Linux

今天在学习PHP时,有这样的一个需求:一个ip(如:127.0.0.1)和多个域名(虚拟主机)绑定,以下是我的解决方案: 解决方案一:通过端口来区分不同的虚拟主机 ①按照绑定一个站点的方法做好准备 1. 先开发好自己的网站(d:/myblog(存放在D盘的myblog目录下)) 2. 配置httpd.conf文件(存放在apache安装目录的conf文件夹中),启用httpd-vhosts.conf(把第二行前面的#号去掉即可). 3. 配置httpd-vhosts.conf文件(存放在apac

基于IP和基于名字的虚拟主机设置

http://www.aliyun.com/zixun/aggregation/14417.html">Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一.Apache取自"a patchy server"的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能.新的特性.修改原来的缺陷.Apache的特点是简单.速度快.性能稳定,并可做代理服务器来使用. 本来它只用于小型或试验Internet网络,后

域名-apache虚拟主机配置无效,直接跳回根目录的原因是什么?

问题描述 apache虚拟主机配置无效,直接跳回根目录的原因是什么? 使用的是apache2.4.9,将httpd-vhost文件里的模板复制一份更改后发现, 域名访问全部跳回网站根目录,这是什么原因? 解决方案 Include "conf/extra/httpd-vhosts.conf" 解决方案二: Apache 虚拟主机 VirtualHost 配置

Nginx系列教程:LNMP多用户虚拟主机方案

A. 特点1. 高效.内存使用少.2. 权限分离,用户间互不干扰. B. 应用程序说明Nginx : 事件驱动的 Web 服务器,采用模块化设计,小巧.高效.PHP-CGI : PHP的CGI接口版本(本文使用FastCGI高效接口). C. 整个架构的简单说明Nginx 处理所有的 Web 请求,它将 PHP 的请求 Match 出,发送给上游服务器处理,这里的上游服务器就是 PHP-CGI.PHP-CGI 工作在 FastCGI 模式,它侦听着一个地址端口(或 Unix socket文件,建