在Ubuntu 14上从源代码编译和运行HAProxy

时间:2020-01-09 10:37:42  来源:igfitidea点击:

说明

可以从Ubuntu的默认软件包存储库中安装和运行HAProxy,
但如果需要较新的版本,我们将需要自行编译HAProxy。

准备Ubuntu

在编译HAProxy之前,我们需要安装一些软件包。其中一个包含允许使用SSL的开发库,另一个包含在HAProxy配置文件中提高了正则表达式样式的过滤性能,最后一个包含了实际编译源代码所需的一切。

  • 安装必需的软件包。
sudo apt-get install build-essential
  • 安装libssl-dev以允许SSL功能
sudo apt-get install libssl-dev
  • 安装用于C ++的PCRE开发库,用于提高正则表达式的性能。
sudo apt-get install libpcre++-dev
  • 创建运行HAProxy的用户帐户。出于安全原因,该帐户应具有标准的用户特权。可以像root一样运行,但强烈建议不要这样做!
sudo useradd haproxy

下载HAProxy来源

可以从项目http://www.haproxy.org的网站下载HAProxy的源文件。在编写本教程时,最新的稳定版本为1.5.12. HAProxy项目非常活跃,因此很有可能我们看到的版本会更高。

可以使用wget下载压缩包。要下载版本1.5.12,可以使用以下命令。

wget http://www.haproxy.org/download/1.5/src/haproxy-1.5.12.tar.gz

编译HAProxy

  • 从下载的tar文件中提取haproxy源文件。
tar xvf haproxy-1.5.12.tar.gz
  • 转到提取的目录。
cd haproxy-1.5.12
  • 编译HAProxy。我使用的选项针对服务器上使用的处理器体系结构优化二进制文件,针对Linux内核3.00+优化,允许SSL并使用PCRE。
make TARGET=linux2628 CPU=native USE_STATIC_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1
  • 安装新编译的程序。
sudo make install

HAProxy Upstart脚本

Upstart脚本使我们可以启动和停止服务。本质上,它只是一个bash脚本,它接受服务将接受的每个操作的预定义参数。不幸的是,尽管HAProxy源tar包含一个示例,但它是专门为Red Hat \ CentOS服务器编写的。对于Ubuntu,我们将必须自己制作。值得庆幸的是,这里有很多例子。以下是我用于Ubuntu的一种,我已对其进行了修改以与HAProxy的默认安装位置一起使用。

  • 为HAProxy创建一个新文件新贵文件。
sudo touch /etc/init.d/haproxy
  • 使文件可执行。
sudo chmod +x /etc/init.d/haproxy
  • 在文本编辑器中打开文件
sudo vi /etc/init.d/haproxy
  • 复制以下示例的内容,并将其粘贴到文件中。

HAProxy配置文件

最后,我们需要HAProxy的配置文件。如果我们熟悉HAProxy,则可以定义HAProxy的运行方式以及代理或者负载平衡的Web应用程序/服务。为了入门,我提供了一个示例配置。

  • 在/ etc中创建HAProxy目录。
sudo mkdir /etc/haproxy
  • 创建配置文件。
sudo vi /etc/haproxy/haproxy.cfg
  • 将以下示例的内容添加到文件中。
  • 保存更改并退出文本编辑器。

启动HAProxy

现在一切就绪。现在该测试我们的部署以确保一切正常。为此,我们将启动服务以确保没有错误。

sudo service haproxy start

如果一切顺利,则应该启动HAProxy,并将以下文本输出到控制台。

* Starting haproxy haproxy