nginx配置说明
一、配置信息

#Nginx负载均衡常用模式 https://my.oschina.net/u/3385288/blog/4635842
worker_processes 4;#==工作进程数,一般设置为cpu核心数
events {
worker_connections 1024; #==最大连接数,一般设置为cpu*2048
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65; #==客户端链接超时时间
upstream host {
server 192.168.168.125:9001;
server 127.0.0.1:9002;
server 127.0.0.1:9003;
}
upstream iphost {
ip_hash;
server 127.0.0.1:9001;
server 127.0.0.1:9002;
server 127.0.0.1:9003;
}
upstream host1 {
server 127.0.0.1:9001;
}
upstream host2 {
server 127.0.0.1:9002;
}
upstream host3 {
server 127.0.0.1:9003;
}
map $COOKIE_version $group {
~*v1$ host1;
~*v2$ host2;
~*v3$ host3;
}
server {
listen 100; #站点监听端口
server_name www.nginxtest.com; #服务启动后直接站点访问域名
charset utf-8; #编码格式,避免url参数乱码
location ^~ /service/uploadserver/ {
proxy_pass http://www.xx.com/service/uploadserver/;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
proxy_pass http://host1; #映射到1个站点
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 99; #站点监听端口
server_name www.nginxtest.com; #服务启动后直接站点访问域名
charset utf-8; #编码格式,避免url参数乱码
location / {
proxy_pass http://host; #轮询映射到多个站点
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 98; #站点监听端口
server_name www.nginxtest.com; #服务启动后直接站点访问域名
charset utf-8; #编码格式,避免url参数乱码
location / {
set $ckHost http://$group;
if ($COOKIE_version = "")
{
set $ckHost http://127.0.0.1:9004/index.html; #如果没有cookie,跳转到cookie设置页面设置
}
proxy_pass $ckHost; #根据COOKIE中version的值做对应的站点映射(在127.0.0.1:9004这个站点页面中设置cookie)
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 97; #站点监听端口
server_name www.nginxtest.com; #服务启动后直接站点访问域名
charset utf-8; #编码格式,避免url参数乱码
location / {
proxy_pass http://iphost; #根据ip负载
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
二、常用命令

1、检查配置文件是否配置成功,在启动服务之前执行;
nginx -t
2、启动运行nginx服务;
start nginx
3、等任务完成之后,关闭Nginx服务;
nginx -s quit
4、强制关闭Nginx服务;
nginx -s stop
5、重启Nginx服务,一般是修改了配置文件之后,使修改生效;
nginx -s reload
三、cookie设置页面

<!DOCTYPE html> <html> <head> <title>Server4</title> </head> <body> <h1>Welcome to Server4!</h1> <script> //获取两个指定数值之间随机整数。 function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min)) + min; } //设置cookie function setCookie(name, value, expDays) { var exp = new Date(); exp.setTime(exp.getTime() + expDays * 24 * 60 * 60 * 1000); document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString(); } //获取cookie function getCookie(name) { var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); if (arr = document.cookie.match(reg)) { return unescape(arr[2]); } else { return null; } } window.onload = function () { debugger //设置cookie信息 var ckName = "version" if (getCookie(ckName) == null) { var rd = getRandomInt(1, 4);//生成1、2、3其一的随机数 setCookie("version", "v" + rd, 365) } window.location.reload(); } </script> </body> </html>
四、其他页面

<!DOCTYPE html> <html> <head> <title>Server3</title> </head> <body> <h1>Welcome to Server3!</h1> </body> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构