03-nginx虚拟主机配置

Posted 绿茵好莱坞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了03-nginx虚拟主机配置相关的知识,希望对你有一定的参考价值。


不想用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虚拟主机配置的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

03.Nginx配置

VS Code配置markdown代码片段

VS Code配置markdown代码片段