LNMP
结花
不在夕阳西下时幻想,要在旭日东升时努力
展开
-
nginx和tomcat动静分离实现反向代理
实际业务环境中,用户是直接通过域名访问。基于协议一般是http、https等。默认tomcat运行在8080端口。一般会通过前端服务器反向代理到后端tomcat的方式,来实现用户可以直接通过域名访问到tomcat的webapp动静分离:动态页面的请求交由后端处理(tomcat+java),静态资源直接返回实现配置配置文件参考: server{ listen 80; server_name tomcat.devops.com;原创 2021-04-23 16:20:07 · 131 阅读 · 0 评论 -
Redis主从模式搭建
server01 master 192.168.137.135server02 slave 192.168.137.108①master配置shell > vim /usr/local/redis/bin/redis.conf1.开启监听,在网络中与其他服务器进行网络交互的网卡bind的ip指的是其他的主机需要和这个主机通讯的ip(这个的主机)2.重启redisshell > killall redis-servershell > ./redis-server ./.原创 2021-04-20 19:06:50 · 65 阅读 · 0 评论 -
Redis数据持久化操作-append only file
aof的备份频率①开启aof开启aof后,之前的redis里的数据会丢失vi /usr/local/redis/bin/redis.conf#然后搜索appendonly no#将no改为yes开启#重启redis服务即可在Redis的bin目录下看到相应备份文件总结:aof 适合于备份、数据实时性备份要求更高的情况...原创 2021-04-20 18:26:40 · 199 阅读 · 0 评论 -
Redis数据持久化操作-snappshoting
默认snappshoting是开启的,有一个备份的频率1、通过查看配置文件可以看到以下三条规则是触发自动保存内容到磁盘中的条件。vi /usr/local/redis/bin/redis.conf2、这是snappshoting备份出来的文件名称以及默认是保存在Redis的bin目录下。3、当然我们也可以手动数据备份127.0.0.1:6379> SAVE数据恢复 需要先停掉redis服务如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启原创 2021-04-20 18:10:49 · 77 阅读 · 0 评论 -
缓存雪崩-解决方案
缓存雪崩:缓存具有失效时间,如果缓存失效时间都是一样,本来应该请求缓存的,但是因为缓存失效了,全部请求到了数据库,数据库压力剧增,可能会造成数据库宕机,进而造成系统崩溃。解决方案,设置缓存的失效时间均匀分布。...原创 2021-04-20 10:03:26 · 54 阅读 · 0 评论 -
缓存穿透-解决方案
缓存穿透:访问的数据,数据库不存在的数据,每次都不能够生成缓存,每次请求都直接访问数据库,穿透了缓存,缓存没有起到作用。数据库压力没有得到缓解。解决方案,数据库查不到的,也做一个空缓存或者业务代码禁止查询。...原创 2021-04-20 10:02:23 · 45 阅读 · 0 评论 -
LVS-DR实现-ipvsadm
①在RS上配置#设置arp的通告模式 通过VIP请求到DS服务器shell > echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignoreshell > echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announceshell > echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignoreshell > echo 2 > /proc/sys/ne原创 2021-04-19 10:48:58 · 60 阅读 · 0 评论 -
在DS(负载均衡调度服务器)上通过ipvsadm配置调度规则(LVS-NAT)
常用参数说明-A 增加一个虚拟服务-t 配置虚拟机服务的地址-s 负载均衡调度算法-a 增加一个真实服务器-r 真实服务器的地址-m NAT工作模式-C 清楚所有规则-g DR工作模式-w 权重#定义一个集群服务#定义43.52这个IP为对外访问vip.并设置调度算法为rrshell > ipvsadm -A -t 192.168.43.52:80 -s rr #添加RealServer并指定工作模式为NATshell > ipvsadm -a -t 192.16原创 2021-04-19 09:01:59 · 281 阅读 · 1 评论 -
keepalived虚拟IP(vip)出现在了多台机器上
1、出现原因网络不通畅,禁用了数据包,主备服务器没法通讯,造成备服务器认为主服务器不可用,绑定VIP,主服务器VIP不会释放。2、解决方案①设置非抢占模式,然后通过priority权重来区分谁的优先级更高②单播(定向广播)的方式 (一些特定环境禁用了组播方式)③时间不同步 服务器时间校时2.1-非抢占模式①nopreempt在主备服务器的配置文件,vrrp_instance段中②所有节点设置state工作模式为BACKUP所有节点都启动后,默认都是BACKUP状态,双方在发送组播信息后原创 2021-04-16 10:21:37 · 3709 阅读 · 0 评论 -
Nginx隐藏版本号
Nginx对外提供服务,为了避免被针对某个版本的漏洞进行攻击。经常做法是隐藏掉软件的版本信息。提供一定的安全性。#将以下配置加入到http段配置中server_tokens off;原创 2021-04-14 17:02:26 · 66 阅读 · 0 评论 -
Nginx图片请求防盗链的简单实现
1.什么叫防盗链?有A和B两个网站,B网站经常直接调用A网站的资源(如图片等);但是用户访问B网站时却不会在意B网站的资源到底是哪里来的,他们只会默认这个资源我在B网站看到的,那么就是B网站的资源;实际这个资源是出自A网站,B网站直接调用,这样导致A网站均没有从中获取任何利益,并且还白白浪费服务器资源和带宽;所以,禁止B网站直接访问和调用A网站的资源的方式,就被称之为“防止盗链”2.配置#定义在server里 snljh的server#图片请求防盗链location ~* \.(jpg|p原创 2021-04-14 16:54:41 · 101 阅读 · 1 评论 -
Nginx域名重定向实现
网站的域名升级了,需要启用新的域名使用。但是用户却不知道,还可能使用旧的域名访问网站。需要把通过旧域名访问的来源,重定向到新的域名。语法:#把当前域名的请求全部重定向到新域名www.lnmp.comrewrite / http://www.lnmp.com permanent;#permanent #返回301永久重定向,浏览器地址栏会显示跳转后的URL地址示例配置:#shop.lnmp.com的请求全部重定向到www.lnmp.com中server {原创 2021-04-14 16:39:57 · 816 阅读 · 1 评论 -
Nginx资源重定向实现
业务需求描述:实际业务不存在index.html,需要重写访问index.phpURL为index.html,而实际访问的是index.php,对外被认为是html静态页面①修改配置shell > vim /usr/local/nginx/conf/nginx.conf添加配置rewrite /index.html /index.php last;③重载配置测试访问...原创 2021-04-14 15:42:12 · 388 阅读 · 0 评论 -
nginx内部跳转-location匹配跳转
一、配置location /ip/ { #如果状态码是404,则输出某个东西 error_page 404 = @ip_err; } location @ip_err { #规则 return 503; }以 /ip/ 开头的请求,如果链接的状态为 404。则会匹配到 @ip_err 这条规则上二、测试是否成功?...原创 2021-04-14 13:16:18 · 1325 阅读 · 1 评论 -
Nginx第三方模块安装
一、什么是第三方模块Nginx官方没有的功能,开源开发者定制开发一些功能,把代码公布出来,可以通过编译加载第三方模块的方式,使用新的功能。二、使用1.上传第三方模块例如我现在有ngx-fancyindex-v0.4.3.tar.gz这个第三方模块。2.编译升级安装,并升级shell > tar xvf ngx-fancyindex-v0.4.3.tar.gzshell > cd /root/soft/nginx-1.16.0 <-Nginx的源码目录shell &g原创 2021-04-13 18:32:42 · 228 阅读 · 0 评论 -
Nginx基于域名日志分割
①开启日志的定义规则#定义日志格式 定义http里log_format mylogs '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';②调用规则#访问日志的存储路径配原创 2021-04-13 16:55:58 · 372 阅读 · 0 评论 -
Nginx实现简单的反向代理
反向代理特点:用户是无感知的,不知道使用了代理服务器。反向代理服务器是和真实访问的服务器是在一起的,有关联的。作用:可以根据实际业务需求,分发代理页面到不同的解释器 可以隐藏真实服务器的路径②配置nginx的server并进行转发location / { proxy_pass https://www.baidu.com;}#将请求转发到百度...原创 2021-04-13 16:15:14 · 64 阅读 · 0 评论 -
Nginx配置网页为目录列表显示
显示文件列表,或者需要做一个下载列表示例语法:(将代码配置在你的server段即可)#开启目录列表显示autoindex on;charset utf8;#index 当index默认找不到时,才会使用目录列表index index;注意:如果目录中没有配置的默认index访问项,而autoindex又没有开启,不能够查看访问目录列表,就会报出403错误。查看是否实现:...原创 2021-04-13 11:53:14 · 505 阅读 · 0 评论 -
Nginx配置基于用户的访问控制
基于ngx_http_auth_basic_module模块,默认可用语法:auth_basic “提示信息”;auth_basic_user_file /etc/nginx/htpasswd;配置实现:①创建用户名和密码存储文件shell > yum -y install httpd-toolsshell > cd /usr/local/nginx/conf#生成用户名称和密码(这两个参数自定义)shell > htpasswd -c ./password.db原创 2021-04-13 11:28:33 · 171 阅读 · 0 评论 -
Nginx配置基于IP的访问控制
基于ngx_http_access_module模块,默认可使用语法:deny ip 禁止ip访问allow ip 允许访问写在nginx.conf的server段即可示例:deny all <--禁止所有IP访问allow 192.168.137.11 <--允许137.11这个IP访问#两个结合在一起就是只允许137.11这个IP访问,其他都拒绝。...原创 2021-04-13 11:10:29 · 1286 阅读 · 0 评论 -
Nginx配置客户端缓存
一、客户端缓存的作用告知浏览器获取的信息是在某个区间时间段是有效的。二、配置 vim /usr/local/nginx/conf/nginx.conf#在整个http中生效 配置到http段里expires 1h;#单位参数 d day 天|H hour 小时 M 分三、查看是否生效...原创 2021-04-12 19:09:22 · 343 阅读 · 1 评论 -
Nginx开启Gzip压缩模块
一、为什么开启Gzip压缩模块?压缩文件,使文件变小,传输更快了。目前市场上大部分浏览器是支持GZIP的。IE6以下支持不好,会出现乱码情况。二、开启功能shell > vim /usr/local/nginx/conf/nginx.conf#将以下代码配置到http段里,使整个http服务都启用gzip压缩#开启gzip压缩gzip on;#http协议版本gzip_http_version 1.0;#IE浏览器不开启gzip IE6以下会乱码gzip_disable 'MS原创 2021-04-12 18:50:25 · 177 阅读 · 0 评论 -
使用Nginx自带功能实现不中断业务平滑升级版本
需求1.不中断业务的情况下将Nginx-1.14.2升级到Nginx-1.16.0实现1.先解压传上来的压缩包并进入目录shell > tar xvf nginx-1.16.0.tar.gzshell > cd nginx-1.16.02.查看旧版本Nginx的配置参数,然后复制。3.在新版本Nginx源码目录中./configure加上刚才复制的旧版本参数回车即可[root@server01 nginx-1.16.0]# ./configure --prefix=/usr原创 2021-04-12 15:16:08 · 215 阅读 · 0 评论 -
Nginx不中断业务实现平滑升级
升级软件版本之后,需要启动新的版本,启动不了,端口已经被占用如果直接把旧版本的服务停止掉,会影响线上业务的使用最佳解决办法:①旧的不先停掉②新的又可以起来③旧的和新的同时提供服务,旧的请求完成之后,就停掉旧进程-USR2 平滑启动一个进程(平滑升级)-WINCH 优雅的关闭子进程-QUIT 优雅关闭主进程需求1.Nginx-1.14.2不中断业务的情况下平滑升级到Nginx-1.16.0实现1.解压下载来的包并进入目录shell > tar xvf nginx-1原创 2021-04-12 14:53:31 · 342 阅读 · 0 评论