不想用kill命令控制nginx也行,但是其他命令没有信号的命令丰富。重读配置文件不用重启nginx(软重启)。完全可以使用stop(强制退出)、quick(优雅退出)、reopen(重新打开日志)、reload(重新载入配置文件)

./sbin/nginx -s reload==kill -HUP `cat logs/nginx.pid`       重读配置文件不用真正重启(软重启)

./sbin/nginx -s reopen==kill -USR1 `cat logs/nginx.pid`    重读日志文件,完全相当于使用信号量USR1


虚拟主机的管理

其实nginx的配置段非常的简单,比apache还要简单。好的服务器都有4块CPU,每块CPU是8核,最多有32个核工作。比如我的是4核PC,所以把worker_processes设置为4,再多意义也不大。后面还要讲nginx的优化,你光把worker_connections改的太大意义不大,它还需要和系统的一些参数配合才行。比较强的服务器有4块CPU每块CPU8核,有32个processes,每个process1024个connections,一共有三万多个connections。一台服务器很轻松就能搞下来。

HTTP段,意味着这一段是配置HTTP服务器的主要的段。当成HTTP服务器/SMTP服务器(邮件服务器)/FTP服务器都可以。但是我们现在用的是HTTP的功能,现在的重心在于HTTP这一大段里面。基于域名/ip/端口的虚拟主机分别做测试。

最少写6*6=36行就可以了。监听哪一个端口/域名,请求来了映射到哪一个目录上去来响应请求。z.com这个域名好,但是不属于我。相对路径是指相对于nginx的根目录。

z.com这个域名不属于我,所以它就到互联网上解析去了。为了让这个域名属于我,还得改hosts。C:\Windows\System32\drivers\etc\hosts

虚拟机可以通过http://zhongzh-PC或者http://zhongzh-PC:80或者http://127.0.0.1:80或者http://127.0.0.1来访问web服务器

要访问就能得到一句简单的响应,在虚拟机内部可以访问这个web服务:

修改/etc/hosts文件(注意不是修改host而是修改hosts)

验证

宿主机也可以访问了,chrome和搜狗不能访问z.com。搜狗必须得输入URL全路径http://z.com才行,否则会跳转去https那个z.com。chrome就是不能访问。

手动清空chrome dns缓存之后还是不行

在宿主机使用ipconfig /flushdns命令来刷新dns缓存之后搜狗浏览器不用输入URL的全路径直接输入域名z.com就可以重定向到虚拟机的nginx的web服务首页。

禁止chrome自动跳转https,在chrome的地址栏输入:chrome://net-internals/#hsts在打开的页面中, Delete domain 栏的输入框中输入:z.com(注意这里是二级域名),然后点击“delete”按钮,即可完成配置。然后你可以在 Query domain 栏中搜索刚才输入的域名,点击“query”按钮后如果提示“Not found”,那么你现在就可以使用http来访问我的网站了!

这就是基于域名的虚拟主机。基于端口的虚拟主机,一般是在后台管理的时候,比如我在网上买了一台虚拟主机,要是买的是国外的dreamhost,肯定知道这个事。比如我z.com放在dreamhost这台主机上,想管理我的虚拟主机只需要在z.com后面打一个2022回车就进入了一个管理界面上去,这个用的其实是一个基于端口的虚拟主机。

root的相对路径z.com是相对于nginx的主目录而言的,nginx的主目录是/usr/local/nginx。

卧槽,还是不行,估计是又是虚拟机的防火墙问题

除了开通虚拟机的防火墙的端口之外,还要配置端口转发(因为采用的是NAT的网络方式)

他妹的再次软重启nginx服务发现原来是注释不能这样写的,否则nginx认不出报错

成功了

客户端(宿主机)也可以了

这就是基于端口的虚拟主机配置。

基于IP的虚拟主机配置:

如果你有两块网卡

实际上你只有一块网卡

有127.0.0.1就行。正是因为你没有配置192.168.118.128,所以z.com就不知道指向哪里,你访问z.com它就指向指向nginx.conf配置的第一个server。要是明确了用IP来访问,

成功了


nginx配置虚拟主机也是非常的简单,比apache易懂。

