Nginx入门
Nginx入门
Nginx配置文件
Nginx代理
正向代理
比如要访问youtube,但是不能直接访问,只能先找个FQ软件,通过FQ软件(也就是代理服务器)才能访问youtube. FQ软件就叫做正向代理。
反向代理
指的是用户要访问youtube,但是youtube悄悄地把这个请求交给bilibili来做,那么bilibili就是反向代理了。
在当前教程指的就是你要访问nginx,但是nginx把请求交给tomcat来做。
修改nginx.conf
location /
表示处理所有请求
proxy_pass http://127.0.0.1:8111;
表示把请求都交给http://127.0.0.1:8111来处理
动静分离
概念
nginx处理静态文件的吞吐量能力比tomcat好很多。
所以通常将nginx和tomcat配合使用,把静态请求(比如css, js之类)交给nginx,动态请求(比如jsp, servlet,ssm, struts等请求)交给tomcat,从而达到动静分离的效果,这样无形中提升了性能。
修改nginx.conf
在locaction下面添加一个新的location,表示所有的css js png访问都由nginx来做(要注意,填写本地地址的时候,要用正斜杠 / 不要用反斜杠 \):
location ~\.(css|js|png)$ {
root E:/test/tomcat_8111/webapps/ROOT;
}
负载均衡
概念
访问量很大的时候,一个 Tomcat 吃不消了,这时候就需要准备多个 Tomcat。由Nginx按照权重来对请求进行分配,从而缓解单独一个Tomcat受到的压力
weight表示权重,值越大,被分配到的几率越大。
修改nginx.conf
upstream tomcat_8111_8222{
server 127.0.0.1:8111 weight=1;
server 127.0.0.1:8222 weight=2;
}
location / {
proxy_pass http://tomcat_8111_8222;
}
负载均衡 session问题
通过负载均衡,我们可以把请求分发到不同的 Tomcat 来缓解服务器的压力。但是这里存在一个问题: 当同一个用户第一次访问tomcat_8111 并且登录成功, 而第二次访问却被分配到了tomcat_8222, 这里并没有记录他的登陆状态,那么就会呈现未登录状态了,严重伤害了用户体验。
解决办法: redis+tomcat-sessoin-manager
安装redis.exe,启动redis
Tomcat需要连接 redis,所以需要专门的jar包,放在tomat8111的lib目录下。
jedis-2.5.2.jar,
commons-pool2-2.0.jar,
tomcat-redis-session-manager1.2.jar。
修改context.xml(增加字段)
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="127.0.0.1"
port="6379"
database="0"
maxInactiveInterval="60" />
问题解决
nginx安装包路径中不能含有中文
nginx: [emerg] CreateFile() "E:\Myfile\nginx和tomcat\nginx/conf/nginx.conf" failed (1113: No mapping for the Unicode character exists in the target multi-byte code page)
修改路径即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix