简介
haproxy
是一款功能强大、灵活好用反代软件,提供了高可用、负载均衡、后端服务器代理的功能,它在7层负载均衡方面的功能很强大(支持cookie
track
, header rewrite
等等),支持双机热备,支持虚拟主机,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障, HAProxy
会自动将该服务器摘除,故障恢复后再自动将该服务器加入;同时还提供直观的监控页面,可以清晰实时的监控服务集群的运行状况。
方法
1、安装haproxy
yum -y install haproxy
2、然后清空haproxy.cfg
文件内容
cd /etc/haproxy/
> haproxy.cfg
3、把下面的内容写入到haproxy.cfg
文件中
global
ulimit-n 51200
defaults
log global
mode tcp
option dontlognull
timeout connect 1000ms
timeout client 150000ms
timeout server 150000ms
listen status
bind 0.0.0.0:1080
mode http
log global
stats refresh 30s
stats uri /admin?stats
stats realm Private lands
stats auth admin:password
stats hide-version
frontend ssin
bind *:1000-2000
default_backend ssout
backend ssout
server server1 11.22.33.44 maxconn 204800
说明:bind *:1000-2000
这里指的是1000-2000
端口,11.22.33.44
为需要转发的服务器的IP
。
4、启动haproxy
服务
service haproxy start
原创文章,作者:南猫,如若转载,请注明出处:https://southcat.net/1505/
不妨点个广告再走嘛
相关推荐
-
Merger:一个美观的微信/支付宝/PayPal等付款二维码合并程序
说明:Merger是一个使用JavaScript实现大部分功能的付款二维码合并程序,界面使用了渐变色,看上去很美观,你可以使用Merger生成一张二维码,或者直接把你的Merger链接发送给对方。Merger会通过User Agent识别对方的客户端,随即展示相应的内容。部署起来也是很方便的,只需要做下简单的配置,再丢到任何一个能够托管静态网页的服务里即可,这样我们可以用来搭建一个属于自己的支付(打赏)页面。 截图 特性 最小化的请求数,最大化的速度。 拥有详尽的代码注释,方便二次开发。 结合实际使用场景为每一种支付方式独立定制的展示样式。 高度可定制化,页面上一切内容均可通过简单的js代码更改。无需任何编程技巧。 除图片外的所有静态文件均默认使用jsDelivr分发。 安装 Github地址:https://github.com/hifocus/merger使用文档:https://merger.hxco.dev 1、安装Git #CentOS系统 yum install git -y #Debian/Ubuntu系统 apt install git -y 2、拉取源码 git clone https://github.com/hifocus/merger.git cd merger #重新命名 mv merger.html index.html 3、编辑信息这里只需要编辑index.html文件即可,也就是修改之前的merger.html,使用命令: nano index.html 大致需要修改下面几个地方: #支付方式,需要将你的微信、QQ、支付宝收款码图片解析成链接填入即可,解析地址:https://www.sojson.com/deqr.html,paypal直接使用个人收款链接即可。 var wechat = "wxp://f2f0xFuBE5tqPeKu"; var alipay = "https://qr.alipay.com/fkx01299q"; var tenpay = "https://i.qianbao.qq.com/wallet/sqrcode."; var paypal = "https://paypal.me/moerats"; #昵称和头像地址 var myname = "MOERATS"; var profile ="https://www.southcat.net/usr/picture/rats.png"; #界面文字提示,可以默认不用修改 var title = "选择你的支付方式"; var subtitle = "跟随进一步的指示以向" + myname + "付款"; #调试模式,可以使用#注释掉 var debugmode = "true"; #二维码生成api接口,直接默认即可,不过也可以替换其它接口 var qrcodeapi = "https://www.zhihu.com/qrcode?url="; #配置页面标题,更改<title> </title>中间的内容即可。 <title>Merger - Merge your...
-
offcloud:一个强大的支持离线下载和网盘下载/上传的网站
说明:现在国内很多下载工具都不行了,QQ旋风也被关停了,迅雷也是惨不忍睹,下载国外资源和冷门资源的时候基本没速度,这时候就需要个工具来拯救了,今天介绍个强大的离线下载站offcloud,对于下载冷门资源和国外资源还是很给力的。 简介 offcloud是一款网盘+离线下载的网站,提供10GB免费空间(付费后无限空间),支持离线下载磁力链接,BT种子文件,HTTP,HTTPS等直链,同时还提供国外视频网站的下载,包括Youtube、Youjizz等,此外offcloud还支持把下载好的离线上传,支持FTP、WebDAV、Google Drive、Dropbox还有OneDrive等。 支持的网盘和视频网站列表:https://offcloud.com/list,好像还看到了百度网盘。 使用 进入网站:https://offcloud.com/直接在首页输入邮箱就提示注册成功,再进入邮件设置一下密码就行了。进入后台后点左侧Instant直接下载,有遍布全球的服务器,选择距离比较近的,直接Download即可。点击左侧Cloud就可以离线下载磁力链接,更多功能就自己慢慢看。 价格 offcloud注册后就是免费账号,每个月只能下载3次。偶尔用用还是不错的。
-
WordPress博客网站常用Robots.txt规则
说明:我们有时候页面有些内容由于某些因素,都要防止被搜索引擎收录,而禁止搜索引擎收录比较简单的办法是在Robots.txt里设置规则,Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。这里说下方法。 这里以WordPress博客网站为例,在网站根目录Robots.txt里添加如下规则: User-agent: * Disallow: /wp-admin/ Disallow: /wp-content/ Disallow: /wp-includes/ Disallow: /*/comment-page-* Disallow: /*?replytocom=* Disallow: /category/*/page/ Disallow: /tag/*/page/ Disallow: /*/trackback Disallow: /feed Disallow: /*/feed Disallow: /comments/feed Disallow: /?s=* Disallow: /*/?s=*\ Disallow: /attachment/ 下面分别解释一下各项的作用: 1、Disallow: /wp-admin/、Disallow: /wp-content/和Disallow: /wp-includes/ 用于告诉搜索引擎不要抓取后台程序文件页面。 2、Disallow: /*/comment-page-*和Disallow: /*?replytocom=* 禁止搜索引擎抓取评论分页等相关链接。 3、Disallow: /category/*/page/和Disallow: /tag/*/page/ 禁止搜索引擎抓取收录分类和标签的分页。 4、Disallow: /*/trackback 禁止搜索引擎抓取收录trackback等垃圾信息 5、Disallow: /feed、Disallow: /*/feed和Disallow: /comments/feed 禁止搜索引擎抓取收录feed链接,feed只用于订阅本站,与搜索引擎无关。 6、Disallow: /?s=*和Disallow: /*/?s=*\ 禁止搜索引擎抓取站内搜索结果 7、Disallow: /attachment/ 禁止搜索引擎抓取附件页面,比如毫无意义的图片附件页面。
-
给WordPress、Emlog等博客网站添加下雪特效,附带Typecho下雪插件
前言 又到了白色相簿的季节,给博客页面加上雪花效果是再好不过的了。 截图 介绍 让页面开始下雪吧 较低的CPU消耗,移动端效果良好 原生JavaScript实现,不依赖其他类库 丰富的自定义项,可自定义多种选项 Typecho插件 Github地址:https://github.com/journey-ad/Snow-Typecho-Plugin/ 如果你用的是Typecho,那么只需在Github下载插件并启用即可,Wordpress、Emlog等博客教程请接着往下看! 通用教程 1、创建画布在方便的位置加入以下内容 <canvas id="Snow"></canvas> 2、引入JS重要的数值已在注释中给出 (function() { var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60); }; window.requestAnimationFrame = requestAnimationFrame; })(); (function() { var flakes = [], canvas = document.getElementById("Snow"), //画布ID,与上一步创建的画布对应 ctx = canvas.getContext("2d"), flakeCount = 200, //雪花数量,数值越大雪花数量越多 mX = -100, mY = -100; canvas.width = window.innerWidth; canvas.height = window.innerHeight; function snow() { ctx.clearRect(0, 0, canvas.width, canvas.height); for (var i = 0; i < flakeCount; i++) { var flake = flakes[i],...
-
使用phpmyadmin批量修改WordPress等博客文章信息
说明:有时候网站出现变动后,就需要修改很多信息,很多人只会手动修改,这对于数据很少的还好说,多就需要时间了,比如开启ssl后,需要将http开头的都修改成https,这样手动就很麻烦了,可以利用phpmyadmin来批量修改了,这样很快。 以下修改都需要SQL语句来执行,即使你不知道SQL语句是什么,那没事,直接使用下面的语句命令就行了,不过这里先介绍以下如何执行SQL语句,进行批量操作。现在一般的空间都是用phpmyadmin来管理数据库,这里将以phpmyadmin为例来介绍如何执行SQL语句:1、进入你的phpmyadmin管理页面,然后进入你的博客对应的数据库2、菜单栏有个SQL选项,点击进去3、出现一个SQL语句的输入框,现在你就可以在里面输入SQL语句了4、输入完毕,点击执行 ,将执行你刚才输入的SQL语句5、SQL语句执行完毕,你的文章也被批量修改了,现在去看看你的文章是否都被更改了6、最后提个醒:以下介绍的SQL语句都在我的博客上做过测试,但是尽管如此,操作数据库之前都要先备份一下你的数据库;定期备份你的数据库是好习惯 SQL命令执行窗口: 这里以wordpress为例,其它博客的话多看几遍以下SQL语句应该也会修改了。 1、批量修改文章内容:如果你想替换之前写过的所有文章中的某些内容,如更换博客的名称,更换博客的网址,更换文章配图的链接等等,你可以使用以下SQL语句: UPDATE wp_posts SET post_content = REPLACE( post_content, 'http://southcat.net', 'https://southcat.net' ); 该语句的功能是将所有文章中的http://southcat.net字眼,全部替换成https://southcat.net,你可以根据需要做一些更改。因为文章内容在数据库中是以HTML代码形式存储的,所以以上SQL语句同样可以替换HTML代码。 如果你只是想更改文章插图的链接,而不想影响其他的链接,可以使用以下SQL语句,所有src="oldurl.com被替换成了src="newurl.com UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="oldurl.com', 'src="newurl.com'); 如果你是以图片附件形式上传的话,需要更改图片附件的GUID UPDATE wp_posts SET guid = REPLACE (guid, 'oldsiteurl.com', 'newsiteurl.com') WHERE post_type = 'attachment'; 2、批量修改文章摘要:文章摘要就是你在WordPress后台编辑文章时,"摘要"框中输入的内容,如果你想批量更改文章摘要,可以使用以下语句: UPDATE wp_posts SET post_excerpt = REPLACE( post_excerpt, 'Rat', 'Rats' ); 该语句的功能是将所有文章摘要中的Rat字眼,全部替换成Rats。 3、批量修改文章的作者:假设你的博客有两名注册用户,张三和李四,你想将张三的所有文章划归到李四名下,这时候该怎么办呢?你可以执行以下语句: UPDATE wp_posts SET post_author = 李四用户id WHERE post_author = 张三用户id; 那如何获得 李四的用户id和张三的用户id呢?你可以执行以下SQL语句: SELECT ID, user_nicename, display_name FROM wp_users; 这时将列出你博客上所有的注册用户的ID,昵称和公开显示的名称,你现在就可以找到对应用户的ID了。 4、批量修改文章评论者的网站URL:假设,你的博客有个非常忠实的读者,给你的博客文章留下很多有用的评论,同时他的评论都填写了留言者的网站URL,但是有一天他的博客域名换了,并请求你更新他留言中的网站URL,那你怎么办?手动一个一个帮他改,这不太现实。你可以使用以下SQL语句: UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, 'oldurl.com', 'newurl.com' ) 以上语句,将留言者所有旧的网站链接oldurl.com,更改为新的网址newurl.com 5、禁用所有文章的pingback功能:开启pingback功能,可以在别人引用你的文章链接的情况下,给你发送通知,但是该功能似乎对我们的文章没多大帮助,那为何不把pingback给禁止了呢?在WordPress后台 - 设置 - 讨论,取消勾选"接收来自外部博客的引用通告(pingbacks和trackbacks)",这样以后的文章都不开启pingback,但是该选项不会对之前的已发布的文章起作用,还是要用到SQL:...
-
一个轻量级的企业Wiki和团队知识分享平台:MM-Wiki搭建教程
说明:很早前有小伙伴问了下有没有团队wiki程序,最近好像看到了个MM-Wiki,感觉还不错,一个轻量级的企业知识分享与团队协同软件,可用于快速构建企业Wiki和团队知识分享平台。部署方便,使用简单,帮助团队构建一个信息共享、文档管理的协作环境,安装也是很简单的,毕竟是基于Golang,这里就介绍下。 截图 特点 部署方便,基于golang编写,只需要下载对于平台下二进制文件执行即可。 快速安装程序, 提供方便的安装界面程序,无需任何手动操作。 独立的空间,空间是一组文档的集合,一般为公司部门或者团队,空间下的文档相互独立。空间可根据需求设置空间访问级别。 完善的系统权限管理,系统可以自定义角色,并为不同角色授予不同的权限。 集成统一登录,本系统支持通过外部系统认证用户, 比如与公司的LDAP登录融合。具体请看登录认证功能。 邮件通知功能,当开启邮件通知,文档更改会通知所有关注该文档的用户。 文档具有分享和下载功能,目前只支持下载MarkDown源文件。 安装 Github地址:https://github.com/phachon/mm-wiki 1、安装Mysql你有宝塔的,直接在宝塔上安装Mysql,安装过的可以跳过,直接进行下一步,没有安装的可以手动安装下。 #CentOS 6系统 rpm -ivh http://repo.mysql.com/mysql57-community-release-el6.rpm yum install mysql-community-server -y service mysqld start chkconfig mysqld on #CentOS 7系统 rpm -ivh http://repo.mysql.com/mysql57-community-release-el7.rpm yum install mysql-community-server -y systemctl start mysqld systemctl enable mysqld #Debian/Ubuntu系统 apt update apt install mysql-server -y 如果Debian或Ubuntu在安装期间有弹出窗口要你输入密码就设置一个,没有的话密码就是空格。 对于CentOS安装MySQL 5.7的时候会生成一个随机密码,使用命令查看: grep "password" /var/log/mysqld.log #大致信息,******为密码 [Note] A temporary password is generated for root@localhost: ****** 然后接下来CentOS和安装期间没要求输入密码的Debian或Ubuntu,就需要修改数据库密码: #CentOS系统,第一行passwd为你上面看到的密码,第四行moerats为要修改的密码,均自行修改 mysql -u root -ppasswd mysql> set global validate_password_policy=0; mysql> set global validate_password_length=4; mysql> set password=password("moerats"); mysql> exit; #Debian、Ubuntu系统,第一行登录数据库的时候直接Enter跳过,第二行moerats为要修改的密码,自行修改 mysql -u...
-
一个现代、安全且简洁的PHP短链接程序:URL-Shorter
简介 URL-Shorter是一个现代、安全且简洁的PHP短链接,由岁月小筑博主开发,后期功能会逐步添加。 截图 功能 使用PDO和Bindparam防注入 使用Ajax获取短链接(免刷新) 使用纯JS复制生成的短链接 安装 Github地址:https://github.com/littleplus/url-shorter 1、搭建好web环境,并添加域名 2、git clone或者下载代码到网站根目录。 #git下载,仅作参考 cd /home/xx.com git clone https://github.com/littleplus/url-shorter.git mv url-shorter/{,.}* ./ 3、新建数据库,并导入根目录的url.sql数据。 4、编辑根目录config.php配置文件,填入域名和数据库信息 5、配置好伪静态Apache直接使用根目录下的.htaccess就可以了。 Nginx添加以下代码 location / { try_files $uri $uri/ /index.php?$args; } 后续 使用Redis缓存,更快,抗压能力更强 使用Redis控制访问速率,抗CC 鉴定不良网站,网站黑名单,后台管理,跳转格式设置,用户注册等
-
出现"ImportError: No module named setuptools"错误的解决方法
说明:有时候我们运行python,会出现无法运行直接报错"ImportError: No module named setuptools"。根据提示应该是缺少setuptools模块导致的,那就需要在当前服务器环境中重新编译安装setuptools工具。这里说下方法。 1、下载setuptools模块 wget --no-check-certificate https://www.southcat.net/usr/down/setuptools-0.6c11.tar.gz tar -zxvf setuptools-0.6c11.tar.gz cd setuptools-0.6c11 2、编译setuptools python setup.py build 3、安装setuptools python setup.py install
-
宝塔面板遇到No space left on device错误的解决方法
说明:博主好几次用宝塔面板,都遇到了磁盘爆满的情况,然后登陆的时候提示IOError: [Errno 28] No space left on device等错误信息,导致登录面板不显示,进不去了,估计很多人会遇到,这里就简单说下解决方法。 方法 一般遇到这种情况都是回收站没清空,或者Mysql数据库及网站的日志文件过大导致的,所以我们只要删除就可以了。 1、宝塔回收站文件夹为/www/Recycle_bin,运行命令: rm -rf /www/Recycle_bin/* 2、如果不是因为回收站的话,那就使用FTP软件登录VPS自行删除大文件日志。 /www/server/data #数据库日志文件夹 /www/wwwlogs #网站日志文件夹
-
Vultr利用快照备份Snapshots功能快速的备份和迁移资料
说明:用了那么久的Vultr,直到今天才发现Vultr还有快照备份Snapshots功能,试了一下后感觉很好用,特别是对于我们经常喜欢换节点服务器的,其实很多商家都有提供Snapshots快照功能,不过别太依赖这个了,都会有翻车的时候,还是乖乖的手动备份下数据。 方法 1、备份数据进入Vultr面板,点击Snapshots选项,选择Add Snapshot,然后在Label那里填一个标签,再点击Take Snapshot。等待备份完成之后,我们才可以去创建。