发表于: 2018-01-03 23:48:22
1 584
今天完成的事:
1、安装resin,在resin上跑通。
2、nginx实现简单的负载均衡。
3、查看nginx日志,更改配置文件后查看响应时间还是失败。
遇到的问题:
1、nginx子域访问,用ip不加端口号可以访问项目,但是用自己写的名字不加端口号就不行,对比着看了很久不知道原因,这也是昨天遇到的问题。子域访问很简单啊。但是就是出不了效果。也写了好几遍。
但是!!!就在刚才!!!就在刚才,想写日报又试了一遍,没问题了,我真是迷了。现在仍然不知道原因。
2、通过nginx日志查看响应时间
配置nginx.conf如下
查看结果,在最后并没有出现响应的时间
不知道原因。
明天计划:
学习编写脚本。
收获:
1、简单的负载均衡
在nginx.conf中添加如下配置
8080端口对应tomcat,8085对应resin,都部署了项目,
通过以上配置,便可以实现,在访问部署的项目时,,由于配置了proxy_pass地址,所有请求都会先通过nginx反向代理服务器,在服务器将请求转发给目的主机时,读取upstream为 mySever的地址,读取分发策略,配置tomcat权重为4,resin的权重是2,所以nginx会将大部分请求发送给tomcat,也就是8080端口;较少部分给resin来实现有条件的负载均衡,当然实际情况中这个条件就是服务器1、2的硬件指数处理请求能力。
负载均衡配置参数的含义
1)down
表示单前的server暂时不参与负载
2)Weight
默认为1,weight越大,负载的权重就越大。
3)max_fails
允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
4)fail_timeout
max_fails 次失败后,暂停的时间。
5)Backup
其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
2、查看日志的命令,日志位置/nginx/logs/access.log
<1>cat命令三大功能:
显示整个文件,创建一个新的文件,将几个文件合并成一个文件
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
例:
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3
https://www.cnblogs.com/perfy/archive/2012/07/23/2605550.html
<2>grep搜素命令
以正则表达式来搜索文本,使用权限是所有用户。
详解 https://www.cnblogs.com/end/archive/2012/02/21/2360965.html
<3>nginx日志格式,默认的格式是没有$request_time(响应时间)
【问题】为什么有单引号也有双引号?而且查到的博客中单双引号不一样
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'
'$upstream_addr $upstream_response_time $request_time ';
access_log logs/access.log main;
详解
1.$remote_addr 与$http_x_forwarded_for 用以记录客户端的ip地址;
2.$remote_user :用来记录客户端用户名称;
3.$time_local : 用来记录访问时间与时区;
4.$request : 用来记录请求的url与http协议;
5.$status : 用来记录请求状态;成功是200,
6.$body_bytes_s ent :记录发送给客户端文件主体内容大小;
7.$http_referer :用来记录从那个页面链接访问过来的;
8.$http_user_agent :记录客户端浏览器的相关信息;
评论