“服务器笔记“
关于负载均衡
负载均衡的工作方式 1.http重定向 当http代理(比如浏览器)向web服务器请求某个url后,web服务器可以通过http响应信息中的location标记来返回一个新的url。这意味着http代理需要继续请求这个新的url,完成自动跳转。 缺点:吞吐率限制 优点:不需要额外的技术支持 2.dns负载均衡 dns负责提供域名解析服务,当访问某个站点时,实际上首先需要通过该站点域名的dns服务器来获取域名指向的ip地址,这一过程,dns服务器完成了域名到ip地址的映射,同样,这样映射也可以是一对多的,这个时候,dns服务器便充当了负载均衡调度器 dig...
温习memcache
memcached 启动参数 memcached -m 64 -vv -d 守护进程 -p 指定端口号 默认 11211 -m 指定最大使用内存大小 默认 64m -t 线程数 默认4 -l 连接的ip地址 ,默认是本机 -M 内存耗尽时返回错误,而不是删除项 -c 最大同时连接数 默认 1024 -f 块大小增长因子,默认是1.25 -n 最小分配空间,key+value+flags 默认是48 -vv 详细信息 还打印客户端命令/响应 -I 重写每个数据页尺寸。调整数据项最大尺寸 -R 通过限制某个连接可以连接提交的命令数,以避免其他连接等待时间过久...
http的request和response介绍
http request 1.request line GET /dir/1.html HTTP/1.1 请求方法 资源位置 协议版本 2.HTTP HEADERS 通用header 请求header 实体 header 3.Content request method HTTP/1.1规范中的8个请求方法 1.GET url长度有限制 2.POST 3.HEAD 4.PUT //201 5.DELETE 6.TRACE 7.OPTIONS 8.CONNECT request headers Accept: text/htm...
SELECT和EPOLL模式
SELECT和EPOLL模式 select模式 1.应用层首先初始化FD_SET(填入需要检测的socket集合),然后调用select函数 2.内核对FD_SET包含的所有socket进行了逐个检测,如果某个socket有状态发生,则填入内容分配一个数组,当所有socket都检查完成后,再将该数组copy到FD_SET中,然后返回应用层 3.select调用返回,应用层从返回的FD_SET中提取有状态发生的socket,并根据socket值映射客户端上下文(可以通过map或hash_map实现映射),然后处理收到的数据 epoll模式 1.应用层调用 ...
linux中awk命令的简单介绍和使用
1.字段以:分隔,打印第一列 awk -F":" '{print $1}' /etc/passwd 2.字段以:分隔,打印第一列和第三列 awk -F":" '{print $1 $3}' /etc/passwd awk -F":" '{print $1":"$3}' /etc/passwd 3.文件形式的执行 vim test.awk 写入 BEGIN {FS=":"} {print $1} awk -f test.awk /etc/passwd 4.普...
linux中sed命令的几个简单事例
删除文件中1-10行的数据 sed -e '1,10d' ./myfile.txt 删除文件中以#开头的行,即删除注释 sed -e '/^#/d' ./myfile.txt 将每行第一次出现的xingdong替换成action sed -e 's/xingdong/action/' ./myfile.txt 将每行所有的xingdong替换成action sed -e 's/xingdong/actio/g' ./myfile.txt 把结果存储到文件 sed -e 's/xingdong/actio/g' ./myfile.txt > ./ne...
Linux 中查看文件第n行内容的命令
Linux 中查看文件第n行内容的命令 方法1 head -m filename | tail -1 //查看filename文件的第m行(tail -1 是数字1) 例子:head -100 data.txt | tail -1 //查看data.txt文件的第100行 方法2 nl filename | sed -n 'mp' //查看filename文件的第m行 例子:nl data.txt | sed -n '100p' //查...
mongodb日志太大问题
MongoDB的日志文件在设置 logappend=true 的情况下,会不断向同一日志文件追加的,时间长了,自然变得非常大。 解决如下:(特别注意:启动的时候必须是--logpath指定了log路径的) 用mongo连接到服务端 use admin //切换到admin数据库 db.runCommand({logRotate:1}) 这样会使mongo关闭当前日志文件,重启一个新的日志文件,不需要停止mongodb服务。 如果感觉之前的log日志文件无用,可以删除掉,这样能节省很大的硬盘空间。
Mac下Operation not permitted问题
之前把php-fpm命令复制到/usr/sbin目录中,现在想删除却提示 Operation not permitted 原来苹果系统在某版本后加入了Rootless机制,很多系统目录不再能够随心所欲的读写了,即使设置 root 权限也不行。 以下路径无法写和执行 /System /bin /sbin /usr (except /usr/local) 关闭 重启按住 Command+R,进入恢复模式,打开终端 csrutil disable reboot 开启 重启按住 Command+R,进入恢复模式,打开终端 csrutil enable reboo...
thinkphp的nginx重写兼容配置
if (!-e $request_filename) { rewrite ^/index.php(.)$ /index.php?s=$1 last; rewrite ^(.)$ /index.php?s=$1 last; break; }