新版本nginx的配置文件被拆分为若干部分
1、主配置文件为nginx.conf
2、与php相关的是fastcgi_params
3、与python相关的是uwsgi_params
4、...其他配置文件
[PS:首先确保占用80端口的服务被停止,nginx默认监听端口为80]
我们首先可以打开nginx.conf
nginx的虚拟主机配置
如下图是最简单的虚拟主机配置文件
与Apache相同,nginx也可以配置多种类型的虚拟主机。
- 基于域名的虚拟主机
- 基于IP的虚拟主机
- 基于端口的虚拟主机
然后我们发现目录下有site-available与site-enabled两个目录,和Apache一模一样,我们一般采用的方法是在前者下写好配置文件,到后者目录下做好一个软连接!原因如同目录的名字一样,前者是存在的网站,而后者是正在使用的目录!nginx默认会加载site-enabled目录!前者的目录下有一个default给我们参考如何写虚拟主机的配置文件
让我们来看一下这段:
我们可以发现要配多个虚拟主机基本的格式是
server{……}
server{……}
虚拟主机建立的方式共分为三种:基于IP的虚拟主机,基于端口的虚拟主机和基于名称的虚拟主机。前两种由于受到成本和客户使用习惯的限制,相对使用的没有基于名称的虚拟主机多。
1、基于主机名称的虚拟机配置 server{ listen 80; server_name www.example.com }
server{
listen 80;
server_name www.test.com }
server{ listen 80 default_server; ... }
上述配置中, 定义了三个虚拟主机。前两个 server, 通过域名“www.example.com” 和 “www.test.com” 可以分别访问正确的网站。如果浏览器直接通过 IP 地址或者其他指向这台机器的域名访问, 那么访问到的是第三个 server 配置。第三个 server 为一个默认配置, 请注意它没有“server_name”指令, 并且“listen”指令包含一个“default_server”关键字。
2、基于IP的虚拟主机
server{
listen 10.0.0.88:80; root 88.com;
index index.html;
}
server{
listen 10.0.0.87:80;
root 87.com;
index index.html;
}
[PS:请自行分配相应IP地址,并建立88.com与87.com目录]
以上配置了两台虚拟主机,一台 IP 为 10.0.0.88,另一台为 10.0.0.87。它们都监听 80端口。根据访问的 IP 地址不同,返回不同网站内容。
3、基于端口的虚拟主机 server{ listen 80; root 80.com; } server{ listen 8080; root 8080.com; }
以上配置了两台虚拟主机,一台使用相同 IP。一台使用 80 端口,另一台使用 8080 端口。访问 8080 端口时需要在 URL 后加上 :8080 。