03-nginx虚拟主机配置的更多相关文章

  1. nginx虚拟主机配置

    nginx虚拟主机配置   虚拟主机的概念虚拟主机,就是把一台物理服务器划分成多个"虚拟"的服务器,每一个虚拟主机都可以有独立的域名和独立的目录nginx虚拟主机的配置nginx的 ...

  2. Nginx高性能服务器安装、配置、运维 (5) —— Nginx虚拟主机配置

    六.Nginx虚拟主机配置 建立基于域名的虚拟主机: (1)建立基于域名的虚拟主机配置文件(以abc.com为例): (2)更改虚拟主机配置文件: 更改配置如下(更改部分即可): server { l ...

  3. Nginx教程(二) Nginx虚拟主机配置

    Nginx教程(二) Nginx虚拟主机配置 1 虚拟主机管理 1.1 Nginx管理虚拟主机 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主 ...

  4. Nginx网络架构实战学习笔记(一):Nginx简介、安装、信号控制、nginx虚拟主机配置、日志管理、location 语法、Rewrite语法详解

    文章目录 nginx简介 nginx安装 nginx信号控制 nginx虚拟主机配置 日志管理 location 语法 精准匹配的一般匹配 正则匹配 总结 Rewrite语法详解 nginx简介 Ng ...

  5. Nginx教程(二) Nginx虚拟主机配置 (转)

    Nginx教程(二) Nginx虚拟主机配置 1 虚拟主机管理 1.1 Nginx管理虚拟主机 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主 ...

  6. Nginx虚拟主机配置(20200202)

    一台机器上跑多个站点,即多个域名 curl -xIP:port 域名    用来指定访问的域名在哪个IP的哪个端口上 Nginx默认虚拟主机 不管什么域名解析到该服务器,都会访问到默认虚拟主机 ngi ...

  7. Nginx虚拟主机配置教程

    说明:配置之前先把域名解析到服务器IP地址上 站点1:bbs.osyunwei.com  程序所在目录/data/osyunwei/bbs 站点2:sns.osyunwei.com  程序所在目录/d ...

  8. nginx虚拟主机配置实践

    1.配置基于域名的虚拟主机 [root@web01 html]# egrep -v "#|^$" /application/nginx/conf/nginx.conf.defaul ...

  9. Nginx虚拟主机配置--配置Nginx的主配置文件

    单台Nginx WEB服务器同时会配置N个网站,也可称之为配置N个虚拟域名的主机,即多个域名对应同一个80端 口. 每个虚拟主机可以是一个独立网站.可以具有独立域名,同一台物理机上面的虚拟主机相互之间 ...

  10. nginx 虚拟主机配置

    user nginx; #代表使用的用户 worker_processes auto; #工作衍生进程数,一般代表系统cpu核数一到两倍最好 error_log /var/log/nginx/erro ...

随机推荐

  1. Build ios app with Delphi Xe4. Lazy Social Talker ready for sale.

    Yes, it is build with Delphi XE4. try it. now. What is  Lazy Social  Talker? Lazy Social Talker is a ...

  2. python学习之数据结构

    python的数据很丰富,所以对于数据分析来讲, python是一种最合适的选择 下面讲述一下常见的数据结构,包括栈,队列,元组,字典,集合等,以及对这些数据结构进行操作 #堆栈,后进先出 a=[10 ...

  3. phpcms V9二级目录下分页路径不正确问题的彻底解决方法

    在用phpcms V9做二次开发的时候,我们有时候会把一个栏目生成到根目录下,而且这个栏目又有子栏目,我们生成静态的时候分页会出现问题,就是分页的路径的地址错误.有一种解决方法就是,把这个栏目生成动态 ...

  4. rebar自定义template

    在开发过程中rebar自带模板建立项目,或多或少不能满足自己的开发需求.本人又是那种懒人,所以就要想办法偷懒.查看了priv模板 打造适合自己的项目模板.下面我简单的介绍整个模板的打造过程. 准备过程 ...

  5. Python标准库之time和datetime

    注:博客转载自:https://www.cnblogs.com/zhangxinqi/p/7687862.html 1.python3日期和时间 Python 程序能用很多方式处理日期和时间,转换日期 ...

  6. BZOJ5340: [Ctsc2018]假面

    BZOJ5340: [Ctsc2018]假面 https://lydsy.com/JudgeOnline/problem.php?id=5340 分析: 背包,只需要求\(g_{i,j}\)表示强制活 ...

  7. 【转载】Allegro Auto Rename器件反标注教程

    Cadence设计时一般不主张在PCB文件中更改Logic(PADS的ECO更改),不过Auto Rename仍然是非常实用的功能,按照布局重排位号,可以让PCB的丝印标识更清晰,容易检查,位号易找, ...

  8. log4j及其log4j2的使用

    简单的说 log4j2 是log4j2的升级版,据说采用了一些新技术(无锁异步.等等),使得日志的吞吐量.性能比log4j 1.x提高10倍,并解决了一些死锁的bug,而且配置更加简单灵活.其使用方式 ...

  9. input type="file" accept="image/*"上传文件慢的问题解决办法

    相信大家都写过<input type="file" name="file" class="element" accept=" ...

  10. (装)Android杂谈--禁止TimePicker控件通过keyboard输入

    Android 4.1版本以上用的是类似与ios的滚动时间控件,但是4.1以下,用的TimePicker确实通过点击上下按钮来更改时间的,虽然也提供了编辑框编辑,但是可能会超出编辑范围 如果要禁止编辑 ...