wsaer 发表于 2018-11-8 06:59:42

Nginx实战基础篇三 Nginx上虚拟主机的实现过程

  Nginx实战基础篇三 Nginx上虚拟主机的实现过程
版权声明:
本文遵循“署名非商业性使用相同方式共享 2.5 中国大陆”协议
您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品
您可以根据本作品演义自己的作品
您必须按照作者或者许可人指定的方式对作品进行署名。
您不得将本作品用于商业目的。
如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。
对任何再使用或者发行,您都必须向他人清楚地展示本作品使用的许可协议条款。
如果得到著作权人的许可,您可以不受任何这些条件的限制。
Designed by 小诺(www.rsyslog.org dreamfire.blog.51cto.com)
参考博文
Nginx实战基础篇一源码包编译安装部署web服务器http://dreamfire.blog.51cto.com/418026/1140965
Nginx实战基础篇二 Nginx主配置文件参数详解http://dreamfire.blog.51cto.com/418026/1140995
  

利用虚拟主机技术,可以把一台真正的主机分成许多"虚拟"的主机,每一台虚拟主机都具有独立的域名和IP地址,具有完整的Internet服务器(www, FTP,email)功能。 虚拟主机之间完全独立,在外界看来,每一台虚拟主机和一台独立的主机完全一样。效果一样但费用却大不一样了。由于多台 虚拟主机 共享一台真实主机的资源,每个 虚拟主机用户承受的硬件费用、网络维护费用、通信线路的费用均大幅度降低,Internet真正成为人人用得起的网络!
目前生产环境中,大多数服务提供商都采用了虚拟主机的方式为客户提供web服务,虚拟主机包括基于IP的虚拟主机,基于端口的虚拟主机和基于名称的虚拟主机,由于目前最流行的是基于名称的虚拟主机,也就是可以通过相同端口、相同IP对应多个域名站点,本实验以这种方式为主进行讲解。
一、创建站点目录,主页、权限

  


[*]# uname -r//查看系统内核版本号 2.6.32-279.el6.i686 # cat /etc/redhat-release //查看系统版本号 Red Hat Enterprise Linux Server>
[*]# pwd
[*]/usr/local/nginx
[*]# mkdir serversites//创建server字段配置文件目录为server,站点主目录为sites
[*]# mkdir sites/wwwsites/www1//在站点主目录中创建子站点目录
[*]# echo "This is www.rsyslog.org" >sites/www/index.html//创建测试主页
[*]# echo "This is www1.rsyslog.org" >sites/www1/index.html //创建测试主页
[*]# chown nginx. server/sites/-R //设置目前的属主和属组为nginx
  

二、编辑nginx主配置文件,并添加server字段以及location字段,两种方式添加。设置www.rsyslog.org和www1.rsyslog.org 两台虚拟主机
  


[*]# vim conf/nginx.conf
[*]……… //在http模块中添加server字段,其次在server字段中添加location字段即可
[*]    server {
[*]      listen       80;   //设置虚拟主机监听端口为80
[*]      server_namewww.rsyslog.org;//设置虚拟主机域名
[*]
[*]      location / {
[*]            root   sites/www;//设置虚拟主机主目录相对路径
[*]            indexindex.html index.htm; //设虚拟主机默认主页
[*]      }
[*]location /status {// 查看nginx当前的状态情况,需要模块 “--with-http_stub_status_module”支持
[*]                stub_status on;
[*]                access_log /usr/local/nginx/logs/www_status.log; //设置日志存放位置并命名
[*]                auth_basic "NginxStatus"; }
[*]
[*]}
[*]include /usr/local/nginx/server/www1.rsyslog.org;//设置include语句指向www1站点server字段配置文件位置
[*]……..
  

三、编辑网站www1.rsyslog.org的server配置文件
  


[*]# cd /usr/local/nginx/server/
[*]# vim www1.rsyslog.org
[*]server {
[*]   listen       80;
[*]   server_namewww1.rsyslog.org;
[*]
[*]      location / {
[*]            root   sites/www1;
[*]            indexindex.html index.htm;
[*]      }
[*]   location /status {// 查看nginx当前的状态情况,需要模块 “--with-http_stub_status_module”支持
[*]                stub_status on;
[*]                access_log /usr/local/nginx/logs/www1_status.log;
[*]                auth_basic "NginxStatus"; }
[*]    }
  

四,在DNS的区域文件中添加两条A记录指向网站主机名
有关DNS搭建及配置请参看http://dreamfire.blog.51cto.com/418026/1091943
  


[*]//在DNS的区域文件中添加两个网站的A记录
[*]www             A       192.168.100.107
[*]www1            A       192.168.100.107
  


五、启动nginx服务,为了方便测试关闭防火墙并将selinux设置为premissive模式
  


[*]# /etc/rc.d/init.d/nginx restart
[*]nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
[*]nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[*]Stopping nginx:                                          
[*]Starting nginx:                                          
[*]# /etc/rc.d/init.d/iptables stop
[*]# setenforce 0
  


  六、通过windows系统测试,首先将网卡DNS设置为192.168.100.102,然后通过nslookup命令解析是否成功。


  通过IE浏览器访问




在网址后面加上status可以查看网站目前的运行状态







Nginx实战基础篇PDF高清下载系列:

  

  Nginx实战基础篇一:源码包编译安装部署web服务器
  http://down.51cto.com/data/688744
  Nginx实战基础篇二:Nginx主配置文件参数详解
  http://down.51cto.com/data/688835
  Nginx实战基础篇三:Nginx上虚拟主机的实现过程
  http://down.51cto.com/data/688836
  Nginx实战基础篇四:通过https方式安全访问web服务器
  http://down.51cto.com/data/689197
  Nginx实战基础篇五:Nginx上实现用户名密码认证访问
  http://down.51cto.com/data/694934
  Nginx实战基础篇六:通过源码包编译安装部署LNMP搭建Discuz论坛
  http://down.51cto.com/data/694932




页: [1]
查看完整版本: Nginx实战基础篇三 Nginx上虚拟主机的实现过程