目录

在Centos 8上部署Clash客户端

公司因为业务开发,需要让一台国内的阿里云服务器具备访问OpenAI API的能力,为此需要在Centos 8上部署Clash客户端。

从网络上搜索,许多文章都是介绍使用 https://github.com/Dreamacro/clash/ ,然而实际上这个项目目前已经不存在了。并且因为我的部署需求只是在服务器上,命令行中运行程序时提供功能,所以实际部署的方式方法还是有了很大的不同。

1. 安装Clash客户端

由于 https://github.com/Dreamacro/clash/ 项目已经存在,所以我只通过网盘下载到 clash-linux-amd64-v1.2.0.gz安装包。

下载后解压文件,将文件复制到/usr/bin/目录下,并增加可执行权限。

gunzip clash-linux-amd64-v1.2.0.gz
sudo mv clash-linux-amd64-v1.2.0 /usr/bin/clash
sudo chmod +x /usr/bin/clash

执行clash命令,第一次运行会在~/.config/clash/目录下生成config.yaml和Country.mmdb两个文件。

sudo clash

进入~/.config/clash/目录,下载Country.mmdb文件

sudo cd ~/.config/clash
sudo wget -O Country.mmdb https://github.com/Dreamacro/maxmind-geoip/releases/download/20240312/Country.mmdb

使用机场服务商提供的Clash订阅链接,更新config.yaml。注意“clash订阅链接”两侧引号,不能缺失。

sudo curl -o config.yaml 'clash订阅链接'

2. 配置Clash成为服务

配置好config.yaml后,将~/.config/clash/config.yaml文件拷贝到/etc/clash/目录下。

sudo mkdir /etc/clash
sudo cp config.yaml /etc/clash/.
sudo cp Country.mmdb /etc/clash/.

在/etc/systemd/system目录下创建clash.service文件,增加如下内容:


[Unit]
Description=Clash daemon, A rule-base proxy in Go.
After=network.target

[Service]
Type=simple
Restart=always
ExecStart=/usr/bin/clash -d /etc/clash

[Install]
WantedBy=multi-user.target

使用systemctl命令启动clash服务

sudo systemctl enable clash
sudo systemctl start clash

查看clash运行状态

sudo systemctl status clash
sudo journalctl -xe

3. 配置服务器命令行

clas运行后,使用netstat命令查看端口是否正常。

sudo netstat -tlnp

clash会默认占用7890和9090端口。7890是Clash 代理端口,9090是外部控制端口。

设置系统代理命令,登录后自动开启代理

sudo echo "https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890" >> ~/.bashrc

不需要通过代理访问或下载文件时,需要使用如下命令关闭代理

sudo unset https_proxy http_proxy all_proxy

4. 测试

测试一下clash是否可以正常运行,可以通过curl命令访问网站

sudo curl ipinfo.io

如果输出是代理服务IP地址,说明clash正常运行。

参考URL: https://blog.iswiftai.com/posts/clash-linux/