关于Nginx
之前把博客托管到Vercel上,白天可以正常访问,但是一到晚上 访问速度就远远不如白天 甚至还要挂梯子
正好有台空闲的服务器 干脆域名重新备案 部署到服务器上!
这样就需要自己部署SSL 比较烦….
系统最后选择了Windows server 2012 主要搭配hexo 可视化界面推送起来比linux省事多了
准备服务器 nginx git nodejs 域名等
1.
之前没接触过nginx 重定向出现了许多问题
直接查日志 error_log logs/error.log debug;
1 | 2024/10/30 12:28:25 [warn] 2696#3524: conflicting server name "www.hmily.ren" on 0.0.0.0:80, ignored |
以下引自 ChatGPT 4o mini 的回答
这些警告信息表明你的 Nginx 配置中存在多个服务器块(server blocks)为同一域名(
www.hmily.ren
和hmily.ren
)配置了监听在同一端口(80端口)。由于 Nginx 不允许在同一端口上有多个相同的server_name
,所以它忽略了其中的冲突。解决步骤
查找冲突的配置: 在你的 Nginx 配置文件中,查找是否有多个
server
块使用相同的server_name
。你可能会找到类似以下的配置:
1
2
3
4
5
6
7
8
9
10
11 nginx复制代码server {
listen 80;
server_name www.hmily.ren hmily.ren;
# 其他配置
}
server {
listen 80;
server_name www.hmily.ren hmily.ren; # 冲突的server块
# 其他配置
}合并配置: 如果找到了重复的
server
块,可以将它们合并为一个。只保留一个server
块,并确保其中的配置包含你需要的所有设置。
1 | 最后检查重定向是否生效: |
关于重定向
永久重定向(301)和临时重定向(302)在处理请求的次数上通常是一样的,都只需要一次请求。但是它们的行为有些不同:
- 永久重定向(301):告诉浏览器和搜索引擎,这个资源已经永久转移到新的地址,以后请求时直接访问新的地址。这种重定向一般会被浏览器缓存,之后的请求可以直接访问新地址,不再重复发送重定向请求。
- 临时重定向(302):表示资源只是暂时转移,浏览器每次访问时都会重新发送请求,以确认资源是否仍然需要重定向。302不会像301那样被缓存,因此可能在特定情况下导致多次请求。
因此,在一般的重定向请求中,301和302的请求次数没有差别。但如果浏览器缓存了301重定向,后续访问相同资源时会减少重定向请求的次数。
感谢httpsok的证书申请+续签 服务!
文档参考:
[1] 阿里云 Nginx或Tengine服务器配置SSL证书