问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Nginx 安装及配置教程(Windows)

创作时间:
作者:
@小白创作中心

Nginx 安装及配置教程(Windows)

引用
CSDN
1.
https://blog.csdn.net/m0_74823611/article/details/145765785

一、 Nginx 下载

1. 官网下载

安装地址:https://nginx.org/en/download.html

  1. 打开浏览器输入网址 https://nginx.org/en/download.html,进入 Nginx 官网
  2. 选择对应的版本下载,推荐稳定版

2. 其它渠道

(1)百度网盘(1.24.0 版本)

链接:https://pan.baidu.com/s/16LfEdOTHwkCLQUD8Z488QQpwd=eizj

提取码:eizj

二、 Nginx 安装

  1. 下载完成后,将压缩包解压到本地即可

三、 配置

  1. 进入 Nginx 目录下,conf文件夹下编辑nginx.conf文件,根据自己需求进行配置

  2. 配置文件默认内容参数解析

worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

events {
    worker_connections 1024;
}

http {
    include mime.types;
    default_type application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
  1. 搭建站点

虚拟主机

server {
    listen 80;
    server_name font_server;

    charset utf-8;
    access_log  logs/xx_domian.access.log  access;

    location / {
        root   ./html;
        index  index.html index.htm;
    }
}
  1. 根据文件类型设置过期时间
location ~.*.css$ {
    expires 1d;
    break;
}

location ~.*.js$ {
    expires 1d;
    break;
}

location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
    access_log off;
    expires 15d;
    break;
}
  1. 禁止文件缓存
location ~* .(js|css|png|jpg|gif)$ {
    add_header Cache-Control no-store;
}
  1. 防盗链
location ~* .(gif|jpg|png)$ {
    valid_referers none blocked 192.168.0.1;
    if (KaTeX parse error: Expected '}', got 'EOF' at end of input: …rite ^/ http://host/logo.png;
}
  1. 静态文件压缩
server {
    gzip on;
    gzip_http_version 1.1;
    gzip_comp_level 4;
    gzip_min_length 1000;
    gzip_types text/plain application/javascript text/css;
}
  1. 指定错误页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
    root /source/error_page;
}

四、 验证

  1. 切换到 Nginx 安装目录下,双击Nginx.exe启动 Nginx

  2. 打开浏览器,输入http://127.0.0.1/(具体端口看个人配置,默认配置文件端口:80)出现以下界面说明配置成功

  3. 如果需要修改配置文件,则需要重新启动 Nginx,首先Ctrl + Shift + Esc,打开任务管理器,找个 Nginx 服务,结束任务,然后切换到 Nginx 安装目录下,双击Nginx.exe启动 Nginx

五、 其它问题

1. 常用命令

nginx -s stop       # 快速关闭Nginx,可能不保存相关信息,并迅速终止Web服务。
nginx -s quit       # 平稳关闭Nginx,保存相关信息,有安排的结束Web服务。
nginx -s reload     # 因改变了Nginx相关配置,需要重新加载配置而重载。
nginx -s reopen     # 重新打开日志文件。
nginx -c filename   # 为 Nginx 指定一个配置文件,来代替缺省的。
nginx -t            # 不运行,而仅仅测试配置文件。Nginx将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。
nginx -V            # 显示 nginx 的版本,编译器版本和配置参数。
taskkill /f /t /im nginx.exe		# 彻底关闭nginx(关闭Nginx其他服务,这样才能彻底关闭)
nginx -s reload		# 重新加载配置

2. 跨域问题

跨域的定义

同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。通常不允许不同源间的读操作。

同源的定义

如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有相同的源。

Nginx 解决跨域的原理

例如:

前端 server 域名为:http://font_server
后端 server 域名为:https://github.com
现在 http://domainhttp://font_server发起请求一定会出现跨域。

只需要启动一个 Nginx 服务器,将 server_name 设置为 font_server,然后设置相应的 location 以拦截前端需要跨域的请求,最后将请求代理回 github.com。配置如下:

server {
    listen    8080;
    server_name font_server

    location / {
        proxy_pass  https://github.com;
        proxy_redirect     off;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Scheme         $scheme;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号