nginx反向代理、文件批量改名及统计ip访问量等精髓总结

简介:

nginx实现反向代理,通过proxyupstream两个模块完成,主要是uptream非常重要。

nginx在实现代理转发时,默认采用的rr轮询算法,这就会有一个问题,特别是当用户在nginx代转的一台web服务器上登录时,登陆成功后,如果轮询到第二台会提示用户没有登录成功,解决办法有以下两种:

1、是通过nginx上的ip_hash,它会让该用户始终在一台服务器上,但这样会造成负载不均,浪费服务器资源。

2、通过session会话,也就是再增加一台服务器,将用户的会话信息保存到该服务器上,当然这个session是共享的,web1web2等等都能访问,该session服务器可采用mamcacheredius内存软件搭建。

 

用户默认的信息一般都放到了/tmp下。所以就导致了每台服务器上的用户登录都得重新输入,一般软件像nginx通过ip_hashlvs 通过-phaproxy通过自身模块包,这些软件自身都能够解决,但是负载就不均了,小网站小流量也可以,大网站一般都不用。

 

总结:小企业用会话保持,中小企业用共享session,大型门户网站采用cookie,把session推到用户端浏览器。

 

当后端有web上有多个虚拟主机时,nginx默认参数就不能识别了,为此nginx提供了以下扩展参数解决此问题:

proxy_set_header Host $host;表示用户访问web上的什么虚拟主机网站就该网站。

proxy_set_header X Forwarder For $remote_addr;表示web上显示用户的ip地址等信息而不是nginx代理服务器的ip等信息。

 

ssh换端口的加上-p端口号  scp换端口的加上-P端口号

扫描端口是否开启:可用telnetnmapnc等。

 

批量改名案例,有三种方法解决:

第一步:

Cd /root/test

创建以下文件,可通过两种方式:

第一种如下:

touch stu_102999_{1..5}_finished.jpg

Ls

 

-rw-r--r-- 1 root root 0 9月  25 10:14 stu_102999_1_finished.jpg

-rw-r--r-- 1 root root 0 9月  25 10:14 stu_102999_2_finished.jpg

-rw-r--r-- 1 root root 0 9月  25 10:14 stu_102999_3_finished.jpg

-rw-r--r-- 1 root root 0 9月  25 10:14 stu_102999_4_finished.jpg

-rw-r--r-- 1 root root 0 9月  25 10:14 stu_102999_5_finished.jpg

第二种如下:

Vi a.txt

stu_102999_1_finished.jpg

stu_102999_2_finished.jpg

stu_102999_3_finished.jpg

stu_102999_4_finished.jpg

stu_102999_5_finished.jpg

 

Touch `cat a.txt`

 

第二步:

先处理一个,可显示结果,然后通过mv命令去执行。

[root@backup test]# f=stu_102999_5_finished.jpg

[root@backup test]# echo $f

stu_102999_5_finished.jpg

[root@backup test]# echo $f|sed 's#finished##g'

stu_102999_5_.jpg

第二步:

mv $f  `echo $f|sed 's#finished##g'`

第三步:

for n in `ls *.jpg`;do mv $n `echo $n|sed 's#finished##g'`;done

 

第二种方法:

ls |awk -F finished {print mv  $0 $1$2} |bash

 

第三种方法:

Rename finished   *.jpg

 

案列处理解答:

将文本表中,取出oldboy.log中出现次数最多的网址。

[root@backup ~]# cat lodboy.log

http://www.etiantian.org/index.html

http://www.etiantian.org/1.html

http://post.etiantian.org/index.html

http://mp3.etiantian.org/index.html

http://www.etiantian.org/3.html

http://post.etiantian.org/2.html

[root@backup ~]# awk -F "/" '{print $3}' oldboy.log |sort|uniq -c|sort -rn

      3 www.etiantian.org

      2 post.etiantian.org

      1 mp3.etiantian.org


本文转自  流颗星  51CTO博客,原文链接:http://blog.51cto.com/liukexing/1968751



相关文章
|
4月前
|
存储 应用服务中间件 nginx
在使用Nginx之后,如何在web应用中获取用户IP以及相关原理
但总的来说,通过理解网络通信的基础知识,了解http协议以及nginx的工作方式,我们已经能在大多数情况下准确地获取用户的真实IP地址了,在调试问题或者记录日志时会起到很大的帮助。
246 37
|
10月前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
580 60
|
10月前
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
583 60
|
8月前
|
缓存 负载均衡 应用服务中间件
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇
通过使用Nginx的反向代理功能,可以有效地提高Web应用的性能、安全性和可扩展性。配置过程中需要注意不同场景下的具体需求,如负载均衡、SSL终止和缓存策略等。正确配置和优化Nginx反向代理可以显著提升系统的整体表现。
1299 20
|
9月前
|
缓存 Java 应用服务中间件
nginx的正向代理和反向代理以及tomcat
Nginx的正向代理和反向代理功能在不同的场景中具有重要作用,正向代理主要用于客户端访问控制和匿名浏览,而反向代理则用于负载均衡和高可用性服务。Tomcat作为Java Web应用服务器,与Nginx结合使用,可以显著提升Web应用的性能和稳定性。通过合理配置Nginx和Tomcat,可以构建高效、稳定和可扩展的Web服务架构。
338 11
|
9月前
|
存储 应用服务中间件 nginx
nginx反向代理bucket目录配置
该配置实现通过Nginx代理访问阿里云OSS存储桶中的图片资源。当用户访问代理域名下的图片URL(如 `http://代理域名/123.png`)时,Nginx会将请求转发到指定的OSS存储桶地址,并重写路径为 `/prod/files/2024/12/12/123.png`。
330 5
|
9月前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
804 3
|
负载均衡 应用服务中间件 nginx
nginx-tomcat反向代理以及负载均衡测试
nginx-tomcat反向代理以及负载均衡测试
162 0
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
231 2
|
10月前
|
缓存 负载均衡 算法
如何配置Nginx反向代理以实现负载均衡?
如何配置Nginx反向代理以实现负载均衡?