不想用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易懂。

最新文章

  1. php类和对象
  2. I/O
  3. 《Node.js开发指南》的少许坑儿~
  4. 记一个eclipse 错误 Undefined variable from import: randrange
  5. 为在MyEclipse中配置Tomcat服务器郁闷的朋友们解决郁闷
  6. poj1201 Intervals【差分约束+SPFA】
  7. ASP.NET Web API 基本操作(CRUD)
  8. PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结
  9. 设计模式的征途—12.享元(Flyweight)模式
  10. 从durable谈起,我是如何用搜索引擎抓住技术的关键字学习新姿势打开敏捷开发的大门
  11. Python文件操作之把臂入林
  12. Redis服务器开启远程访问
  13. Android 自定义View - 饼图
  14. rxjs5.X系列 —— ErrorHandling/Condition/Mathematical系列 api 笔记
  15. JVM 图形化监控工具
  16. 【BZOJ】1176: [Balkan2007]Mokia(cdq分治)
  17. Loadrunner—关联知识点
  18. 浅谈二分查找 JavaScript
  19. [ 手记 ] 关于tomcat开机启动设置问题
  20. Makedown语法说明

热门文章

  1. matlab批量转化img到gray
  2. 【转载】 用 Windows API “GetAdaptersInfo” 获取 MAC 时遇到的问题
  3. freemarker 常见问题
  4. SSH框架(2)
  5. webpack新版本4.12应用九(配置文件之输出(output))
  6. TortoiseGit不同分支合并代码2
  7. (转)xshell基本操作步骤
  8. Ajax 请求session过期的统一处理
  9. php图像处理函数imagecopyresampled
  10. Idea 如何设置微软雅黑等其它字体