当前位置:首页 > nginx > 正文

nginx根据域名访问不同项目

  • nginx
  • 2024-04-27 18:39:33
  • 3682

nginx(engine x)是一个高性能的 HTTP 和反向代理服务器,广泛用于 Web 应用托管和负载均衡。 它提供了通过配置服务器块来根据域名访问不同项目的灵活性。
步骤:
1. 创建服务器块: 在 nginx 配置文件中(通常为 /etc/nginx/nginx.conf),创建针对每个域名的服务器块。
2. 指定监听端口: 为每个服务器块指定要监听的端口。 例如,以下配置将监听端口 80 和 443:
nginx
server {
listen 80;
...
}
server {
listen 443 ssl;
...
}
3. 设置服务器名称: 使用 server_name 指令指定要匹配的域名或通配符。 例如,以下配置将匹配 example.com 和 www.example.com:
nginx
server_name example.com www.example.com;
4. 配置根目录: 使用 root 指令指定每个项目的文件系统路径。
5. 设置其他配置: 根据需要,您可以配置其他选项,如文件权限、缓存、重定向等。
示例配置:
以下是使用 nginx 根据域名访问两个不同项目的示例配置:
nginx
server {
listen 80;
server_name example1.com;
root /path/to/project1;
}
server {
listen 80;
server_name example2.com;
root /path/to/project2;
}
该配置将根据访问的域名将流量路由到不同的项目。
验证配置:
重新加载 nginx 配置以生效更改:
nginx -s reload
然后使用 curl 命令验证配置:
curl http://example1.com
# 应该返回项目1的内容
curl http://example2.com
# 应该返回项目2的内容
注意事项:
确保域名的 DNS 记录正确。
如果多个域名解析到相同的 IP 地址,请使用通配符服务器名称 (.example.com) 匹配所有子域名。
考虑使用负载均衡或故障转移技术来提高可用性和冗余性。