不想用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. C++抽象类的实现

    1.什么是抽象类? 答:简单的说,抽象类就是至少有一个纯虚函数的类. 2.抽象类的作用? 答:抽象类的主要作用就是为它所组织的继承层次结构提供一个公共的基类,这样它就具有公有行为的特征,其它派生的类可 ...

  2. tslib: Selected device is not a touchscreen (must support ABS_X and ABS_Y events)

    /************************************************************************************ * tslib: Selec ...

  3. linux中磁盘分区以及如何将磁盘挂载到系统中

    fdisk 分区 fdisk /dev/sdb -p查看当前分区-t 改分区号-w将分区表写进磁盘-n创建分区 -p主分区 -e拓展分区 partprobe 让内核更新分区信息cat /proc/pa ...

  4. Python学习-数据运算

    在Python中有丰富的算术运算,这使得Python在科学计算领域有着很高的地位,Python可以提供包括四则运算在内的各种算术运算. a = 10 b = 20 print(a-b) #-10 pr ...

  5. RMAN 增量备份 脚本

    ################################################################## ##    rman_backup.sh              ...

  6. BufferedInputStream与BufferedOutputStream

    BufferedInputStream是带缓冲区的输入流,默认缓冲区大小是8M,能够减少访问磁盘的次数,提高文件读取性能:BufferedOutputStream是带缓冲区的输出流,能够提高文件的写入 ...

  7. 2、Flume1.7.0入门:安装、部署、及flume的案例

    一.什么是Flume? flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用. flume的特点: flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的 ...

  8. 如果axios请求失败,如何获取后端接口返回的状态码及错误信息

    这两天在工作中遇到一个问题,一个请求返回400错误,我需要向用户展示后端返回的错误信息,但是用普通的catch方法只能获取到浏览器返回的400错误提示,不能获取到后端返回的,后经查阅得出下面方法: a ...

  9. spring boot 集成 rabbitmq

    1.使用默认的AmqpTemplate生产消费pojo时,pojo需要implement Serializable,否则会抛出org.springframework.amqp.AmqpExceptio ...

  10. Angular 6 HMR 热加载配置

    什么是 HMR? ​ HMR 是hot module replacement 的简称,直译:热模块替换,如果不开启HMR模式,angular项目在模块更改的时候会从根节点开始刷新,开启HMR模式以后, ...