私有部署
1. 准备
1.1 服务器规格
操作系统:
- CentOS 7.4 (没有7.4的话 7.0、7.6也可以)
- RockyLinux 8
- openEulor 20 (如果没有20版本那就选22版本)
- EulerOS 2.0
指令集:x86_64 (也就是使用的 Intel CPU ,不能用 AMD 的CPU )
CPU核数: 1核
内存:2G
带宽:1MB (大点最好,5MB或以上更好)
磁盘:30GB(系统盘30G,无需在单独购买数据盘。如果你所有的要翻译的网站页面数少于一万,这个就足够了)
1.2 服务器端口
使用端口号:80、6379
对外开放端口:80 ,注意,一定不要开放所有端口,不要开放 6379端口
2. 部署
2.1 安装脚本
新开服务器后,直接运行以下脚本进行安装部署,注意,不要安装宝塔了乱七八糟的东西!!!!
yum -y install wget
yum -y install unzip
# 校验down.zvo.cn下载源的通畅
wget https://gitee.com/HuaweiCloudDeveloper/huaweicloud-solution-build-wangmarketcms/raw/master/shell/hosts.sh -O ~/hosts.sh && chmod -R 777 ~/hosts.sh && sh ~/hosts.sh
rm -rf ~/hosts.sh
# 安装 redis
wget https://gitee.com/HuaweiCloudDeveloper/huaweicloud-solution-build-wangmarketcms/raw/master/shell/redis.sh -O ~/redis.sh && chmod -R 777 ~/redis.sh && sh ~/redis.sh
rm -rf ~/redis.sh
# 下载 TCDN 应用程序
mkdir /mnt && cd /mnt && mkdir tcdn && cd tcdn
wget http://down.zvo.cn/translate/tcdn/linux/tcdn.zip -O tcdn.zip
unzip tcdn.zip
chmod -R 777 /mnt/tcdn/start.sh
rm -rf /mnt/tcdn/tcdn.zip
wget http://down.zvo.cn/translate/tcdn/linux/x86_64/tcdn -O /mnt/tcdn/bin/tcdn
# 加入开机自启动
echo '/mnt/tcdn/start.sh'>>/etc/rc.d/rc.local
# 赋予可执行权限
chmod +x /mnt/tcdn/start.sh
chmod +x /etc/rc.d/rc.local
# 启动 TCDN
cd /mnt/tcdn/
./start.sh
2.2 config.properties 配置
# html翻译接口的请求url,用于html翻译, 格式如 http://192.168.31.100/html 这里统一填写为 http://translate.apistore.huaweicloud.com/html 因为我们这个服务都是提供在华为云直接购买的,购买链接: https://marketplace.huaweicloud.com/contents/b042e7ed-a5a1-48fb-8328-91762ef67312#productid=OFFI1011883756782637056
translate.tcdn.api.html.url=http://translate.apistore.huaweicloud.com/html
# html 翻译接口的鉴权 AppCode, 通过 https://marketplace.huaweicloud.com/contents/b042e7ed-a5a1-48fb-8328-91762ef67312#productid=OFFI1011883756782637056 购买后即可获得这个参数, 获取方式参考:https://cms.zvo.cn/43860.html
translate.tcdn.api.html.key=xxxxxxxxxxxxxxxxxxxxxxxxxx
# translate.api 的 jsParser JS引擎的请求url,用于使用JS来处理html, 格式如 http://192.168.31.100/jsParser 这里统一填写为 http://jse.apistore.huaweicloud.com/jsParser 因为我们这个服务都是提供在华为云直接购买的
translate.tcdn.api.jsParser.url=http://jse.apistore.huaweicloud.com/jsParser
# jsParser JS引擎接口的鉴权 AppCode, 获取方式参考上面的
translate.tcdn.api.jsParser.key=xxxxxxxxxxxxxxxxxxxxxxxxxx
#使用API接口进行管理的token,比如添加、修改站点API、刷新缓存API等等,如果不设置,那么不开启管理相关的API接口。这里你需要设置一个随机字符串,比如随便设置个五六十位的一堆乱七八糟英文,因为你安装后还要添加站点进行配置,会使用到这个。
token=
以上的参数全部都看一下进行配置好。
另外额外说明一下, 同一个华为云账号,购买的 html翻译接口 跟 JS引擎 这俩商品,获取到的 AppCode 是相同的,是同一个。 另外即使购买多次, AppCode 也不会改变。也就是你接口次数快用完了,继续购买, AppCode 还是同一个不会变的。
另外 token 的值你需要设置一个,不然你都无法设置源站,没有源站tcdn自然也就不会正常使用的。 如果你想确保绝对安全,你可以在设置好,访问也都没问题之后,将 token=xxxxx 这行直接注释掉,那么所有的管理API接口就都会不可用。
设置好后,执行命令重启 tcdn 服务,使之生效,重启命令:
sh /mnt/tcdn/start.sh
3. 添加网站
管理方式当前是通过API的方式来进行的,并没有可视化的后台界面。
当然这个管理是依靠上面 2.2 步骤中设置的 token 来进行鉴权的,如果你没设置token,那么你将没法进行管理。
然后就可以通过API接口来设置了。
- 添加及修改站点 API接口 : https://doc.zvo.cn/tcdn/20241107/admin.siteSet.set.json.html
- 查看设置的站点 API接口: https://doc.zvo.cn/tcdn/20241107/admin.siteSet.get.json.html
3.1 通过API接口添加一个站点
这里以一个需求示例来进行演示它的使用:
要对原本的网站 http://qiye1.wang.market
进行翻译
这个网站是简体中文的
要求:
- 要绑定域名 zvo.cn ,并访问 www.zvo.cn 时显示它翻译为英文后的网站
- 只显示简体中文、英文 两种语种的切换
那么请求的URL为:
http://1.94.217.190/admin/siteSet/get.json?showCopyright=0&supportLanguage=[{"id":"chinese_simplified","name":"简体中文"},{"id":"english","name":"English"}]&mainWildcardDomain=www.&token=123&mainWildcardDomainLanguage=english&sourceDomain=http://qiye1.wang.market&sourceLanguage=chinese_simplified&wildcardDomain=zvo.cn&requestSourceType=1
注意,如果你的url传递参数特别多,很长,建议用POST方式提交参数,而不是以get方式追加到url中。
3.2 进行域名解析
解析
zvo.cn
*.zvo.cn
这两个域名指向到服务器的IP
3.3 测试
如此,就已经设置好了,等几分钟,等解析生效后,访问 www.zvo.cn 即可看到效果。
4. 更多扩展
4. 文件结构及日志
4.1 文件结构
tcdn 会被安装到 /mnt/tcdn/ 目录下,文件结构为:
- config.properties配置文件,用于配置 JS引擎、HTML翻译等
- start.sh 启动脚本
- cache/ 缓存文件夹,用于存放翻译后的html文件。其内会以源站为子文件的形式进行存放。
- bin/ 应用程序
- logs/ 日志文件
- tcdn.log tcdn运行时的常规日志
- jsParse_2024-11-06.log JS引擎接口使用日志,它会每天生成一个日志文件
- htmlTranslate_2024-11-06.log HTML翻译接口的使用日志,它会每天生成一个日志文件
4.2 日志文件
- /mnt/tcdn/logs/tcdn.log tcdn的常规日志,可用于开发及部署调试、排错等进行查看使用
- /mnt/tcdn/logs/jsParse_xxx.log 调用JS引擎接口的记录日志,它会记录什么时间、多少字符、js引擎执行时间等。
- /mnt/tcdn/logs/htmlTranslate_xxx.log 调用html翻译接口的记录日志,它会记录什么时间、多少字符、什么url、执行时间、计算节点等。