目录
- 前言
- 准备工作
- 编译安装shadowsocks-libev
- 3.1 下载源码包
- 3.2 编译安装
- 3.3 常见编译错误及解决方法
- 配置shadowsocks-libev
- 启动shadowsocks-libev服务
- 常见问题FAQ
- 6.1 为什么编译时会出现 “fatal error: openssl/opensslv.h: No such file or directory” 错误?
- 6.2 为什么编译时会出现 “error: ‘struct ev_loop’ has no member named ‘data'” 错误?
- 6.3 为什么启动服务时会出现 “failed to bind address” 错误?
- 总结
1. 前言
shadowsocks-libev 是一个轻量级的 shadowsocks 客户端,它采用 C 语言编写,性能优异,广受好评。在 CentOS 7 系统上安装 shadowsocks-libev 时,可能会遇到一些编译错误,本文将详细介绍如何解决这些问题。
2. 准备工作
在开始编译安装 shadowsocks-libev 之前,需要先确保系统已经安装了以下依赖包:
- gcc
- make
- autoconf
- automake
- libev-devel
- libsodium-devel
- openssl-devel
- pcre-devel
可以使用以下命令安装这些依赖包:
yum install -y gcc make autoconf automake libev-devel libsodium-devel openssl-devel pcre-devel
3. 编译安装shadowsocks-libev
3.1 下载源码包
可以从 GitHub 仓库下载 shadowsocks-libev 的源码包:
git clone https://github.com/shadowsocks/shadowsocks-libev.git cd shadowsocks-libev
3.2 编译安装
进入源码目录后,执行以下命令进行编译安装:
./configure make make install
3.3 常见编译错误及解决方法
在编译过程中,可能会遇到以下几种常见错误:
1. “fatal error: openssl/opensslv.h: No such file or directory” 这个错误是由于系统缺少 OpenSSL 开发包导致的。可以使用以下命令安装 OpenSSL 开发包:
yum install -y openssl-devel
2. “error: ‘struct ev_loop’ has no member named ‘data'” 这个错误是由于系统缺少 libev 开发包导致的。可以使用以下命令安装 libev 开发包:
yum install -y libev-devel
3. “failed to bind address” 这个错误通常是由于防火墙阻挡了 shadowsocks-libev 的端口导致的。可以尝试关闭防火墙或者添加相应的防火墙规则:
systemctl stop firewalld
4. 配置shadowsocks-libev
编译安装完成后,需要对 shadowsocks-libev 进行配置。可以创建一个配置文件 /etc/shadowsocks-libev/config.json
,内容如下:
{ “server”:”0.0.0.0″, “server_port”:8388, “password”:”your_password”, “timeout”:300, “method”:”aes-256-cfb