nginx配置两个站点的windows操作方法,双域名双站点

适用的场景

在同一个服务器IP上用nginx配置两个不同的域名,每个域名各自都配有安全证书,现在想访问不同的域名进入不同的网站。

整体思路

给每个域名创建一个独立的.conf配置文件,在里面写入各自nginx配置的server块的内容。然后并在默认配置文件nginx.conf中进行引用集成就好了。

详细操作

  1. 在 nginx 安装目录中创建名为 sites-available 的文件夹,例如: C:\nginx\sites-available。
  2. 在该目录下创建两个 .conf 文件分别代表每个站点的 Nginx 配置文件,例如:site1.conf 和 site2.conf。
  3. 编辑 site1.conf文件,添加以下内容:
server {
	# https监听443默认端口,加上域名
    listen 443 ssl;
    server_name www.site1.com;

	# 前端静态页面存放位子
	root    /www/site1;
    index  index.html;

	# 安全证书
	ssl_certificate      /tools/nginx/conf/safety/www.site1.com.pem;
    ssl_certificate_key  /tools/nginx/conf/safety/www.site1.com.key;
	
	# 根据/api/请求转发到后端接口(跟据自己项目来,我的是前后端分离的项目)
    location /api/ {
			proxy_pass http://127.0.0.1:8000;
    }
}
  1. 编辑 site2.conf文件,添加内容同上只是域名、前端静态页面位子、证书位子、后端端口不同,改成自己存放的位子即可。
  2. 在 nginx 安装目录中创建名为 sites-enabled 的文件夹,例如:C:\nginx\sites-enabled。
  3. 将 sites-available 目录中的配置文件链接到 sites-enabled 目录中。使用以下命令:
mklink "C:\nginx\sites-enabled\site1.conf" "C:\nginx\sites-available\site1.conf"
mklink "C:\nginx\sites-enabled\site2.conf" "C:\nginx\sites-available\site2.conf"

为什么要搞这个链接,而不是直接把文件放到sites-enabled下,因为默认的default配置文件就是如此。

  1. 创建一个 nginx.conf 文件并将其放置在 Nginx 安装目录中, 例如:C:\nginx\nginx.conf。也就是默认配置文件。
  2. 在 nginx.conf 中的 http 段落中,添加以下内容:
http {
    include       mime.types;
    default_type  application/octet-stream;

    # 以下是两个站点的配置文件引用
    include       sites-enabled/site1.conf;
    include       sites-enabled/site2.conf;
}
  1. 保存并重启nginx配置文件就OK了。

另外配置了https访问也别忘了配置下http的80端口,也就是在各自域名配置文件中加上

server {
        listen       80;
        server_name  www.site1.com;
		#将请求转成https
		rewrite ^(.*)$ https://$host$1 permanent;
	}

还有一件事,要是在解析域名的时候www和不带www的都解析了记得在server_name后面两个都配置下

server {
    listen 443 ssl;
    server_name www.site1.com site1.com;
    }

吐槽

一个nginx配置摸爬滚打好几天了,求人不如求己,只有自己最清楚自己的状况,多看看多分析。遇到困难别放弃,加油加油!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
nginx可以通过配置多个虚拟主机来实现多个站点配置。每个虚拟主机通过server块来定义,其中包含了该站点域名、根目录和其他配置信息。虚拟主机的配置与Apache类似,只是nginx配置是分别定义在每个虚拟主机的server块中的。 要配置多个站点,可以使用泛域名解析,在主机记录中填上*,来实现多个域名的解析。这样就可以使用不同的域名访问不同的站点。 另外,在nginx配置文件中,还可以使用location配置项来指定网站的根目录下的规则。例如,通过配置location /,可以定义网站根目录下的规则。这样可以更灵活地配置站点的URL规则和访问权限。 总结起来,通过使用虚拟主机的server块来定义每个站点配置,使用泛域名解析来实现多个域名的解析,并使用location配置项来配置网站根目录下的规则,就可以实现nginx配置多个站点的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【基础篇】nginx域名解析、部署多个站点](https://blog.csdn.net/qq_43417581/article/details/126532437)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Nginx站点配置](https://blog.csdn.net/wwwwse/article/details/50961950)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值