草庐IT

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

凌激冰 2023-03-28 原文
 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对应多个域名站点,本实验以这种方式为主进行讲解。

一、创建站点目录,主页、权限

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

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

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

三、编辑网站www1.rsyslog.orgserver配置文件

  1. [root@rhel6u3-7 ~]# cd /usr/local/nginx/server/ 
  2. [root@rhel6u3-7 server]# vim www1.rsyslog.org 
  3. server { 
  4.      listen       80; 
  5.      server_name  www1.rsyslog.org; 
  6.  
  7.       location / { 
  8.             root   sites/www1; 
  9.             index  index.html index.htm; 
  10.         } 
  11.      location /status {  // 查看nginx当前的状态情况,需要模块 “--with-http_stub_status_module”支持 
  12.                 stub_status on; 
  13.                 access_log /usr/local/nginx/logs/www1_status.log; 
  14.                 auth_basic "NginxStatus"; } 
  15.     } 

四,在DNS的区域文件中添加两条A记录指向网站主机名

有关DNS搭建及配置请参看http://dreamfire.blog.51cto.com/418026/1091943

  1. //在DNS的区域文件中添加两个网站的A记录 
  2. www             A       192.168.100.107 
  3. www1            A       192.168.100.107 
 

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

 

  1. [root@rhel6u3-7 server]# /etc/rc.d/init.d/nginx restart 
  2. nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok 
  3. nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful 
  4. Stopping nginx:                                           [  OK  ] 
  5. Starting nginx:                                            [  OK  ] 
  6. [root@rhel6u3-2 ~]# /etc/rc.d/init.d/iptables stop 
  7. [root@rhel6u3-2 ~]# 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

有关Nginx实战基础篇三 Nginx上虚拟主机的实现过程的更多相关文章

  1. ruby-on-rails - 如何优雅地重启 thin + nginx? - 2

    我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server

  2. ruby - 如何根据特征实现 FactoryGirl 的条件行为 - 2

    我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden

  3. ruby - 即使失败也继续进行多主机测试 - 2

    我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

  4. ruby - 从 Ruby 中的主机名获取 IP 地址 - 2

    我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge

  5. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  6. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  7. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  8. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  9. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  10. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

随机推荐