手游软件站
首页 > 电脑软件 > 社交软件 > nginx官方中文版
nginx官方中文版

nginx官方中文版

类型:社交软件 更新时间:2025-02-27 16:02:00

游戏介绍

简介 推荐(8款) 相关阅读 版本
  • nginx官方中文版

nginx最新稳定版本已经发布,支持windows11、10、8和7等主流操作系统,nginx是什么意思?中文翻译就是代理服务器,用专业术语来描述就是高性能的tcp、udp、http和反向代理服务器,简单描述就是web服务器软件,可以说它就是为网页而生,超级小的内存,不占电脑空间,稳定性强,从俄罗斯传到国内后,深受国内程序猿的喜爱。

nginx是干嘛用的

nginx安装包是轻量级的Web服务器、反向代理服务器及电子邮件代理服务器,并在BSD-like协议下发行,在高连接并发的情况下,这款服务器是Apache服务器的不错替代品。而且因为软件完全用C语言编写,所以这款强大的服务器目前能够应用在许多操作系统平台,比如Linux、windows、Mac OS X等等系统上。中国大陆许多网站都使用了这款软件,比如京东、腾讯、淘宝、网易等。占用内存少,并发能力强,而且并发能力目前在同类型的软件中表象的非常好,尤其是在网页服务器中,该软件的配置也非常简洁,不需要用户花费大量时间去进行相关配置,而且还只会赐perl语法,BUG也非常的少!

nginx官网中文版背景

Nginx最新版(发音同 engine x)是轻量级的Web 服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。

nginx安装步骤

下载解压后,运行nginx.exe;

nginx安装步骤

win10以上系统,会弹出安全提示,点击“允许访问”;

nginx安装步骤

点击任务管理器,查看是否启动成功;

nginx安装步骤

在进程里面,一直下拉,直到看到nginx.exe,代表安装和运行成功。

nginx安装步骤

nginx配置文件详解超详细

1.配置文件结构

Nginx 的主要配置文件通常位于 /etc/nginx/nginx.conf。该文件包含全局指令、事件配置和多个 server 块,用于定义不同的虚拟主机。

配置文件基本结构:

user  nginx;  # 指定运行 Nginx 的用户

worker_processes  auto;  # 自动设置工作进程数量

events {

worker_connections  1024;  # 每个工作进程允许的最大连接数

}

http {

include       mime.types;  # 包含 MIME 类型

default_type  application/octet-stream;  # 默认 MIME 类型

sendfile        on;  # 启用高效文件传输

keepalive_timeout  65;  # 连接保持时间

# 定义服务器块

server {

listen       80;  # 监听端口

server_name  localhost;  # 服务器名称

location / {

root   /usr/share/nginx/html;  # 网站根目录

index  index.html index.htm;  # 默认主页

}

# 错误页面

error_page  404  /404.html;

location = /404.html {

internal;

}

}

}

2.常用指令详解

http 块

include mime.types;:引入 MIME 类型文件,用于根据文件扩展名设置 Content-Type。

default_type:指定默认的 MIME 类型。

sendfile on;:启用高效的文件传输。

keepalive_timeout:设置保持连接的超时时间。

server 块

listen:指定 Nginx 监听的 IP 地址和端口。

server_name:定义服务器名称,支持域名和 IP 地址。

location:根据请求 URI 来匹配不同的处理规则。

location 指令

location /:匹配根 URL。

location /images/:匹配以 /images/ 开头的 URL。

location ~ .php$:使用正则表达式匹配以 .php 结尾的 URL。

3.示例配置

3.1 基本静态文件服务

server {

listen       80;

server_name  example.com www.example.com;

location / {

root   /var/www/example;  # 网站根目录

index  index.html index.htm;  # 默认主页

}

error_page  404  /404.html;  # 自定义404页面

}

3.2 反向代理

server {

listen 80;

server_name api.example.com;

location / {

proxy_pass http://backend_server;  # 反向代理到后端服务器

proxy_set_header Host $host;  # 转发请求头

proxy_set_header X-Real-IP $remote_addr;  # 转发真实 IP

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  # 转发代理 IP

}

}

