找到
37
篇与
技术
相关的结果
- 第 4 页
-
配置Nginx实现负载均衡 在关于高并发负载均衡一文中已经提到,企业在解决高并发问题时,一般有两个方向的处理策略,软件、硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中web服务器前面一层最常用的的添加负载方案就是使用nginx实现负载均衡。 一、负载均衡的作用 1、转发功能 按照一定的算法【权重、轮询】,将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系统并发量。 2、故障移除 通过心跳检测的方式,判断应用服务器当前是否可以正常工作,如果服务器期宕掉,自动将请求发送到其他应用服务器。 3、恢复添加 如检测到发生故障的应用服务器恢复工作,自动将其添加到处理用户请求队伍中。 二、Nginx实现负载均衡 同样使用两个tomcat模拟两台应用服务器,端口号分别为8080 和8081 1、Nginx的负载分发策略 Nginx 的 upstream目前支持的分配算法: 1)、轮询 ——1:1 轮流处理请求(默认) 每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。 2)、权重 ——you can you up 通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。 3)、ip_哈希算法 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。 2、配置Nginx的负载均衡与分发策略 通过在upstream参数中添加的应用服务器IP后添加指定参数即可实现,如: 通过以上配置,便可以实现,在访问8080.max.com这个网站时,由于配置了proxy_pass地址,所有请求都会先通过nginx反向代理服务器,在服务器将请求转发给目的主机时,读取upstream为 tomcatsever1的地址,读取分发策略,配置tomcat1权重为3,所以nginx会将大部分请求发送给49服务器上的tomcat1,也就是8080端口;较少部分给tomcat2来实现有条件的负载均衡,当然这个条件就是服务器1、2的硬件指数处理请求能力。 3、nginx其他配置 upstream myServer { server 192.168.72.49:9090 down; server 192.168.72.49:8080 weight=2; server 192.168.72.49:6060; server 192.168.72.49:7070 backup; } 1)down 表示单前的server暂时不参与负载 2)Weight 默认为1.weight越大,负载的权重就越大。 3)max_fails 允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误 4)fail_timeout max_fails 次失败后,暂停的时间。 5)Backup 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。 三、使用Nginx的高可用 除了要实现网站的高可用,也就是提供n多台服务器用于发布相同的服务,添加负载均衡服务器分发请求以保证在高并发下各台服务器能相对饱和的处理请求。同样,负载均衡服务器也需要高可用,以防如果负载均衡服务器挂掉了,后面的应用服务器也紊乱无法工作。 实现高可用的方案:添加冗余。添加n台nginx服务器以避免发生上述单点故障。具体方案详见下文:keepalive+nginx实现负载均衡高可用 四、总结 总结一点,负载均衡不论是各种软件或硬件上的解决方案,主要还是将大量的并发请求按照一定的规律分发给不同的服务器处理,从而减少某台服务器的瞬时压力,提高网站的抗并发能力。nginx在负载均衡的应用之所以广泛,笔者认为这归功于它的灵活配置,一个nginx.conf文件解决大部分问题,不论是nignx创建虚拟服务器、nginx的反向代理服务器,还是本文介绍的nginx的负载均衡,几乎都在这个配置文件中进行。服务器上只负责把nginx搭好,跑起来即可。而且它本身轻量级,不需要占用服务器太多资源就可以达到较好的效果,腻害。 本文转载https://www.cnblogs.com/qlqwjy/p/8536779.html
-
关于Tomcat服务器打开不了HOST Manager的问题 Tomcat点击后报错404 解决办法 在以前的Tomcat版本安装目录里面找到WebApps文件夹下的host-manager文件夹将它复制到新安装的Tomcat 9.0同样的目录下即可。 点击后报错403及解决办法 在tomcat-users.xml里添上几句即可 打开webapps下的host-manager和manager,都有一个共同的文件夹META-INF,里面都有context.xml,这个文件的内容是: <Context antiResourceLocking="false" privileged="true" > <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" /> </Context>通过查看官方文档,知道,这段代码的作用是限制来访IP的,127.d+.d+.d+|::1|0:0:0:0:0:0:0:1,是正则表达式,表示IPv4和IPv6的本机环回地址,所以这也解释了,为什么我们本机可以访问管理界面,但是其他机器确?403。找到原因了,那么修改一下这里的正则表达式即可,比如我们只允许内网网段192.168.88访问管理页面,那么改成这样就可以: <Context antiResourceLocking="false" privileged="true" > <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.88.*" /> </Context>3.tomcate8配置管理界面的用户角色 <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status"/>修改完毕,关闭浏览器,重新打开tomcat,问题解决!
-
黑群晖DS3617xs半洗白与全洗白教程 黑裙、半洗白、洗白的区别 黑群晖 不能注册和登录QuickConnect(简称“QC”,就是没有公网的用户利用群晖服务器进行内网穿透); DS Photo/Moments套件的预览图是黑的; DS Video看片时视频质量的高、中、低码率不能自由切换只能选择原码; DS Video不能离线转码(群晖默认不能播放RM/RMVB等文件格式,以前网上下载的影片多为此类格式,所以有时需要转换成能播放的MP4文件格式)。 半洗白 DS Photo/Moments预览图正常; DS Video的视频质量高、中、低码率可以自由切换; DS Video可以离线转码。但是不能注册和登录QuickConnect。 全洗白 当然就跟群晖一样了 所有的功能均能正常使用 半洗白步骤 获取sn码 套件中心下载dock创建dsm 进入dock中dsm记录序列号 洗白 输入 sudo -i 这个命令,获取root超级权限,再次输入当前管理用户的密码(输入密码的时候,界面不会有提示,输入完,按回车即可)。 输入 mkdir -p /tmp/boot 这个命令。这个命令的含义是:在/tmp目录下创建名字为boot的目录,这个名字随意,没有强迫症就照着我的输入即可。 输入 cd /dev 这个命令,进入到dev目录。 输入 mount -t vfat synoboot1 /tmp/boot/ 命令。意思是:将synoboot1分区挂载到boot,这个boot就是在第四步创建的目录。 输入 ls /tmp/boot/ 命令,查看boot目录是否有挂载的文件,有文件就代表挂载成功。 输入 cd /tmp/boot/grub 命令,进入到挂载的grub目录。 输入 vi grub.cfg 命令,然后按 i ,会进入编辑模式,编辑配置文件,修改SN码.(全洗白需要更改对应mac码,这个获取比较困难,半洗白够用了) 按 esc,然后输入 :wq ,会保存退出。 输入 reboot 等待重启
-
黑群晖故障-抱歉,您所指定的页面不存在 前言:故障问题已经遇到了两次 第一次出现问题找教程解决了第二次出现决定记录一下 首先确保你的黑群晖是开启SSH功能的,没有开启就不要往下看了,直接使用PE进行替换吧 1、找一台正常的群晖主机,复制 lib 目录下其中的三个文件: libsynoshare.so.6 libsynopkg.so.1 libsynostoragemgmt.so或者,官网直接下载 ds3617xs (根据黑群安装的系统选择)最新版的安装包,直接用7zip解压,在目录 hda1.tgz\hda1\usr\lib 里复制出来; 2、用 winscp 连接黑群晖主机,通过 sftp 或者 scp 连接,连接不上看下防火墙是否开放相应端口。 3、打开/lib文件夹 直接将文件拖进去覆盖就可以了 别忘了reboot PS: 如果还有问题,请检查下三个文件的权限,更改为 644
-
CentOS7.4安装部署KVM虚拟机 查看系统版本 cat /etc/centos-release CentOS Linux release 7.4.1708 (Core) 首先验证CPU是否支持虚拟化,输入有vmx或svm就支持,支持虚拟化则就支持KVM cat /proc/cpuinfo | egrep 'vmx|svm' 查看是否加载KVM lsmod | grep kvm kvm_intel 170086 0 kvm 566340 1 kvm_intel irqbypass 13503 1 kvm这表明已经加载,如果没有加载则执行以下命令加载KVM modprobe kvm 关闭selinux setenforce 0 vim /etc/sysconfig/selinux SELINUX=disabled 安装KVM相关软件包 yum install qemu-kvm qemu-img \ virt-manager libvirt libvirt-python virt-manager \ libvirt-client virt-install virt-viewer -yqemu-kvm: KVM模块 libvirt: 虚拟管理模块 virt-manager: 图形界面管理虚拟机 virt-install: 虚拟机命令行安装工具 启动libvirt并设置开机自启动 systemctl start libvirtd systemctl enable libvirtd 使用图形化界面安装虚拟机 因为我的服务器是自动分区进行安装的,所以/home目录空间最大。 我将建立两个目录分别用来存放iso文件和生成的qocow2磁盘文件 新建两个目录 mkdir /home/iso mkdir /home/images1)进入图形化 virt-manager
-
Frp后台启动与自启动 1、使用nohup来启动 这是frps的后台启动(路径写你服务器上的绝对路径),如果要查看日志的话,就直接使用cat nohup.out,就可以查看了。 nohup /path/to/your/fprs -c-c /path/to/your/frps.ini这是frpc的后台启动 nohup /path/to/your/fprc -c-c /path/to/your/frpc.ini2、使用systemctl来控制启动 这个方法比较好用,很方便 vim /lib/systemd/system/frps.service在frps.service里写入以下内容 [Unit] Description=fraps service After=network.target syslog.target Wants=network.target [Service] Type=simple #启动服务的命令(此处写你的frps的实际安装目录) ExecStart=/your/path/frps -c /your/path/frps.ini [Install] WantedBy=multi-user.target启动 frps systemctl start frps打开自启动 systemctl enable frps重启 systemctl restart frps停止 systemctl stop frps日志 systemctl status frps
-
linux防火墙操作命令 iptables防火墙 1、基本操作 service status #查看防火墙状态 service iptables stop #停止防火墙 service iptables start #启动防火墙 service iptables restart #重启防火墙 chkconfig iptables off #永久关闭防火墙 chkconfig iptables on #永久关闭后重启2、开启80端口 vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #加入代码 #:wq保存退出后重启防火墙 service iptables restart #重启防火墙firewall防火墙 1、查看firewall服务状态 systemctl status firewalld2、查看firewall的状态 firewall-cmd --state3、开启、重启、关闭、firewalld.service服务 service firewalld start #开启 service firewalld restart #重启 service firewalld stop #关闭4、查看防火墙规则 firewall-cmd --list-all 5、查询、开放、关闭端口 firewall-cmd --query-port=8080/tcp #查询端口是否开放 firewall-cmd --permanent --add-port=80/tcp #开放80端口 firewall-cmd --permanent --remove-port=8080/tcp #移除端口 firewall-cmd --reload #重启防火墙(修改配置后要重启防火墙) 5.1参数解释 1、firwall-cmd:是Linux提供的操作firewall的一个工具; 2、--permanent:表示设置为持久; 3、--add-port:标识添加的端口;