haproxy安装和配置

haproxy安装和配置
haproxy安装和配置

haproxy

安装,直接yum方式直接可以安装

源码方式

wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.20.tar.gz

tar zxvf haproxy-1.4.20.tar.gz

cd haproxy-1.4.20

uname -a //查看linux内核版本

make TARGET=linux26 PREFIX=/usr/local/haproxy

make install PREFIX=/usr/local/haproxy

默认的配置文件

#---------------------------------------------------------------------

# Example configuration for a possible web application. See the

# full configuration options online.

#

# http://haproxy.1wt.eu/download/1.4/doc/configuration.txt

#

#---------------------------------------------------------------------

#---------------------------------------------------------------------

# Global settings

#---------------------------------------------------------------------

global

# to have these messages end up in /var/log/haproxy.log you will # need to:

#

# 1) configure syslog to accept network log events. This is done # by adding the '-r' option to the SYSLOGD_OPTIONS in

# /etc/sysconfig/syslog

#

# 2) configure local2 events to go to the /var/log/haproxy.log

# file. A line like the following can be added to

# /etc/sysconfig/syslog

#

# local2.* /var/log/haproxy.log

#

log 127.0.0.1 local2

chroot /var/lib/haproxy

pidfile /var/run/haproxy.pid

maxconn 4000

user haproxy

group haproxy

daemon

# turn on stats unix socket

stats socket /var/lib/haproxy/stats

#---------------------------------------------------------------------

# common defaults that all the 'listen' and 'backend' sections will

# use if not designated in their block

#---------------------------------------------------------------------

defaults

mode http

log global

option httplog

option dontlognull

option http-server-close

option forwardfor except 127.0.0.0/8

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

#---------------------------------------------------------------------

# main frontend which proxys to the backends

#---------------------------------------------------------------------

frontend main *:5000

acl url_static path_beg -i /static /images /javascript /stylesheets acl url_static path_end -i .jpg .gif .png .css .js

use_backend static if url_static

default_backend app

#---------------------------------------------------------------------

# static backend for serving up images, stylesheets and such

#---------------------------------------------------------------------

backend static

balance roundrobin

server static 127.0.0.1:4331 check

#---------------------------------------------------------------------

# round robin balancing between the various backends

#---------------------------------------------------------------------

backend app

balance roundrobin

server app1 127.0.0.1:5001 check

server app2 127.0.0.1:5002 check

server app3 127.0.0.1:5003 check

server app4 127.0.0.1:5004 check

一个典型的配置详解

global

maxconn 20480 #默认最大连接数

log 127.0.0.1 local3 #[err warning info debug]

chroot /var/haproxy #chroot运行的路径

uid 99 #所属运行的用户uid

gid 99 #所属运行的用户组

daemon #以后台形式运行haproxy

nbproc 1 #进程数量(可以设置多个进程提高性能)

pidfile /var/run/haproxy.pid #haproxy的pid存放路径,启动进程的用户必须有权限访问此文件

ulimit-n 65535 #ulimit的数量限制

#####################默认的全局设置######################

##这些参数可以被利用配置到frontend,backend,listen组件##

defaults

log global

mode http #所处理的类别(#7层http;4层tcp )

maxconn 20480 #最大连接数

option httplog #日志类别http日志格式

option httpclose #每次请求完毕后主动关闭http通道

option dontlognull #不记录健康检查的日志信息

option forwardfor #如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip

option redispatch #serverId对应的服务器挂掉后,强制定向到其他健康的服务器

option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的连接

stats refresh 30 #统计页面刷新间隔

retries 3 #3次连接失败就认为服务不可用,也可以通过后面设置

balance roundrobin #默认的负载均衡的方式,轮询方式

#balance source #默认的负载均衡的方式,类似nginx的ip_hash

#balance leastconn #默认的负载均衡的方式,最小连接

contimeout 5000 #连接超时

clitimeout 50000 #客户端超时

srvtimeout 50000 #服务器超时

timeout check 2000 #心跳检测超时

####################监控页面的设置#######################

listen admin_status #Frontend和Backend的组合体,监控组的名称,按需自定义名称

bind 0.0.0.0:65532 #监听端口

mode http #http的7层模式

log 127.0.0.1 local3 err #错误日志记录

stats refresh 5s #每隔5秒自动刷新监控页面

stats uri /admin?stats #监控页面的url

stats realm itnihao\ itnihao #监控页面的提示信息

stats auth admin:admin #监控页面的用户和密码admin,可以设置多个用户名

stats auth admin1:admin1 #监控页面的用户和密码admin1

stats hide-version #隐藏统计页面上的HAproxy版本信息

stats admin if TRUE #手工启用/禁用,后端服务器(haproxy-1.4.9以后版本)

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

errorfile 504 /etc/haproxy/errorfiles/504.http

#################HAProxy的日志记录内容设置###################

capture request header Host len 40

capture request header Content-Length len 10

capture request header Referer len 200

capture response header Server len 40

capture response header Content-Length len 10

capture response header Cache-Control len 8

#######################网站监测listen配置#####################

###########此用法主要是监控haproxy后端服务器的监控状态############

listen site_status

bind 0.0.0.0:1081 #监听端口

mode http #http的7层模式

log 127.0.0.1 local3 err #[err warning info debug]

monitor-uri /site_status #网站健康检测URL,用来检测HAProxy管理的网站是否可以用,正常返回200,不正常返回503

acl site_dead nbsrv(server_web) lt 2 #定义网站down时的策略当挂在负载均衡上的指定backend的中有效机器数小于1台时返回true

acl site_dead nbsrv(server_blog) lt 2

acl site_dead nbsrv(server_bbs) lt 2

monitor fail if site_dead #当满足策略的时候返回503,网上文档说的是500,实际测试为503

monitor-net 192.168.16.2/32 #来自192.168.16.2的日志信息不会被记录和转发

