Nginx架构-Nginx+tomcatTomcat本身就是一个web服务器,可以处理静态文件的请求,但处理能力没有Nginx强,所以需要做一个动静分离在本架构中,Nginx直接代理TomcatTomcat安装略配置文件示例https://coding.net/u/aminglinux/p/nginx/git/blob/master/java/nginx_tomcat.md配置文件示例server
系统级别监控toppsnetstatss日志配置Nginx状态信息增加编译参数--with-http_stub_status_module配置文件中增加stub_statuson;https://coding.net/u/aminglinux/p/nginx/git/blob/master/mon/stat.md配置Nginx状态Nginx有内置一个状态页,需要在编译的时候指定参数--with-h
Nginx配置参数优化Nginx作为高性能web服务器,即使不特意调整配置参数也可以处理大量的并发请求。以下的配置参数是借鉴网上的一些调优参数,仅作为参考,不见得适于你的线上业务。worker进程worker_processes该参数表示启动几个工作进程,建议和本机CPU核数保持一致,每一核CPU处理一个进程。worker_rlimit_nofile它表示Nginx最大可用的文件描述符个数,需要配
Nginx错误日志https://coding.net/u/aminglinux/p/nginx/git/blob/master/log/error.mdNginx访问日志格式https://coding.net/u/aminglinux/p/nginx/git/blob/master/log/format.mdNginx的错误日志Nginx错误日志平时不用太关注,但是一旦出了问题,就需要借助错误
Nginx配置SSLhttps://coding.net/u/aminglinux/p/nginx/git/blob/master/ssl/nginx.mdNginx配置SSLNginx配置示例(单向)cp/etc/pki/ca_test/server/server.*/usr/local/nginx/conf/{listen443ssl;server_namewww.aminglinux.com
先来扫盲CA证书https://coding.net/u/aminglinux/p/nginx/git/blob/master/ssl/ca.md
Nginx的deny和allowhttps://coding.net/u/aminglinux/p/nginx/git/blob/master/access/deny_allow.mdNginx访问控制——deny_allowNginx的deny和allow指令是由ngx_http_access_module模块提供,Nginx安装默认内置了该模块。除非在安装时有指定--without-http_
Nginx负载均衡https://coding.net/u/aminglinux/p/nginx/git/blob/master/proxy/lb.mdNginx的负载均衡配置Nginx通过upstream和proxy_pass实现了负载均衡。本质上也是Nginx的反向代理功能,只不过后端的server为多个。案例一(简单的轮询)upstreamwww{server172.37.150.109:8
示意图#https://coding.net/u/aminglinux/p/nginx/git/blob/master/proxy/pic.mdNginx正向代理#https://coding.net/u/aminglinux/p/nginx/git/blob/master/proxy/z_proxy.mdNginx反向代理#https://coding.net/u/aminglinux/p/ng
Nginx的location配置安装第三方模块echo-nginx-module#gitclonehttps://github.com/openresty/echo-nginx-module.git#./configure--add-module=/path/to/echo-nginx-modulelocation语法#location[=|^~|~|~*]/uri/{….}#coding.net
Rwrite相关全局变量coding.net/u/aminglinux/p/nginx/git/blob/master/rewrite/variable.mdRwrite实战coding.net/u/aminglinux/p/nginx/git/blob/master/rewrite/example.mdnginx常用全局变量变量说明$args请求中的参数,如www.123.com/1.php?a
域名跳转(重定向)、URL重写(伪静态)、动静分离(跳转域名,并接入CDN实现加速)#依赖PCRE库#模块:ngx_http_rewrite_moduleRwrite相关指令#if(条件){command}coding.net/u/aminglinux/p/nginx/git/blob/master/rewrite/if.md#break和lastcoding.net/u/aminglinux/p
一台机器上跑多个站点,即多个域名Nginx默认虚拟主机#不管什么域名解析到该服务器,都会访问到默认虚拟主机#nginx.conf中第一个server{}#或listen80default_server;#泛解析*.aming.comNginx虚拟主机配置规范#主配置文件include虚拟主机配置文件#在conf目录下创建vhost目录,在vhosts目录下面定义虚拟主机配置Nginx基于端口的虚拟
Nginx模块化#Nginx基于模块化设计,每个模块是一个功能实现,分布式开发,团队协作#核心模块、标准HTTP模块、可选HTTP模块、邮件模块、第三方模块#编译后的源码目录objs/ngx_modules.c#https://coding.net/u/aminglinux/p/nginx/git/blob/master/4z/module.mdNginx的web请求机制#并行处理:多进程、多线程
配置文件结构全局配置(user、worker_processes、error_log、pid)events(网络连接相关,worker_connections)http(最重要的部分,大部分功能都放这里)server(虚拟主机相关)location(server里面)全局配置项结构https://coding.net/u/aminglinux/p/nginx/git/blob/master/3z/
1.nginx简介常见WebServer(排行https://news.netcraft.com/archives/2018/,https://w3techs.com/technologies/overview/web_server/all)老牌:Httpd(早期叫Apache),开源,市场份额最高微软:IIS轻量:Lighttpd,性能高,低耗能,功能欠缺Nginx诞生2004年10月发布,俄国
1.光标的移动h向左移动j向下移动k向上移动l(小写的L)向右移动shift+6(数字0)移动到行首shift+4移动到行尾gg移动到首行G移动的行尾nG移动到数字n所在的行ctrl+B向前翻页ctrl+F向后翻页2.删除和粘贴x向后删除一个字符X向前删除一个字符nx向后删除n个字符nX向前删除n个字符dd删除一行ndd删除数字n行yy复制p光标向下复制P光标向上复制u还原上一步的操作v选中字符串
1什么是RAIDRAID全称是独立磁盘冗余阵列(RedundantArrayofIndependentDisks),基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高。RAID分为几个不同的等级,各个不同的等级均在数据可靠性及读写性能做了不同的权衡。实际工作中根据自己的业务需求选择不同的RAID方案。2RAID的实现方式外接式磁盘阵列:通过扩展卡提供适配能力内接式RAID:主板集成
内核方面:$cat/etc/centos-release CentOSLinuxrelease7.4.1708(Core)$uname-r 3.10.0-693.el7.x86_64下载安装xtrabackup:$wgethttps://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.12/binary/redhat/7/
题目要求需求背景:领导要求备份数据库服务器里面的100个库(数据量在几十到几百G),需要以最快的时间完成(5小时内),并且不能影响服务器性能。参考答案screenyuminstall-yscreenscreenmkfifo123.fifoecho"wewrew">123.fifoctrl+a+d退出screencat123.fifoscreen-r测试写入已经完成ex
题目要求用shell脚本实现,部署mysql主从,假设两台机器上已经安装了mysql,并且目前无新库。参考答案#!/bin/bash#这个脚本用来配置MySQL主从同步#作者:猿课-阿铭www.apelearn.com#日期:2018-12-17#!/bin/bashmaster_ip=192.168.100.12slave_ip=192.168.100.13mysqlc="mysql-uroot
题目要求需求背景:需要统计网站的并发量,并绘图。说明:只需要写出shell脚本即可,不用关心zabbix配置。假设日志路径/data/logs/www.aaa.com_access.log日志格式如下:112.107.15.12-[07/Nov/2018:09:59:01+0800]www.aaa.com"/api/live.php"200"-""
题目要求要求:两类机器一共300多台,写个脚本自动清理这两类机器里面的日志文件。在堡垒机批量发布,也要批量发布到crontab里面。A类机器日志存放路径很统一,B类机器日志存放路径需要用匹配(因为这个目录里除了日志外,还有其他文件,不能删除。匹配的时候可用.log)A类:/opt/cloud/log/删除7天前的B类:/opt/cloud/instances/删除15天前的要求写在一个脚本里面。不
题目要求写一个脚本,依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么,如:Hello,root,yourUIDis0.参考答案#!/bin/bash#这个脚本用来问候用户#作者:猿课-阿铭www.apelearn.com#日期:2018-12-11cat/etc/passwd|whilereadlinedousername=`echo$line|awk-F':''{print
题目要求用shell写一个监控服务器cpu使用率的监控脚本。参考答案#!/bin/bash#这个脚本用来计算CPU使用率#作者:猿课-阿铭www.apelearn.com#日期:2018-12-10mail_user=xxx@xxx.comm_mail(){log=$1t_s=`date+%s`t_s2=`date-d"1hoursago"+%s`if[!-f/tmp/$log]then#创建$l
有两个文件a.txt和b.txt,需求是,把a.txt中有的但b.txt中没有的行找出来,并写入到c.txt,然后计算c.txt文件的行数。参考答案#grep-fa.txtb.txt#下边的方法练习逻辑能力#!/bin/bash#这个脚本用来比较文件差异#作者:猿课-阿铭www.apelearn.com#日期:2018-12-07cata.txt|whilereadlinedoif!grep-q"
题目要求在文本文档1.txt第5行(假设文件行数大于5)后面增加如下内容:#Thisisatestfile.#Testinsertlineintothisfile.参考答案sed-i'5a#Thisisatestfile.\n#Testinsertlineintothisfile.'#!/bin/bash#这个脚本用来给文件增加行#作者:猿课-阿铭www.apelearn.com#日期:2018-
题目要求写一个shell脚本,通过curl-I返回的状态码来判定所访问的网站是否正常。比如,当状态码为200时,才算正常。参考答案#!/bin/bash#这个脚本用来判断一个网址是否正常#作者:猿课-阿铭www.apelearn.com#日期:2018-11-01url="http://www.apelearn.com/index.php"mail_user=306798658@qq.comcod
题目要求写一个getinterface.sh脚本可以接受选项[i,I],完成下面任务:1)使用格式:getinterface.sh[-iinterface|-Iip]2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项时,显示其指定ip所属的网卡。例:shgetinterface.sh-ieth0或者shgetinterface.sh-I192.168.0.13)当用户使用除[-i
题目要求编写一个问候程序,它执行时能根据系统当前的时间向用户输出问候信息。假设从半夜到中午为早晨,中午到下午六点为下午,下午六点到半夜为晚上。参考答案if[-a]并且的意思#!/bin/bashd=`date+%H`if[$d-ge0-a$d-lt7]thentag=1elif[$d-ge7-a$d-lt12]thentag=2elif[$d-ge12-a$d-lt18]thentag=3else
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号