haproxy服务启动命令_HaProxy安装和常用命令
安装haproxy
对于 haproxy 安装,网上有大量的资源可以参考,最常见的是使用 yum 和 编译安装两种方式。
yum 安装 haproxy
CentOS自带了haproxy,但可能版本比较老。可以在IUS源上找到稳定版的haproxy。
主要步骤如下:
(1)配置yum源
cat </etc/yum.repos.d/ius-7.repo
[ius]
name = IUS for Enterprise Linux 7 - $basearch
baseurl = https://repo.ius.io/7/$basearch/
enabled = 1
repo_gpgcheck = 0
gpgcheck = 1
gpgkey = https://repo.ius.io/RPM-GPG-KEY-IUS-7
[ius-debuginfo]
name = IUS for Enterprise Linux 7 - $basearch - Debug
baseurl = https://repo.ius.io/7/$basearch/debug/
enabled = 0
repo_gpgcheck = 0
gpgcheck = 1
gpgkey = https://repo.ius.io/RPM-GPG-KEY-IUS-7
[ius-source]
name = IUS for Enterprise Linux 7 - Source
baseurl = https://repo.ius.io/7/src/
enabled = 0
repo_gpgcheck = 0
gpgcheck = 1
gpgkey = https://repo.ius.io/RPM-GPG-KEY-IUS-7
eof
(2)清理、更新和快速生成 yum 缓存
yum clean all
yum update
yum makecache fast
(3)查看下系统中haproxy版本有哪些
yum list|grep haproxy
(4)yum安装 haproxy18u
#这里安装 haproxy18u
yum install haproxy18u -y
编译安装 haproxy
编译安装haproxy时,可以借助于pcre环境,该环境下编译时借助正则表达式分析编译速度会快很多,但是没有该环境也可以安装。
主要步骤如下:
(1)安装 pcre pcre-devel
yum -y install pcre pcre-devel
(2)创建haproxy运行的用户和组
groupadd -r haproxy
useradd -g haproxy -M -s /sbin/nologin haproxy
(3)编译安装haproxy
#下载地址:
http://www.haproxy.org/
#解压:
tar zxf haproxy-1.8.23.tar.gz -C /usr/local
#编译安装:
cd /usr/local/haproxy-1.8.23
make TARGET=linux3100 ARCH=x86_64 PREFIX=/usr/local/haproxy USE_PCRE=1
make install PREFIX=/usr/local/haproxy
说明⚠️:
make时需要使用TARGET指定内核及版本,可以通过uname -r来查看,版本如下:
- linux22 for Linux 2.2
- linux24 for Linux 2.4 and above (default)
- linux24e for Linux 2.4 with support for a working epoll (> 0.21)
- linux26 for Linux 2.6 and above
- linux2628 for Linux 2.6.28, 3.x, and above (enables splice and tproxy)
- solaris for Solaris 8 or 10 (others untested)
- freebsd for FreeBSD 5 to 10 (others untested)
- netbsd for NetBSD
- osx for Mac OS/X
- openbsd for OpenBSD 5.7 and above
- aix51 for AIX 5.1
- aix52 for AIX 5.2
- cygwin for Cygwin
- haiku for Haiku
- generic for any other OS or version.
- custom to manually adjust every setting
使用ARCH指定架构,不过ARCH选项可省。使用USE_PCRE=1表示使用PCRE环境编译,加快编译速度。
本文的操作系统内核版本为3.10.0,TARGET指定为 linux2628。我这边使用 linux3100 也没有报错~
编译安装完成后,只有3个目录:doc、share和sbin,sbin里面只有一个haproxy的主程序haproxy。
(4)管理haproxy服务
ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin/haproxy
cd /usr/local/haproxy-1.8.23/examples
cp haproxy.init /etc/rc.d/init.d/haproxy
cd /etc/rc.d/init.d
chmod +x haproxy
(5)设置haproxy相关的配置文件
#创建配置目录
mkdir /usr/local/haproxy/conf
#创建主配置文件
touch /usr/local/haproxy/conf/haproxy.cfg
#创建启动脚本配置目录
mkdir /etc/haproxy/
#添加配置文件的软连接
ln -s /usr/local/haproxy/conf/haproxy.cfg /etc/haproxy/haproxy.cfg
#创建日志目录
mkdir /usr/local/haproxy/log
#创建日志文件
touch /usr/local/haproxy/log/haproxy.log
#添加软连接
ln -s /usr/local/haproxy/log/haproxy.log /var/log/haproxy.log
#拷贝错误页面
cp -r /usr/local/haproxy-1.8.23/examples/errorfiles/ /usr/local/haproxy/
#给错误页面添加软连接
ln -s /usr/local/haproxy/errorfiles /etc/haproxy/errorfiles
(6)配置haproxy.cfg参数
#编辑 haproxy.cfg 配置文件
vim /usr/local/haproxy/conf/haproxy.cfg
#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
log 127.0.0.1 local2 ###[err warning info debug]
chroot /usr/local/haproxy
pidfile /var/run/haproxy.pid ###haproxy的pid存放路径,启动进程的用户必须有权限访问此文件
maxconn 4000 ###最大连接数,默认4000
user haproxy
group haproxy
daemon ###创建1个进程进入deamon模式运行。此参数要求将运行模式设置为"daemon"
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
mode http ###默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
log global ###采用全局定义的日志
option dontlognull ###不记录健康检查的日志信息
option httpclose ###每次请求完毕后主动关闭http通道
option httplog ###日志类别http日志格式
option forwardfor ###如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip
option redispatch ###serverId对应的服务器挂掉后,强制定向到其他健康的服务器
timeout connect 10000 #default 10 second timeout if a backend is not found
timeout client 300000 ###客户端连接超时
timeout server 300000 ###服务器连接超时
maxconn 60000 ###最大连接数
retries 3 ###3次连接失败就认为服务不可用,也可以通过后面设置
####################################################################
listen stats
bind 0.0.0.0:1080 #监听端口
stats refresh 30s #统计页面自动刷新时间
stats uri /stats #统计页面url
stats realm Haproxy Manager #统计页面密码框上提示文本
stats auth admin:admin #统计页面用户名和密码设置
#stats hide-version #隐藏统计页面上HAProxy的版本信息
#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend main
bind 0.0.0.0:80
acl url_static path_beg -i /static /p_w_picpaths /javascript /stylesheets
acl url_static path_end -i .jpg .gif .png .css .js
use_backend static if url_static ###满足策略要求,则响应策略定义的backend页面
default_backend dynamic ###不满足则响应backend的默认页面
#---------------------------------------------------------------------
# static backend for serving up p_w_picpaths, stylesheets and such
#---------------------------------------------------------------------
backend static
balance roundrobin ###负载均衡模式轮询
server static 127.0.0.1:80 check ###后端服务器定义
backend dynamic
balance roundrobin
server websrv1 192.168.180.9:80 check maxconn 2000
server websrv2 192.168.180.4:80 check maxconn 2000
#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
errorfile 403 /etc/haproxy/errorfiles/403.http
errorfile 500 /etc/haproxy/errorfiles/500.http
errorfile 502 /etc/haproxy/errorfiles/502.http
errorfile 503 /etc/haproxy/errorfiles/503.http
(7)启动 haproxy 服务
#haproxy配置文件语法检查
haproxy -c -f /usr/local/haproxy/conf/haproxy.cfg
Configuration file is valid
#haproxy服务启动
systemctl start haproxy
#haproxy服务开机自启动
chkconfig --add haproxy
chkconfig haproxy on
chkconfig --list|grep haproxy
(8)设置haproxy日志
#编辑/etc/rsyslog.conf 取消注释:
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
#添加:
local2.* /var/log/haproxy.log
说明⚠️:
以上修改haproxy日志会同时写入到/var/log/haproxy.log和/var/log/messages两个文件里,由于haproxy日志量很多所以只让其写入到/var/log/haproxy.log文件需要修改/etc/rsyslog.conf文件这个配置:
*.info;mail.none;authpriv.none;cron.none /var/log/messages
更改为:
*.info;mail.none;authpriv.none;cron.none;local2.none /var/log/messages #这样只会写入到/var/log/haproxy.log
修改/etc/sysconfig/rsyslog:
#修改”SYSLOGD_OPTIONS”参数
-c 2 使用兼容模式,默认是 -c 5;-r 开启远程日志;-m 0 标记时间戳,单位是分钟,0表示禁用该功能。
#完整内容如下
# Options for rsyslogd
# Syslogd options are deprecated since rsyslog v3.
# If you want to use them, switch to compatibility mode 2 by "-c 2"
# See rsyslogd(8) for more details
#SYSLOGD_OPTIONS=""
SYSLOGD_OPTIONS="-c 2 -r -m 0"
#SYSLOGD_OPTIONS="-c 2 -r -m 0"
&~
#重新启动rsyslog服务
systemctl restart rsyslog.service
(9)测试
打开浏览器打开haproxy监控页面,192.168.246.168:1080/stats,账号:admin,密码:admin
查看 haproxy 的log:tail -f /var/log/haproxy.log
扩展
haproxy常用命令:
# 检查配置文件语法
haproxy -c -f /etc/haproxy/haproxy.cfg
# 以daemon模式启动,以systemd管理的daemon模式启动
haproxy -D -f /etc/haproxy/haproxy.cfg [-p /var/run/haproxy.pid]
haproxy -Ds -f /etc/haproxy/haproxy.cfg [-p /var/run/haproxy.pid]
# 启动调试功能,将显示所有连接和处理信息在屏幕
haproxy -d -f /etc/haproxy/haproxy.cfg
# restart。需要使用st选项指定pid列表
haproxy -f /etc/haproxy.cfg [-p /var/run/haproxy.pid] -st `cat /var/run/haproxy.pid`
# graceful restart,即reload。需要使用sf选项指定pid列表
haproxy -f /etc/haproxy.cfg [-p /var/run/haproxy.pid] -sf `cat /var/run/haproxy.pid`
# 显示haproxy编译和启动信息
haproxy -vv
参考文档
haproxy服务启动命令_HaProxy安装和常用命令相关推荐
- linux下载安装的命令,linux安装和常用命令
linux安装和常用命令 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 Linux安装和常用命令常用命令:文件管理:1,cat:把 ...
- Chocolatey安装与常用命令
文章目录 Chocolatey安装与常用命令 1. Chocolatey的安装 (1) cmd安装 (2) PowerShell安装 2. 检查与更新 (1) 检查是否安装成功 (2) 查看安装目录 ...
- 【快速安装Docker服务及Docker配置、Docker常用命令。】
一.安装docker服务 命令行输入curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun即可快速安装 如提示curl: ...
- iOS:如何在iphone、ipad上安装一些常用命令行命令
iOS:如何在iphone.ipad上安装一些常用命令行命令 相信对Linux.Unix比较熟悉的朋友,在iphone或 ipad越狱后发现通过Cydia可以安装OpenSSH,一定都想安装上并且通过 ...
- Linux-Day01_简介_安装_常用命令_虚拟机快照_静态ip
Linux-Day01 课程内容 Linux简介 Linux安装 Linux常用命令 1. 前言 1.1 什么是Linux Linux是一套免费使用和自由传播的操作系统.说到操作系统,大家比较熟知的应 ...
- Docker在CentOS7上的安装及常用命令
Docker简介:Docker是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使用沙箱机制 ...
- Docker(一):Docker的安装与常用命令
相关阅读: Docker(一):Docker的安装与常用命令 Docker(二):Docker常用命令之镜像的创建:Dockerfile 与 commit Docker(三):Docker镜像导入与导 ...
- npm、cnpm、yarn的安装与常用命令
1.安装 npm curl -L https://www.npmjs.com/install.sh | sh a.临时使用(例如安装express) npm --registry https://re ...
- Stata17安装及常用命令使用教程
Stata17安装及常用命令使用教程 一.安装Stata17 二.安装外部命令 三.常用命令及操作 1.输入数据 2.描述性统计 3.线性回归 4.内生性检验 一.安装Stata17 链接:https ...
最新文章
- 使用ioctl向linux内核传递参数的方法实例
- PowerShell-4.API调用以及DLL调用
- SQL Server 数据库查找重复记录的几种方法
- jzoj1402-偷懒的小X【贪心】
- git clone 报错 Clone failed: Authentication failed for
- JavaEE5 Tutorial_JavaBean,JSTL
- PMP备考指南之第一章:引论
- 中国台式电容表市场趋势报告、技术动态创新及市场预测
- 管理感悟:对事又对人
- 【单目标优化求解】基于matlab非线性权重的自适应鲸鱼算法求解单目标优化问题(NWAWOA)【含Matlab源码 1665期】
- 知道对方IP,你该这样入侵(附:如何隐藏IP地址)
- DVWA全级别详细通关教程
- 配电网重构知识及matlab实现
- Java学习笔记(9)-StringBuilder类二
- Windows7 基本常见问题及解决方案之汇总
- python画三维立体图完整代码_python之画三维图像
- CS:APP 计算机系统 课程大作业
- 用ode求解二阶非线性微分方程
- C语言-- 输出大写英文字母
- 20皇后的不是很正确的解法
热门文章
- C 语言的实际运用 ---150809124
- PHP ServerPush (推送) 技术的探讨
- 项目一:第十二天 1、常见权限控制方式 2、基于shiro提供url拦截方式验证权限 3、在realm中授权 5、总结验证权限方式(四种) 6、用户注销7、基于treegrid实现菜单展示...
- Uncaught ReferenceError: webpackJsonp is not defined at app.js vendor.js
- [面试专题]Web缓存详解
- 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #3 如何编写内核模块
- 开博首发2017年1月13日开博大吉
- ACM在线测评系统评测程序设计与python实现
- linux tac sed,Day08 - 一些常用 Linux 指令 - 3-7 (cat、tac、head、tail、vi、sed)
- Oracle连接查询