推荐答案
在 Nginx 中配置监听端口是通过 listen 指令来实现的。以下是一个基本的配置示例:
// www.javascriptcn.com code example
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html;
}
}在这个示例中,Nginx 监听 80 端口,并且当访问 example.com 时,会将请求转发到 /var/www/html 目录下的 index.html 文件。
本题详细解读
1. listen 指令
listen 指令用于指定 Nginx 监听的端口号。它可以接受以下参数:
- 端口号:例如
80或443。 - IP 地址和端口号:例如
192.168.1.1:80,表示只监听特定 IP 地址的特定端口。 - 其他选项:例如
default_server,表示该服务器块是默认的服务器块。
2. server_name 指令
server_name 指令用于指定服务器名称(域名)。当请求的 Host 头与 server_name 匹配时,Nginx 会使用该服务器块来处理请求。
3. location 块
location 块用于定义如何处理特定的 URL 路径。在这个示例中,location / 表示处理根路径的请求。
4. root 指令
root 指令用于指定请求的文件所在的根目录。在这个示例中,root /var/www/html 表示文件存放在 /var/www/html 目录下。
5. index 指令
index 指令用于指定默认的索引文件。在这个示例中,index index.html 表示当访问根路径时,默认返回 index.html 文件。
6. 示例扩展
你可以通过添加更多的 server 块来监听不同的端口或域名。例如:
// www.javascriptcn.com code example
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html;
}
}
server {
listen 443 ssl;
server_name secure.example.com;
ssl_certificate /etc/nginx/ssl/certificate.crt;
ssl_certificate_key /etc/nginx/ssl/private.key;
location / {
root /var/www/secure;
index index.html;
}
}在这个扩展示例中,Nginx 同时监听 80 端口和 443 端口,分别处理 example.com 和 secure.example.com 的请求。443 端口配置了 SSL 证书,用于 HTTPS 连接。