3.3 SSL 配置

server {

listen 443 ssl;  # 启用 SSL

server_name example.com;

ssl_certificate /etc/ssl/certs/example.crt;  # SSL 证书路径

ssl_certificate_key /etc/ssl/private/example.key;  # 私钥路径

location / {

root /var/www/example;

index index.html index.htm;

}

}

3.4 gzip压缩

http {

gzip on;  # 启用 gzip 压缩

gzip_types text/plain application/json;  # 压缩的 MIME 类型

}

3.5 日志配置

http {

access_log /var/log/nginx/access.log;  # 访问日志

error_log /var/log/nginx/error.log;  # 错误日志

}

3.6 负载均衡

#轮询负载均衡

http {

upstream backend {

server backend1.example.com;

server backend2.example.com;

server backend3.example.com;

}

server {

listen 80;

server_name example.com;

location / {

proxy_pass http://backend;  # 代理到 upstream 定义的服务器

}

}

}

#最少连接负载均衡

http {

upstream backend {

least_conn;  # 使用最少连接方法

server backend1.example.com;

server backend2.example.com;

}

server {

listen 80;

server_name example.com;

location / {

proxy_pass http://backend;

}

}

}

#IP 哈希负载均衡

http {

upstream backend {

ip_hash;  # 使用 IP 哈希

server backend1.example.com;

server backend2.example.com;

}

server {

listen 80;

server_name example.com;

location / {

proxy_pass http://backend;

}

}

}

3.7 安全性配置

#通过 deny 和 allow 指令来限制 IP 地址的访问

server {

listen 80;

server_name example.com;

location / {

allow 192.168.1.0/24;  # 允许某个网段的 IP

deny all;  # 拒绝其他所有 IP

}

}

#防止其他网站直接链接到你网站的图片

server {

listen 80;

server_name example.com;

location ~* .(jpg|jpeg|png|gif)$ {

valid_referers none blocked example.com *.example.com;

if ($invalid_referer) {

return 403;  # 拒绝访问

}

}

}

#限制请求速率:防止 DDoS 攻击

http {

limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

server {

location / {

limit_req zone=one burst=5;

}

}

}

3.8 URL 重写与重定向

#重定向

server {

listen 80;

server_name old-example.com;

return 301 http://new-example.com$request_uri;  # 301 重定向到新域名

}

#使用 rewrite 指令进行 URL 重写。

server {

listen 80;

server_name example.com;

location / {

rewrite ^/oldpath/(.*)$ /newpath/$1 permanent;  # 永久重写

}

}

3.9 处理 PHP 文件

server {

listen 80;

server_name example.com;

root /var/www/example;

index index.php index.html index.htm;

location / {

try_files $uri $uri/ =404;  # 处理静态文件

}

location ~ .php$ {

include fastcgi_params;

fastcgi_pass 127.0.0.1:9000;  # PHP-FPM 的地址

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

}

}

3.10 错误页面定制

#可以自定义错误页面,以提高用户体验。

server {

error_page 404 /404.html;  # 定义404错误页面

location = /404.html {

root /usr/share/nginx/html;  # 错误页面的文件路径

internal;  # 防止直接访问

}

}

3.11 HTTP Auth Basic

#访问某个location增加二次认证

location /protected {

auth_basic "Restricted Content";

auth_basic_user_file /etc/nginx/.htpasswd;  # 指向密码文件

}

3.12 WebSocket 支持

server {

location /ws/ {

proxy_pass http://backend_service;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;  # WebSocket 需要的头部

proxy_set_header Connection "upgrade";

}

}

3.13 nginx防盗链配置

防盗链(Hotlink Protection)可以有效防止其他网站直接链接到你的资源(如图片、视频等),从而节省带宽和保护内容。

server {

listen 80;

server_name example.com;

location ~* .(jpg|jpeg|png|gif|mp4)$ {

valid_referers none blocked example.com *.example.com myfriend.com;  #放行特定的网站访问

if ($invalid_referer) {

return 403;  # 拒绝请求

}

root /path/to/your/files;

}

error_page 403 /403.html;

location = /403.html {

root /usr/share/nginx/html;

internal;  # 只允许内部访问

}

}

3.14 跨域配置,基本 CORS 配置

在 Nginx 的 server 块中添加 add_header 指令,以支持跨域请求。

server {

listen 80;

server_name example.com;

location /api/ {

add_header 'Access-Control-Allow-Origin' 'https://specific-domain.com';

add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';

add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization';

add_header 'Access-Control-Allow-Credentials' 'true';

if ($request_method = OPTIONS) {

add_header 'Access-Control-Allow-Origin' 'https://specific-domain.com';

add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';

add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization';

return 204;

}

# 其他配置

proxy_pass http://backend_service;

}

}

4.其他配置

4.1全局配置

Nginx 的全局配置包含了影响 Nginx 服务器整体行为的指令,这些指令主要位于全局块中。全局块通常位于 events 和 http 块之外,它包含了对 Nginx 服务器运行所需的基本配置,如用户和用户组、进程数、工作目录、错误日志级别、PID 文件路径等。

常用的 Nginx 全局配置的主要指令包括:

user:指定 Nginx 工作进程运行的用户和用户组。

worker_processes:设置工作进程的数量,可以设置为 auto 自动匹配 CPU 核心数,或者指定具体数值。

error_log:配置错误日志的路径和日志级别。

pid:指定 Nginx 主进程 ID 文件的存放位置。

举个简单例子:

# 全局配置

user nginx nginx;  # 指定运行Nginx的用户和用户组为nginx

worker_processes auto;  # 自动设置工作进程数量,等于CPU核心数

# 错误日志配置

error_log /var/log/nginx/error.log warn;  # 设置错误日志的路径和级别为warn

# PID文件配置

pid /var/run/nginx.pid;  # 设置PID文件的存放位置

4.2 events 块

events 块用于设置服务器与客户端连接的相关属性配置。这些配置主要涉及网络连接和事件处理。

这里也举几个常用的例子。

worker_connections

设置每个工作进程的最大客户端连接数。这个指令通常与 worker_processes 指令结合使用,来计算整个 Nginx 服务器的最大并发连接数。

举个栗子

events {

worker_connections 1024;

}

use

指定使用哪种事件模型。Nginx 支持多种事件模型,如 epoll(Linux)、kqueue(BSD)、select 和 poll 等。通常,Nginx 会根据操作系统自动选择最佳的事件模型,但也可以手动指定。

举个栗子

events {

use epoll;

}

multi_accept

设置是否允许服务器在单个监听事件中接受多个连接。这可以减少 I/O 等待时间,提高性能。

举个栗子

events {

multi_accept on;

}

accept_mutex

在某些情况下,可以设置为 on 来允许多个工作进程同时监听相同的端口。默认情况下,它是关闭的,以避免多个进程间的端口竞争。

举个栗子

events {

accept_mutex on;

}

accept_mutex_delay

当 accept_mutex 被启用时,这个指令可以设置尝试获取互斥锁的延迟时间。

举个栗子

events {

accept_mutex_delay 10ms;

}

常用命令

nginx -s reload 改变配置文件的时候,重启其工作进程,来时配置文件生效

nginx -s reopen 打开日志文件

nginx -s stop 强制关闭

nginx -s quit 安全关闭

关于我们

高可靠性:Nginx 的设计目标是提供 7x24 小时不间断的服务。

模块化:Nginx 拥有丰富的模块系统,可以轻松扩展其功能。

配置简单:Nginx 的配置文件结构清晰,易于理解和管理。

高性能:Nginx 能够处理大量的并发连接,而内存使用率相对较低。

展开

软件信息

热门推荐

更多

相关版本

更多

相关阅读

更多

最新录入

更多