在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正常运行。