nginx实现反向代理,通过proxy和upstream两个模块完成,主要是uptream非常重要。
nginx在实现代理转发时,默认采用的rr轮询算法,这就会有一个问题,特别是当用户在nginx代转的一台web服务器上登录时,登陆成功后,如果轮询到第二台会提示用户没有登录成功,解决办法有以下两种:
1、是通过nginx上的ip_hash,它会让该用户始终在一台服务器上,但这样会造成负载不均,浪费服务器资源。
2、通过session会话,也就是再增加一台服务器,将用户的会话信息保存到该服务器上,当然这个session是共享的,web1、web2等等都能访问,该session服务器可采用mamcache或redius内存软件搭建。
用户默认的信息一般都放到了/tmp下。所以就导致了每台服务器上的用户登录都得重新输入,一般软件像nginx通过ip_hash,lvs 通过-p,haproxy通过自身模块包,这些软件自身都能够解决,但是负载就不均了,小网站小流量也可以,大网站一般都不用。
总结:小企业用会话保持,中小企业用共享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端口号
扫描端口是否开启:可用telnet、nmap、nc等。
批量改名案例,有三种方法解决:
第一步:
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