Hmily
文章17
标签18
分类3
关于Nginx

关于Nginx

之前把博客托管到Vercel上,白天可以正常访问,但是一到晚上 访问速度就远远不如白天 甚至还要挂梯子
正好有台空闲的服务器 干脆域名重新备案 部署到服务器上!
这样就需要自己部署SSL 比较烦….
系统最后选择了Windows server 2012 主要搭配hexo 可视化界面推送起来比linux省事多了
准备服务器 nginx git nodejs 域名等 [见结尾参考文档]


Windows下

**0.**这没啥多说的 直接装安装包就行

1.

之前没接触过nginx 重定向出现了许多问题
直接查日志 error_log logs/error.log debug;

1
2
3
4
2024/10/30 12:28:25 [warn] 2696#3524: conflicting server name "www.hmily.ren" on 0.0.0.0:80, ignored 
2024/10/30 12:28:25 [warn] 2696#3524: conflicting server name "hmily.ren" on 0.0.0.0:80, ignored
2024/10/30 12:28:25 [warn] 2616#3140: conflicting server name "www.hmily.ren" on 0.0.0.0:80, ignored
2024/10/30 12:28:25 [warn] 2616#3140: conflicting server name "hmily.ren" on 0.0.0.0:80, ignored

以下引自 ChatGPT 4o mini 的回答

这些警告信息表明你的 Nginx 配置中存在多个服务器块(server blocks)为同一域名(www.hmily.renhmily.ren)配置了监听在同一端口(80端口)。由于 Nginx 不允许在同一端口上有多个相同的 server_name,所以它忽略了其中的冲突。

解决步骤

  1. 查找冲突的配置: 在你的 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块
    # 其他配置
    }
  2. 合并配置: 如果找到了重复的 server 块,可以将它们合并为一个。只保留一个 server 块,并确保其中的配置包含你需要的所有设置。


1
2
3
4
5
6
7
8
9
10
11
 最后检查重定向是否生效:
$ curl -I http://www.hmily.ren
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 169 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0HTTP/1.1 301 Moved Permanently
Server: nginx/1.24.0
Date: Wed, 30 Oct 2024 05:39:43 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive
Location: https://www.hmily.ren/

关于重定向

永久重定向(301)和临时重定向(302)在处理请求的次数上通常是一样的,都只需要一次请求。但是它们的行为有些不同:

  1. 永久重定向(301):告诉浏览器和搜索引擎,这个资源已经永久转移到新的地址,以后请求时直接访问新的地址。这种重定向一般会被浏览器缓存,之后的请求可以直接访问新地址,不再重复发送重定向请求。
  2. 临时重定向(302):表示资源只是暂时转移,浏览器每次访问时都会重新发送请求,以确认资源是否仍然需要重定向。302不会像301那样被缓存,因此可能在特定情况下导致多次请求。

因此,在一般的重定向请求中,301和302的请求次数没有差别。但如果浏览器缓存了301重定向,后续访问相同资源时会减少重定向请求的次数。


感谢httpsok的证书申请+续签 服务!

linux安装nginx并配置反向代理

linux下:
1
2
3
4
mkdir nginx                                                  #新建nginx目录 
cd nginx #进入nginx目录
wget wget https://nginx.org/download/nginx-1.26.3.tar.gz #下载包
tar -zxvf nginx-1.26.3.tar.gz #解压包
CentOS 7下:

一、配置 EPEL 源

有epel源就不用再安装了

1
2
sudo yum install -y epel-release
sudo yum -y update

二、安装 Nginx

1
sudo yum install -y nginx

默认的网站目录为: /usr/share/nginx/html

默认的配置文件为:/etc/nginx/nginx.conf

自定义配置文件目录为: /etc/nginx/conf.d/

文档参考:

[1] 阿里云 Nginx或Tengine服务器配置SSL证书

[2] 腾讯云 Nginx 服务器 SSL 证书安装部署(Windows)

[3] httpsok官方文档 Nginx实用配置

[4] CentOS 7下安装配置Nginx

[5] CentOS 上如何安装 Node.js

[6] Centos7 安装Git

wx.jpg

本文作者:Hmily
本文链接:https://www.hmily.ren/2024/10/30/%E5%85%B3%E4%BA%8ENginx/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可
×