monitor-net 192.168.16.3/32

########frontend配置############

#####注意,frontend配置里面可以定义多个acl进行匹配操作########

frontend http_80_in

bind 0.0.0.0:80 #监听端口,即haproxy提供web服务的端口,和lvs的vip端口类似

mode http #http的7层模式

log global #应用全局的日志配置

option httplog #启用http的log

option httpclose #每次请求完毕后主动关闭http通道,HA-Proxy不支持keep-alive模式

option forwardfor #如果后端服务器需要获得客户端的真实IP需要配置次参数,将可以从Http Header中获得客户端IP

########acl策略配置#############

acl itnihao_web hdr_reg(host) -i ^(https://www.360docs.net/doc/bb16132527.html,|https://www.360docs.net/doc/bb16132527.html,)$

#如果请求的域名满足正则表达式中的2个域名返回true -i是忽略大小写

acl itnihao_blog hdr_dom(host) -i https://www.360docs.net/doc/bb16132527.html,

#如果请求的域名满足https://www.360docs.net/doc/bb16132527.html,返回true -i是忽略大小写

#acl itnihao hdr(host) -i https://www.360docs.net/doc/bb16132527.html,

#如果请求的域名满足https://www.360docs.net/doc/bb16132527.html,返回true -i是忽略大小写

#acl file_req url_sub -i killall=

#在请求url中包含killall=,则此控制策略返回true,否则为false

#acl dir_req url_dir -i allow

#在请求url中存在allow作为部分地址路径,则此控制策略返回true,否则返回false #acl missing_cl hdr_cnt(Content-length) eq 0

#当请求的header中Content-length等于0时返回true

########acl策略匹配相应#############

#block if missing_cl

#当请求中header中Content-length等于0阻止请求返回403

#block if !file_req || dir_req

#block表示阻止请求,返回403错误,当前表示如果不满足策略file_req,或者满足策略dir_req,则阻止请求

use_backend server_web if itnihao_web

#当满足itnihao_web的策略时使用server_web的backend

use_backend server_blog if itnihao_blog

#当满足itnihao_blog的策略时使用server_blog的backend

#redirect prefix https://www.360docs.net/doc/bb16132527.html, code 301 if itnihao

#当访问https://www.360docs.net/doc/bb16132527.html,的时候,用http的301挑转到http://192.168.16.3

default_backend server_bbs

#以上都不满足的时候使用默认server_bbs的backend

##########backend的设置##############

#下面我将设置三组服务器server_web,server_blog,server_bbs

###########################backend server_web############################# backend server_web

mode http #http的7层模式

balance roundrobin #负载均衡的方式,roundrobin平均方式

cookie SERVERID #允许插入serverid到cookie中,serverid后面可以定义

option httpchk GET /index.html #心跳检测的文件

server web1 192.168.16.2:80 cookie web1 check inter 1500 rise 3 fall 3 weight 1

#服务器定义,cookie 1表示serverid为web1,check inter 1500是检测心跳频率rise 3是3次正确认为服务器可用,

#fall 3是3次失败认为服务器不可用,weight代表权重

server web2 192.168.16.3:80 cookie web2 check inter 1500 rise 3 fall 3 weight 2

#服务器定义,cookie 1表示serverid为web2,check inter 1500是检测心跳频率rise 3是3次正确认为服务器可用,

#fall 3是3次失败认为服务器不可用,weight代表权重

###################################backend

server_blog###############################################

backend server_blog

mode http #http的7层模式

balance roundrobin #负载均衡的方式,roundrobin平均方式

cookie SERVERID #允许插入serverid到cookie中,serverid后面可以定义

option httpchk GET /index.html #心跳检测的文件

server blog1 192.168.16.2:80 cookie blog1 check inter 1500 rise 3 fall 3 weight 1

#服务器定义,cookie 1表示serverid为web1,check inter 1500是检测心跳频率rise 3是3次正确认为服务器可用,fall 3是3次失败认为服务器不可用,weight代表权重server blog2 192.168.16.3:80 cookie blog2 check inter 1500 rise 3 fall 3 weight 2

#服务器定义,cookie 1表示serverid为web2,check inter 1500是检测心跳频率rise 3是3次正确认为服务器可用,fall 3是3次失败认为服务器不可用,weight代表权重

###################################backend

server_bbs###############################################

backend server_bbs

mode http #http的7层模式

balance roundrobin #负载均衡的方式,roundrobin平均方式

cookie SERVERID #允许插入serverid到cookie中,serverid后面可以定义

option httpchk GET /index.html #心跳检测的文件

server bbs1 192.168.16.2:80 cookie bbs1 check inter 1500 rise 3 fall 3 weight 1

#服务器定义,cookie 1表示serverid为web1,check inter 1500是检测心跳频率rise 3是3次正确认为服务器可用,fall 3是3次失败认为服务器不可用,weight代表权重server bbs2 192.168.16.3:80 cookie bbs2 check inter 1500 rise 3 fall 3 weight 2

#服务器定义,cookie 1表示serverid为web2,check inter 1500是检测心跳频率rise 3是3次正确认为服务器可用,fall 3是3次失败认为服务器不可用,weight代表权重

我的一个可用的简单的配置

global

log 127.0.0.1 local2

chroot /var/lib/haproxy

pidfile /var/run/haproxy.pid

maxconn 4000

user haproxy

group haproxy

daemon

# turn on stats unix socket

stats socket /var/lib/haproxy/stats

defaults

mode http

log global

option httplog

option dontlognull

option http-server-close

option forwardfor except 127.0.0.0/8

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

#---------------------------------------------------------------------

# main frontend which proxys to the backends

#---------------------------------------------------------------------

frontend main *:5000

# acl url_static path_beg -i /static /images /javascript /stylesheets # acl url_static path_end -i .jpg .gif .png .css .js

# use_backend static if url_static

default_backend app

#---------------------------------------------------------------------

# static backend for serving up images, stylesheets and such

#---------------------------------------------------------------------

#backend static

# balance roundrobin

# server static 127.0.0.1:4331 check

#---------------------------------------------------------------------

# round robin balancing between the various backends

#---------------------------------------------------------------------

backend app

balance roundrobin

# option httpchk GET /index.html

option httpchk HEAD /index.php

# server app1 192.168.137.128:80 check

# server app2 192.168.137.129:80 check

server s1 192.168.137.128:80 cookie 1 weight 1 check inter 5s rise 2 fall 3 server s2 192.168.137.129:80 cookie 1 weight 1 check inter 5s rise 2 fall 3

# server s3 192.168.148.110:8081 cookie 1 weight 1 check inter 5s rise 2 fall 3

# server app3 127.0.0.1:5003 check

# server app4 127.0.0.1:5004 check

listen tatus

bind *:1158

mode http

stats refresh 10s

stats uri /haproxy

stats realm Haproxy\ Statistics

stats auth admin:admin

stats hide-version

stats admin if TRUE

redmine安装部署

redmine安装使用 一、安装 redmine安装方法很多,下面介绍一种简单的安装方案: 1.下载集成安装包,下载地址 https://www.360docs.net/doc/bb16132527.html,/stack/redmine 2.安装包下载后,点击运行,安装步骤很简单,基本上一路执行 下一步就可以,有几个地方需要注意:语言选择最好选择英文 (项目运行后可以选择中文显示);创建密码的时候记住密码,这个密码是你数据库初始化时候admin账户的初始密码和登录 数据库时候root账户的密码。 3.安装完成后,打开操作界面,如下图

选择“Manager Servers”选项卡,如下图 所有服务正常启动,则安装成功,如果没有启动则安装失败。 失败原因可能是端口占用、服务名称占用等原因,需要重新定 义安装。 注:一件安装包内容如下:apache、redmine、php、ruby、mysql、 phpadmin、svn。 二、集成插件 使用bitnami-redmine一键安装的redmine项目集成普通插件 十分简单。 1.首先需要到官网上下载支持所安装redmine版本的插件; 2.将下载来的压缩包解压 至%bitnami%/redmine-x.x.x-x/apps/redmine/htdocs/plu

gins目录下面。 3.将解压出来的文件夹名称由xxxxx-master改为xxxxx; 4.打开“开始”—》“所有程序”—》“Bitnami Redmine Stack” —》使用“product fullname”,打开命令端。 5.cd命令切换 到%bitnami%/redmine-x.x.x-x/apps/redmine/htdocs/plu gins目录下面 6.bundle install,安装集成插件需要的工具 7.rake redmine:plugins:migrate RAILS_ENV=production, 开始集成插件。 8.重启服务,再进如redmine,修改相关配置即可。 三、svn使用 bitnami redmine意见安装默认启用svn服务,可以在本地新建svn仓库服务,也可以使用其他的svn仓库。 默认支持svn协议和http协议,https协议需要手动配置。 项目管理员身份登录,进入一个项目,打开配置,如下图,打开版本库,新建版本库,填入相关参数,创建即可。

HAProxy的安装部署详细

HAProxy的安装和部署 考虑公司当前服务器的并发量,最终还是选定了HAProxy来实现负载均衡,相较于其他的负载均衡系统,HAProxy的配置和使用还是比较简单的。 下面是自己安装和部署haproxy的记录,比较重要的一点是解决了haproxy + syslog-ng的日志输出问题。 PS: 这个问题费了我好大神:-| PLATFORM: SUSE Linux Enterprise Server 11 (x86_64) 1. haproxy的编译安装 获取haproxy的源代码 官方地址:http://haproxy.1wt.eu/ 目前最新的版本:http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.8.tar.gz 命令:

wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.8.tar.gz 考虑到版本的更新,具体的安装属性可能会稍有改变,建议在安装前可以大致浏览下haproxy目录下的README和Makefile两个文件。 编译haproxy 进入解压后的haproxy的目录,用下列命令进行编译: make TARGET=os ARCH=arch CPU=cpu USE_xxx=1 ... 这里着重说明几个常用的选项。 TARGET 指定对目标操作系统在编译的时候进行优化,可选择如下值之一: Generic, linux22, linux24, linux24e, linux26, solaris, freebsd, openbsd, Cygwin, custom。 如果不确定目标系统,可以保留默认值generic。 CPU 指定对特定的CPU进行优化,可选择如下值之一:generic, i586, i686, ultrasparc, custom。默认值为generic。 ARCH 指定ARCH值可强制编译生成针对一个特定系统架构的程序。通常用于在一个系统架构的平台上生成针对另一个不同架构平台的程序,比如在一个64位架构的目标系统上编译生成一个32位的程序。 当前可选的值有:x86_64, i386, i486, i586, i686。 注:若选择上述其中的一个值,”-m32”或”-m64”会被添加到CFLAGS和LDFLAGS选 项中。

Redmine插件的整合

Redmine插件的整合 Redmine与TestLink的整合 用户文档 2010-03-25 Redmine是一个灵活的开源项目管理工具, 它可以有效地管理项目开发的整个流程(需求, 设计, 开发), 但是对测试的流程(测试需求, 测试计划, 测试用例, 测试执行, 测试结果分析)却心有余而力不足. 幸运的是, 开源的测试管理工具TestLink恰好能补充Redmine的不足之处, 而且他们之间通过简单的配置就能合二为一了. 这样整个开发和测试的流程都能有效管理起来了. 前提条件 你已经成功安装了Redmine和TestLink 整合过程 1. 进入TestLink根目录, 修改custom_config.inc.php文件里$g_inteface_bugs 属性的值, 将”NO”改为”REDMINE”;如果没有则添加该属性 $g_interface_bugs = 'REDMINE' 2. 添加TestLink连接Redmine所需的参数. 修改cfg/edmine.cfg.php 文件, 以下是修改后的内容 /** redmine数据库的主机名称 */ define('BUG_TRACK_DB_HOST', 'localhost'); /** redmine数据库的名称 */ define('BUG_TRACK_DB_NAME', 'redmine_latest'); /** Redmine使用的数据库类型 * 可以查看Redmine安装目录下 config/database.yml 文件中关于数据库的信息

*/ define('BUG_TRACK_DB_TYPE', 'mysql'); /** Redmine数据库的用户名和密码 */ define('BUG_TRACK_DB_USER', 'redmine'); define('BUG_TRACK_DB_PASS', 'redmine'); /** 定义链接数据库的字符集 **/ define('BUG_TRACK_DB_CHARSET',"UTF-8"); /* 链接Redmine问题列表的URL ** 注意最后的哪个 “/” 不能丢掉, 否则在TestLink测试用例中点击关联问题时,会出现404错误 */ define('BUG_TRACK_HREF', "http://foo.bar/redmine/issues/"); // define('BUG_TRACK_HREF', "http://localhost:3000/issues/show/"); /** 链接缺陷跟踪系统(Redmine),新建问题的URL ** 该测试项目与Redmine中demoPro项目关联。 */ define('BUG_TRACK_ENTER_BUG_HREF',"http://foo.bar/redmine/projec ts/demoPro/issues/new"); // define('BUG_TRACK_ENTER_BUG_HREF',"http://localhost:3000/"); 说明: 连接 redmine 数据库的具体参数值请参考你redmine中database.yml文件里的具体值. 我的database.yml文件内容如下:

配置nginx到后端服务器负载均衡

nginx和haproxy一样也可以做前端请求分发实现负载均衡效果,比如一个tomcat服务如果并发过高会导致处理很慢,新来的请求就会排队,到一定程度时请求就可能会返回错误或者拒绝服务,所以通过负载均衡使用多个后端服务器处理请求,是比较有效的提升性能的方法;另外当单机性能优化到一定瓶颈之后,一般也会用负载均衡做集群,配置也很简单,下面是配置过程: 首先需要安装nginx服务器,我这里已经安装好了,比如这里有三个tomcat 服务器,地址如下: 192.168.1.23 8080 192.168.1.24 8080 192.168.1.25 8080 其中nginx安装在192.168.1.23上面,如果只有一个服务器测试,也可以在一个服务器上运行多个tomcat开多个端口来实现,这样也能提升性能首先看nginx配置,在nginx.conf中http {}块内并且server {}块之外添加如下配置: upstream my_service { server 127.0.0.1:8080 weight=2; server 192.168.1.24:8080 weight=1; server 192.168.1.25:8080 weight=1; } 上面的my_service是集群的名字,可以自己命名,server指定后端服务列表,weight是设置权重,权重越大,请求被分发过来的可能性就越大,这里本机权重设置了2,也就是说对到达的请求分配到本地上的会多一些配置这个之后,需要在server {}中添加location配置拦截请求并转发给后端的集群,最简单的配置如下: location / {

redmine 安装过程

自己在网上看到redmine,感觉功能很强大。于是自己就开始安装,但是谁想到在安装过程中的坑呀,摔的自己遍体鳞伤,自己做一下总结,希望别人能绕过这些坑,走直路。 1. 安装环境:系统:ubutu1 2.04 架构:LAMP 安全:防火墙和selinix(全部关闭) 2.安装流 程: A. 安装 ruby #官网下载ruby-2.2以上的版本,否则安装过程中的组件会安装不上。(以2.2.4为例) # tar zxvf ruby-2.2.4.tar.gz # cd ruby-2.2.4 # ./configure # make && make install 设置Ruby环境变 vim ~/.profile export PATH=$PATH:/usr/local/src/ruby-2.2.4/ B.安装 rubygems

# tar zxvf rubygems-2.6.6.tgz # cd rubygems-2.6.6 # ruby setup.rb C.安装依赖包:apt-get install libmysqlclient-dev apache2-threaded-dev D.安装redmine 官网下载redmine-2.4.3.tar.gz #tar zxf redmine-2.4.3.tar.gz #./configure #make &&make install # mv redmine-2.4.3 /usr/local/redmine E.gem 组件安 装: 1. gem install

bundler 安装过程需要更改源(否则安装很慢): gem sources --remove https://https://www.360docs.net/doc/bb16132527.html,/ gem sources -a https://https://www.360docs.net/doc/bb16132527.html,/ 安装过程中可能会出现:报错-->Can't find Magick-config 查看提示日志内容发现:find_executable: checking for Magick-config... -------------------- no 解决发法:sudo apt-get install libmagickwand-dev imagemagick 再次安装即可:gem install bundler 3.修改redmine源码包中:Gemfile文件,替换https://https://www.360docs.net/doc/bb16132527.html, 为https://https://www.360docs.net/doc/bb16132527.html,(开头) #bundle install --without development test postgresql sqlite rmagick ************** ****************安装完成后会生成 Gemfile.lock.************************************************** 详解: Gemfile是指定需要使用的哪些gem及其版本的地 方; Gemfile.lock文件是Bundler记录已经安装了的版本的地方。通过这样的方式,

PXC5.6实验集群的安装与设置

PXC5.6实验集群的安装与设置

目录 1.目的: (4) 2.集群构成: (5) 2.1.集群构成图: (5) 2.2.集群构成明细: (5) 3.安装设置操作步骤: (6) 3.1.安装Percona Yum Repository: (6) 3.2.安装EPEL源: (7) 3.3.安装PXC (7) 3.4.创建及设置数据目录 (8) 3.5.开通PXC相关IP端口 (9) 3.6.关闭SELinux (10) 3.7.设置https://www.360docs.net/doc/bb16132527.html,f启动项文件 (10) 3.8.启动集群 (12) 4.通过HAProxy实现PXC集群负载均衡: (14) 4.1.安装HAProxy (14) 4.2.设置HAProxy (14) 4.3.启动HAProxy (16) 4.4.增加集群状态检查进程用Mysql用户权限 (16) 4.5.为集群每一个节点服务器安装xinetd (17) 4.6.配置xinetd (17) 4.7.通过HAProxy查看数据库集群状态: (18)

5.用Keepalived解决HAProxy单点故障: (20) 5.1.安装配置备份代理服务器 (20) 5.2.安装Keepalived (21) 5.3.在主HAProxy代理服务器中设置Keepalived (21) 5.4.在备份HAProxy代理服务器中设置Keepalived (23) 5.5.验证虚拟IP的漂移 (24) 6.问题排查及解决: (25) 6.1.ERROR 1047 (08S01): WSREP has not yet prepared node for application use (25)

原创Centos5.5+Redmine2.0.3+backlogs+Apache整合(含备份)

【原创】Centos5.5+Redmine2.0.3+backlogs+Apache整理 最近由于工作需要,来年公司的案件和工作安排开始用redmine统一管理。经过这几天摸索整理出了比较完整的安装手顺。 1,安装前准备 Centos5.5,这个没什么好说的,因为不是重点,所以略过,建议OS安装好以后关闭SELINUX,#/usr/sbin/setenforce 0 。 用yum的方式安装必要软件包 #yum install httpd httpd-devel openssl-devel zlib-devel gcc gcc-c++ curl-devel subversion -y 实际上还不够,但至少需要这些,后面的安装还会提到 2,安装ruby 1.9.3 这里说一下,按照官方环境说明,Redmine2.0.3的话,应该是支持ruby1.8.7的,如下,但是安装好以后在数据库连接的时候,会报错,没有解决掉,看起来是版本矛盾,所以果断 安装ruby1.9.3的话,需要libyaml支持(ruby1.8.7是不需要的),所以先安装libyaml,如下 #wget https://www.360docs.net/doc/bb16132527.html,/download/libyaml/yaml-0.1.4.tar.gz #tar xzvf yaml-0.1.4.tar.gz #cd yaml-0.1.4 #./configure --prefix=/usr/local #make #make install 安装好以后,安装ruby #wget https://www.360docs.net/doc/bb16132527.html,/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz #tar xzvf ruby-1.9.3-p0.tar.gz #cd ruby-1.9.3-p0 #./configure --prefix=/usr/local --enable-shared --disable-install-doc

haproxy高级配置

使用rchs集群套件基于conga界面配置apache高可用集群 电源设备采用“virtual machine fencing” Conga是一个基于web界面的c/s架构的配置集群的工具 c 集群节点作为被服务管理集群配置的客户端节点 s 专门用于管理集群、配置集群的一个服务端节点 在S服务端上安装luci的服务端软件,打开该软件提供的一个web界面,进行集群的配置(配置的步骤跟使用rhel5上的system-config-cluster雷同),唯一的区别是,服务端(本机)本身并不参与集群,并不属于集群中的成员。 在c客户端上安装ricci服务,该服务会与服务端的luci建立连接,接受服务端的集群管理操作。客户端才是集群中的成员。 准备: FQDN、静态IP 、hosts文件 clients | |----------------| node1 node2 https://www.360docs.net/doc/bb16132527.html, 192.168.29.11 https://www.360docs.net/doc/bb16132527.html, 192.168.29.12 资源: vip 192.168.29.10 httpd OS :rhel6 准备: 静态IP、FQDN、hosts 暂时关闭iptables ,selinux

[Base] name=Base baseurl=file:///soft/el63 enabled=1 gpgcheck=0 [HighAvailability] name=LoadBalancer baseurl=file:///soft/el63/HighAvailability enabled=1 gpgcheck=0 [ResilientStorage] name=ResilientStorage baseurl=file:///soft/el63/ResilientStorage enabled=1 gpgcheck=0 [ScalableFileSystem] name=ScalableFileSystem baseurl=file:///soft/el63/ScalableFileSystem enabled=1 gpgcheck=0 一、在宿主机上模拟fence设备 # yum install fence-virt.x86_64 fence-virtd.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64 -y fence-virt 实际用于fence设备工具:实际用于关机、重启、启动客户机的工具 fence-virtd 模拟fence设备的服务:负责接受集群中的节点(客户机)fence指令 fence-virtd-libvirt.x86_64 <----操作虚拟化的接口库 fence-virtd-multicast.x86_64 组播的方式在宿主机(fence-virtd服务)和客户机(集群节点)之间传达电源指令《---以模块的形式存在 软件安装完毕后,存在一个配置文件/etc/fence_virt.conf 向导配置 # fence_virtd -c

Redmine安装手册

RedMine 操作手册

目录 第 1 章概 述 (1) 第 2 章安装前的准备 (2) 2.1 下载相应文件 (2) 第 3 章安装与配置 (2) 第 4 章让RedMine自动运行 (4) 第 5 章 RedMine和Apache集成 (4) 第 6 章 RedMine和 Hudson的集成 (5) 第 7 章 RedMine和SVN的集成 (6)

第 1 章概 述 Redmine是基于ROR框架开发的一套跨平台项目管理系统,是项目管理系统的后起之秀,据说是源于Basecamp的ror版而来,支持多种数据库,除了和DotProject的功能大致相当外,还有不少自己独特的功能, 例如提供wiki、新闻台、时间跟踪、feed聚合、导出pdf等待,还可以集成其他版本管理系统和BUG跟踪系统,例如SVN、CVS、TD等等。配置 功能强大而且方便,自定义属性和更新通知也很实用。

第 2 章安装前的准备 2.1下载相应文件 安装需要用到如下的软件,请进行准备 1. Ruby ,现在最新稳定的Ruby 版本,建议下载 1.8.7 或更高的版本,地址 为:https://www.360docs.net/doc/bb16132527.html,/frs/download.php/72085/rubyinstaller ‐1.8.7‐p302.exe ; 2. RubyGems 1. 3.1 : https://www.360docs.net/doc/bb16132527.html,/frs/download.php/45906/rubygems ‐1.3.1.zip ,备注:RubyGems 是 一个方便而强大的Ruby 程序包管理器; 3. Rake 0.8.3,可以在线下载,是一门构建语言,它支持它自己的DSL 用来处理和维护 Ruby 应用程序; 4. Rails 2.2.2,https://www.360docs.net/doc/bb16132527.html,/frs/download.php/47183/rails ‐2.2.2.zip ; 5. MySQL 5,下载最新版本5.2,https://www.360docs.net/doc/bb16132527.html,/downloads/mysql ; 6. Redmine 1.0.4,https://www.360docs.net/doc/bb16132527.html,/frs/?group_id=1850,下载redmine ‐1.0.4.zip ; 7. Win32 OpenSSL v0.9.8j Light ,https://www.360docs.net/doc/bb16132527.html,/?yknwgltgzkj ,运行 rake 时要用到; 8. Visual C++ 2008 Redistributables , https://www.360docs.net/doc/bb16132527.html,/downloads/details.aspx?familyid=9B2DA534‐3E03‐4391‐8A 4D ‐074B9F2BC1BF&displaylang=en 。如果不安装这个,调用 OpenSSL 时可能会报“应用程序配置不正确,程序无法启动,重新安装应用程序可能解决问题。”错误; 9. ZLib 1.2.3 : https://www.360docs.net/doc/bb16132527.html,/zlib123‐dll.zip 。运行 rake 时要用到; 10. libiconv 1.9.1 : ftp://https://www.360docs.net/doc/bb16132527.html,/gnu/libiconv/libiconv ‐1.9.1.bin.woe32.zip 。运行 rake 时要用到; Apache ,需要OpenSSL 包, 2.2https://www.360docs.net/doc/bb16132527.html,/apache//httpd/binaries/win32/httpd-2.2.17-win32-x86-openssl-0.9.8o.msi ; 第 3 章安装与配置 1. 将 Ruby 1.8.7 的安装包解压到某个目录下(例如: D:\ruby ‐1.8.7 ),并将子目录 bin 的路径加入到 Windows 的 PATH 环境变量中(例如:在 PATH 环境变量中加入 D:\ruby ‐1.8.7\bin ); 2. 将 RubyGems 1. 3.1 安装包解压到某个临时目录下(例如: D:\rubygems-1.3.1 ),在 Windows 的命令行模式下切换当前目录为该临时目录,运行如下命令: ruby setup.rb 该命令将离线安装 RubyGems 。安装完毕后可删除该临时目录 3. 在命令行模式下运行如下命令:

在Windows上安装Redmine

在Windows上安装Redmine 概述 Redmine 是一个使用 ROR 框架建立的灵活的项目管理工具。它提供了基本的需求管理、缺陷管理功能,还提供了新闻发布、 Wiki 、论坛等其它功能。Redmine 的官方的安装指南可在如下网址看到: https://www.360docs.net/doc/bb16132527.html,/wiki/redmine/RedmineInstall。本手册是在该指南的基础上修订而来的。 安装准备 安装过程中需要用到如下软件 / 组件: 1.Ruby 1.8.7 : ftp://https://www.360docs.net/doc/bb16132527.html,/pub/ruby/binaries/mswin32/ruby-1.8.7-p72-i386 -mswin32.zip 2.RubyGems 1. 3.1 : https://www.360docs.net/doc/bb16132527.html,/frs/download.php/45906/rubygems-1.3.1.zip 3.Rake 0.8.3 :因为这个比较小,可在线安装,不用下载 4.Rails 2.2.2 : https://www.360docs.net/doc/bb16132527.html,/frs/download.php/47183/rails-2.2.2.zip。因为在线安装 Rails 可能有问题,可下载这个包用来离线安装 5.MySQL 4.1 或更高版本:可在 MySQL 的官网下载 6.Redmine 0.8.1 : https://www.360docs.net/doc/bb16132527.html,/frs/download.php/51748/redmine-0.8.1.zip 7.Win32 OpenSSL v0.9.8j Light : https://www.360docs.net/doc/bb16132527.html,/download/Win32OpenSSL_Light-0_9_8j.exe。运行rake 时要用到

HAPROXY安装及配置详解与算法

HAProxy安装及配置详解与算法 HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。根据官方数据,其最高极限支持10G的并发。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy 运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整 合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。 其支持从4层至7层的网络交换,即覆盖所有的TCP协议。就是说,Haproxy甚至还支持Mysql的 均衡负载。如果说在功能上,能以proxy反向代理方式实现WEB均衡负载,这样的产品有很多。包括Nginx,ApacheProxy,lighttpd,Cheroke等。 但要明确一点的,Haproxy并不是Http服务器。以上提到所有带反向代理均衡负载的产品,都 清一色是WEB服务器。简单说,就是他们能自个儿提供静态(html,jpg,gif..)或动态(php,cgi..) 文件的传输以及处理。而Haproxy仅仅,而且专门是一款的用于均衡负载的应用代理。其自身并不能提 供http服务。

但其配置简单,拥有非常不错的服务器健康检查功能还有专门的系统状态监控页面,当其代理的后端服务器出现故障,HAProxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入。自1.3版本开始还引入了frontend,backend,frontend根据任意HTTP请求头内容做规则匹配,然后把请求定向到相关的backend。 1.安装 官方版本获取地址:http://haproxy.1wt.eu/,不过官方页面已经打不开了,请自行搜索! 上面中的26是linux系统内核,通过命令#uname-a可查看,我使用的是CentOS #tar xzvf haproxy-1.4.24.tar.gz #cd haproxy-1.4.24 #make TARGET=linux26PREFIX=/usr/local/haproxy #make install PREFIX=/usr/local/haproxyb 2.配置 安装完毕后,进入安装目录配置文件,默认情况下目录里是没有.cfg配置文件的,可以回到安装文件目录下将examples下的haproxy.cfg拷贝到usr/local/haproxy下。 #cd/usr/local/haproxy #vi haproxy.cfg 默认文件内容如下:(注意!!标示开始的为默认的配置文件没有的)

RedMine_Setup_Windows

下载地址 Redmine 1.0.0: https://www.360docs.net/doc/bb16132527.html,/projects/redmine/ InstantRails-2.0-win: https://www.360docs.net/doc/bb16132527.html,/projects/instantrails/ 安装步骤 1. 下载InstantRails,解压缩。 2. 下载Redmine,解压缩。 3. 将Redmine解压缩的文件夹直接拷贝到InstantRails目录的rails_apps目录下。 4. 启动InstantRails。 5. 创建数据库,在phpMyAdmin中:create database redmine character set utf8; 在InstantRails界面点击I->Configure->Database(via PhpMyAdmin),打开PhpMyAdmin页面,点击左上角的SQL图标,在文本域中输入sql命令; (如果该栏是灰色的,表示你安装后没重启机器。重启一下即可。) 6. 将config目录下的database.yml.example文件重命名为database.yml 7. 在Redmine项目的命令行执行rake db:migrate RAILS_ENV="production",用来创建数据库,完成后应该创建43个表。 如何启动命令行: InstantRails的主菜单->Rails Application ->Open Ruby Console Window 8. 还是在命令行执行rake redmine:load_default_data AILS_ENV="production",指明当前项目运行环境为production,中间会提示选择语言,我们选择zh。 9. 启动web服务,在命令行里ruby script/server -e production。 10. 然后我们就可以启动Redmine了,在浏览器中访问地址:http://localhost:3000/ 说明: 第7、8、9步:提到的命令行就是dos窗口,进入rails_apps\redmine目录,输入命令。

运维简历

个人简历 基本信息 姓名:现居地址:武汉 性别:男联系电话: 学历:大专电子邮件: 求职意向 到岗时间:随时到岗 工作性质:全职 目标职能:Linux运维工程师、系统管理员、Linux系统技术支持 求职状态:目前正在找工作 专业技能 1.熟悉主流Linux操作系统,例如redhat(centos)等,熟练使用Linux命令,能排除日常的错误等。 2.熟悉Linux shell环境,熟练使用shell脚本编程,并熟悉运用grep、awk、sed等脚本辅助工具。 3.熟练配置Linux系统的常见服务DHCP、DNS、SAMBA、VSFTP、Mail、Rsync、Squid、Ldap等。 4.熟悉WEB服务器系统的配置和软件服务器搭建如Apache/Nginx、Tomcat。 5.熟悉MySQL的基本SQL语句,并掌握MySQL的备份与还原,主从复制,读写分离,能使用脚本安装MySQL,Oracle。 6.熟悉cacti,nagios,zabbix等开源监控软件的安装,塔建与使用。 7.熟悉自动化Linux管理工具puppet,批量装机工具如kickstart,cobbler。 8.熟悉LVS+Keepalived、HAProxy、Heartbeat负载均衡,高可用的原理以及安装部署。 9.熟悉TCP/IP协议,熟悉Iptables基本配置和管理。 10.熟悉虚拟化VMware搭建及管理,了解KVM,XEN虚拟化技术和云计算平台。 11.有良好的英语阅读能力,能读阅读相关英语技术文档。 工作经历 时间/公司2015.6-2016.3 XXXX科技有限公司 岗位:Linux运维工程师 。 1负责网站平台的更新升级和对用户使用的问题进行解决,协助分析系统bug 跟踪处理进度,负责服务器日常维护,负责搭建及维护监控平台,编写并及时更新工作手册; ??2. 登录服务器检查数据库mysql运行情况;? ?3. 每日检查mysql备份及Linux系统资源运行状况; 4. 负责系统平台上线及更新并进行系统新功能的测试,并编写测试报告运维报告相关文档;? ?5. 编写常用脚本提高运维的准确和效率率,如mysql备份脚本; 6定期对机房主机设备进行健康检查8. 搭建监控平台nagios,并且负责后期的维护开发;? 7. 定期统计相关数据,比如系统访问量、访问人数; 项目经验

BitNamiRedmine结合VisualSVNServer配合使用

BitNami-remine 1.2.0+Visual SVN的配置的连接 地址:https://www.360docs.net/doc/bb16132527.html,/blog/933550 介绍安装不错,图文并茂。 BitNami-Redmine1.1.0安装和VisualSVN-Server配合使用博客分类: 项目管理 SQL ServerIEMySQL配置管理浏览器 最近比较了InstantRails-Redmine和BitNami-Redmine,虽然最后都安装成功使用。但是为了方便以后使用和更新软件。最后还是选择了 BitNami-Redmine,大概记录一下BitNami-Redmine的安装和VisualSVN-Server 的使用组合使用过程。 1、下载bitnami-redmine-1.1.1-0-windows-installer.exe: Redmine1.1.0的运行环境bitnami-redmine 下载地址 https://www.360docs.net/doc/bb16132527.html,/files/stacks/redmine/1.1.1-0/bitnami-redmine-1.1.1-0-windows-installer.exe 2、下载VisualSVN-Server-2.1.5.msi 下载地址 https://www.360docs.net/doc/bb16132527.html,/server/download/ 3、安装 一路默认安装,Apache是80端口,mysql是3306端口,账号是root,密码123456(系统默认的) 可以勾上SMTP Configuration,如下配置,这样在redmine里可以给用户自动发送邮件。

Serivce 5、登陆Redmine 地址:http://10.3.2.84/redmine(IP是我自己服务器的地址) 默认是80端口(可以不输) Redmine管理员账号admin 密码:123456(安装时候,自己设定的) 6、redmine更改为中文界面 先点击redmine登陆后的主页界面右上角的“My account”,然后在出现的 窗口中修改language为简体中文。 就可以看到redmine中文界面了。 7、redmine 连接到VisualSVN server 进行版本管理 在项目配置中,如下管理,URL中801是我的VisualSVN的端口

haproxy透明代理配置

Haproxy使用tproxy实现透明代理 实验环境 Server1为代理服务器,有两个网卡 eth0:192.168.1.55用于对外服务 eth1:10.0.0.1gw10.0.0.254用于内网通讯 Server2为应用服务器,一块网卡 eth0:10.0.0.2gw10.0.0.1 service的网关一定要配成service的内网IP 准备工作 1.检查系统内科是否已支持tproxy 2.安装haproxy 编译参数 make TARGET=linux26USE_LINUX_TPROXY=1 make install PREFIX=/usr/local/haproyx 安装完成后,检查haproxy是否支持tproxy Haproxy.cfg global daemon stats socket/var/run/haproxy.stat mode600 log127.0.0.1local4 maxconn40000 ulimit-n80013 pidfile/var/run/haproxy.pid defaults log global mode http contimeout4000 clitimeout42000 srvtimeout43000 balance roundrobin listen VIP-222 bind192.168.1.222:80 mode http option forwardfor source0.0.0.0usesrc clientip cookie SERVERID insert nocache indirect server server110.0.0.2:80weight1cookie server1check

安装项目管理工具Redmine+SVN

Redmine + SVN 安装配置指南 准备安装文件 我们搭建redmine使用集成环境Instantails。 1 InstantRails2.0:https://www.360docs.net/doc/bb16132527.html,/projects/instantrails/ 2 redmine 1.3.0:https://www.360docs.net/doc/bb16132527.html,/frs/?group_id=1850 3 gem1.3.7:https://www.360docs.net/doc/bb16132527.html,/frs/download.php/70695/rubygems-update-1.3.7.gem 安装 ●配置InstantRails2.0与redmine 1.解压InstantRails 2.0到一个目录 2.解压Redmine1. 3.0到InstantRails.2.0的r ails_a pps目录下 ●升级InstantRails2.0 由于Instant Rails 官网这个程序最新的2.0版本07年以后就不再更新了,因此自己 搭建前请根据自己的需求更新其中的软件,Instant Rails2.0中软件的版本如下: * Upgrades Ruby to version 1.8.6 Patch Level 111 * Upgrades Rails to 2.0.2 * Upgrades Mongrel to 1.1.2 * Upgrades RubyGems to 1.0.1 * Upgrades Rake to 0.8.1 * Upgraded Cookbook app to support Rails 2.0.2 打开Redmine1.3.0软件包中Doc目录下的INSTALL文档,可以看到安装的软件版本 需求(具体情况视使用的Redmine的版本而定) == Requirements * Ruby 1.8.6 or 1.8.7 * RubyGems 1.3.7 * Ruby on Rails 2.3.14 (official downloadable Redmine releases are packaged with the appropriate Rails version) * Rack 1.1.2 gem * Rake 0.9.2 gem * I18n 0.4.2 gem 因此需要更新其中的软件,步骤如下: 1.进入InstantRails根目录下。点击InstantRails.exe文件

HAProxy用法详解

HAProxy用法详解 一,HAProxy简介 (1)HAProxy是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP (第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。 (2)HAProxy实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户端(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以使每个CPU时间片(Cycle)做更多的工作。 (3)HAProxy 支持连接拒绝: 因为维护一个连接的打开的开销是很低的,有时我们很需要限制攻击蠕虫(attack bots),也就是说限制它们的连接打开从而限制它们的危害。这个已经为一个陷于小型DDoS攻击的网站开发了而且已经拯救 了很多站点,这个优点也是其它负载均衡器没有的。 (4)HAProxy 支持全透明代理(已具备硬件防火墙的典型特点): 可以用客户端IP地址或者任何其他地址来连接后端服务器. 这个特性仅在Linux 2.4/2.6内核打了cttproxy补丁后才可以使用. 这个特性也使得为某特殊服务器处理部分流量同时又不修改服务器的地址成为可能。 性能: HAProxy借助于OS上几种常见的技术来实现性能的最大化。 1,单进程、事件驱动模型显著降低了上下文切换的开销及内存占用。 2,O(1)事件检查器(event checker)允许其在高并发连接中对任何连接的任何事件实现即时探测。 3,在任何可用的情况下,单缓冲(single buffering)机制能以不复制任何数据的方式完成读写操作,这会节约大量的CPU时钟周期及内存带宽;

安装redmine+apache2

Redmine+apache2安装 Redmine安装所需软件版本要求: redmine对应ruby、rails rack版本 Ruby & Ruby on Rails & Rack The required Ruby and Ruby on Rails versions for a given Redmine version is: Compatibility notes ?Ruby 1.9 is not supported yet. You have to use Ruby 1.8.x as stated above. ?RubyGems 1.3.7 or higher is required with following limitations : o Rails 2.3.5 will fail with RubyGems 1.5.0 or later, stick to previous versions of RubyGems ! o Rails 2.3.11 will fail with RubyGems 1.7.0 or later, stick to previous versions of RubyGems ! ?Rake 0.8.7 is required (rake 0.9.x is not supported by Rails yet) ?Rack 1.1.x is required, 1.1.0 has a bug with quotes (#8416). Database migration would fail with other version.

相关文档
最新文档