nginx初步学习

本文介绍了Nginx的基本配置,包括location指令的使用,如针对.jsp文件的反向代理到本地Tomcat服务器,以及静态资源(html, js, css, png, gif)的路径设置。同时,文章还展示了如何设置upstream负载均衡,例如将请求分配给不同权重的本地Tomcat实例。" 106512586,9680840,Python空间数据处理实战教程,"['Python编程', '数据处理', '机器学习', '时空数据', '编程教程']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.nginx 是一款自由的、开源的、高性能HTTP服务器和反向代理服务器
正向代理:代理服务器代表用户访问服务器(VPN)
反向代理:代理服务器就是一个入口,用户访问这个入口,入口把用户转发到实际的服务器

nginx好处:1.负载均衡
2.高并发
3.高可靠

2.windows 下本机nginx
在nginx.conf 中 写localhost 跳转到百度举例
server {
listen 80;
server_name 119.75.213.50:80;//跳转的位置 百度的ip

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
proxy_pass http://www.baidu.com;
}
listen:表示当前的代理服务器监听的端口,默认的是监听80端口。注意,如果我们配置了多个server,这个listen要配置不一样,不然就不能确定转到哪里去了。
server_name:表示监听到之后需要转到哪里去,这时我们直接转到本地,这时是直接到nginx文件夹内。

location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里
//下面这两个参数静态写死了
root:里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文件伺服很有用。
index:当没有指定主页时,默认会选择这个指定的文件,它可以有多个,并按顺序来加载,如果第一个不存在,则找第二个,依此类推。

2.nginx 过滤:
下面我们来进行一下配置,让JSP页面直接给tomcat,而html,png等一些图片和JS等直接给nginx进行缓存。
  1. location ~ \.jsp$ {  
  2.         proxy_pass http://localhost:8080;  
  3. }  
  4.           
  5. location ~ \.(html|js|css|png|gif)$ {  
  6.     root D:/software/developerTools/server/apache-tomcat-7.0.8/webapps/ROOT;  
  7. }  
3.nginx 转发多台

  1. upstream local_tomcat {  
  2.     server localhost:8080;  
  3. }  
  4.   
  5. server{  
  6.         location / {  
  7.            proxy_pass http://local_tomcat;  
  8.         }  
  9.         #......其他省略  
  10. }  
我们在server外添加了一个upstream,而直接在proxy_pass里面直接用http://+upstream的名称来使用。
upstream中的server元素必须要注意,不能加http://,但proxy_pass中必须加。
但有时我们就不想它挂的时候访问另外一个,而只是希望一个服务器访问的机会比另外一个大,这个可以在server最后加上一个weight=数字来指定,数字越大,表明请求到的机会越大
  1. upstream local_tomcat {  
  2.     server localhost:8080 weight=1;  
  3.     server localhost:9999 weight=5;  
  4. }  

3.服务器实例

1.进入/nginx/conf cat nginx.conf

我们看到和本机nginx不同,它配置的比较少,而且include一些conf(详细的配置信息)
include vhost/*.conf;
include /home/q/www/nginx-new/*.conf;
2.进入/home/q/www/nginx-new/* ,我们可以看到详细的配置文件

当用户的请求打到ng服务器上时,ng立刻通过$prefix判断请求的机器,location再匹配地址请求,再通过proxy_pass转到upstream,从中获取uri的端口号 ,最后转到后台处理的那台服务器上

3.location:

location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ]
}

以=开头表示精确匹配
如 A 中只匹配根目录结尾的请求,后面不能带任何字符串。
^~ 开头表示uri以某个常规字符串开头,不是正则匹配
~ 开头表示区分大小写的正则匹配;
~* 开头表示不区分大小写的正则匹配
/ 通用匹配, 如果没有其它匹配,任何请求都会匹配到
顺序 no优先级:
(location =) > (location 完整路径) > (location ^~ 路径) > (location ~,~* 正则顺序) > (location 部分起始路径) > (/)
### Nginx 学习教程完整指南 #### 了解Nginx的基础概念 Nginx是一个高性能的HTTP和反向代理Web服务器,同时也提供IMAP/POP3/SMTP服务。它具有占用内存少、并发能力强的特点,在同类型的网页服务器中表现出色[^4]。 #### 安装与基本配置 对于初次接触者来说,理解如何安装以及初步设置至关重要。当针对网站80端口的所有请求,默认情况下会映射至`/usr/local/nginx/html`路径下,这是Nginx默认放置HTML页面的位置[^1]。 #### 配置灵活性展示 为了提高效率并优化性能,掌握不同文件类型的缓存策略十分必要。通过灵活配置,Nginx不仅能够高效处理静态资源,还能借助FastCGI_Cache机制加速动态内容分发;而利用第三方模块如ngx_cache_purge,则可实现对特定URL缓存条目的精准控制[^2]。 #### 动态应用集成实例 考虑到实际应用场景中的需求多样性,学会将Java应用程序部署于Nginx之后也是重要的一环。创建专门用于存储静态资源的新建static文件夹,并确保这些资源可以通过运行相应的JAR包来正常访问[^3]。 #### 性能优势概述 值得一提的是,Nginx以其出色的稳定性和可靠性著称——几乎可以达到全年无休地持续运作而不需重启,这得益于其高效的事件驱动架构设计及精简的核心代码库。官方测试结果显示,单台设备上Nginx最多可支撑超过五万个并发连接请求。 ```bash # 示例:查看当前版本号以确认安装成功与否 nginx -v ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值