nginx实用入门

下载并启动

下载地址:http://nginx.org/en/download.html

image

双击即可启动

测试启动:http://localhost/

image

部署网站

添加该条配置即可

server {

listen 8088;

server_name 名字;

location / {

root 文件目录;

index index.html index.htm;

}

}

关闭、开始、重启

在cmd下操作,进入目录路径


nginx -s stop; // 停止

nginx -s quit // 有序停止

nginx -s reload // 重启

Vue404重定向配置

server {
  listen  80;
  server_name  www.xxx.com;

  location / {
    index  /data/dist/index.html;
    try_files $uri $uri/ /index.html;
  }
}

配置域名转发

location /api/ {
	proxy_pass http://backend-api-server/;  //配置转发地址,这个地址也可以是本地部署的网站
	proxy_set_header Host $host;  // 配置转发请求头
	proxy_set_header X-Real-IP $remote_addr;  // 配置转发请求头
}

配置二级域名转发

重点语法
http://backend-api-server/

location / {
	proxy_pass http://127.0.0.1:8001;
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
}

示例:

server {
        listen 80;
        server_name a.baidu.cn;

        location / {
            proxy_pass http://127.0.0.1:8001;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }

     server {
        listen 80;
        server_name b.baidu.cn;
        location / {
            proxy_pass http://127.0.0.1:8002;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }
    server {
        listen 8001;
        server_name  a.baidu.cn;
        location / {
            root C:/nginx-web/three.js-158/examples/;
            index index.html;
        }
    }
    server {
        listen 8002;
        server_name  b.baidu.cn;
        location / {
            root C:/nginx-web/Cesium-1.111/;
            index index.html;
        }
    }

原理
每个服务都需要占用一个端口号来启动服务,监听对应的二级域名server_name,然后使用转发即可

location / {
	server_name a.baidu.com;
	proxy_pass http://127.0.0.1:8002;
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
}

启用gzip

Gzip 是一种通用的文件压缩算法,用于减小文件大小以提高网络传输效率。在 Web 开发中,Gzip 压缩常用于减小静态文件(如 HTML、CSS、JavaScript 等)的大小,从而加快页面加载速度。

http {
  gzip on;
  gzip_comp_level 5;
  gzip_types text/plain text/html text/css application/javascript image/svg+xml;
}
  1. gzip on 启用 Gzip 压缩功能。
  2. gzip_comp_level 设置压缩级别,范围从 1 到 9,数字越大压缩比越高,但同时也消耗更多的 CPU 资源。
  3. gzip_types 设置需要进行压缩的 MIME 类型。

负载均衡

  1. 定义服务器列表,用的upstream进行定义,upstream 是一个用于定义一组后端服务器的指令。它通常用于配置反向代理和负载均衡。upstream 指令允许你列出多个服务器,并为每个服务器指定其地址和端口。这些服务器可以是本地服务器,也可以是远程服务器。
upstream backend {
	server backend1.example.com:8080;
	server backend2.example.com:8080;
	server backend3.example.com:8080;
}
  1. 配置负载均衡算法
upstream backend {
	least_conn;
	server backend1.example.com:8080;
	server backend2.example.com:8080;
	server backend3.example.com:8080;
}

least_conn 参数表示使用最少连接算法,将请求转发给连接数最少的服务器。

问题

  1. 转换字符串,windows下路径字符串是\,要转换成/,否则会被转义出错
  2. 每条语句都要加上;来结尾,否则会报错;
posted @   李嘉图呀  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示