共计 3430 个字符,预计需要花费 9 分钟才能阅读完成。
本帖最后由 baota.sbs 于 2024-2-21 22:44 编辑
https://mjj.baota.sbs/xyzw.7z 复制代码
要下载的抓紧,我可能也就存几天
我看里边是有教程的,发出来先劝退下
操作系统 ubuntu20
安装 openresty1.19.3.1
apt-get install libpcre3-dev libssl-dev perl make build-essential curl
wget https://openresty.org/download/openresty-1.19.3.1.tar.gz
./configure
make
make install
设置 openresty 执行目录到 path 中
1、新建或者编辑~/.bash_profile
vi ~/.bash_profile
2、添加以下内容
PATH=/usr/local/openresty/bin:/usr/local/openresty/nginx/sbin:$PATH
export LC_ALL=en_US.UTF-8
export PATH
3、保存文件后,执行 source ~/.bash_profile 将 PATH 修改掉
安装 skynet1.6
下载源码包:https://gitee.com/mirrors/skynet?_from=gitee_search
apt-get install git autoconf
安装 go1.18
wget https://studygolang.com/dl/golang/go1.18.10.linux-amd64.tar.gz
tar -C /usr/local -xvf go1.18.10.linux-amd64.tar.gz
安装 docker
apt-get install docker.io
安装 mysql 数据库
mkdir /data/mysqldb_dir // 创建宿主机 mysql 数据目录
docker pull mysql:5.7.27 // 拉取 mysql 镜像
docker run –name mysql -e MYSQL_ROOT_PASSWORD=admin123456! -v /data/mysqldb_dir:/var/lib/mysql -p ip:33061:3306 -d mysql:5.7.27 // 创建 docker 容器 yourpassword 是你自己的 mysql 的密码 10.148.0.10 替换为服务器内网 ip
安装 redis 数据库
mkdir -p /data/redisdb_dir /data/queuedb_dir // 创建宿主机 redis 数据目录
docker pull redis:5.0 // 拉取 redis 镜像
docker run –name redis -v /data/redisdb_dir:/data -p inner_ip:63791:6379 -d redis:5.0 –appendonly yes // 创建 docker 容器 inner_ip 替换为服务器内网 ip
docker run –name queue -v /data/queuedb_dir:/data -p inner_ip:63801:6379 -d redis:5.0 –appendonly yes // 创建 docker 容器 inner_ip 替换为服务器内网 ip
安装 mongo 数据库
/data/mongodb_dir // 创建宿主机 mongo 数据目录
docker pull mongo:4.0.10 // 拉取 redis 镜像
docker run –name mongo -v /data/mongodb_dir:/data/db -p inner_ip:32787:27017 -d mongo:4.0.10 // 创建 docker 容器 inner_ip 替换为服务器内网 ip
运行时需要注意的地方
1、从网上下载开源版本 skynet,编译好后将 skynet 可执行文件复制到 /data/proj/skynet 下进行替换,可绕过 key 验证
2、如果需要定制引擎功能,要保证 /data/proj/skynet/cservice/caoi.so 不被覆盖
3、使用扩展方式开发 C 代码扩展引擎功能
上传服务器代码
mkdir /data/proj
上传 config 文件夹到 /data/proj/ 下, 并修改 prod.toml 文件
上传 apiserver 文件夹到 /data/proj/ 下, 并将 depnginx.conf 替换成 nginx.conf
上传 loginserver 文件夹到 /data/proj/ 下
上传 gameserver 文件夹到 /data/proj/ 下
上传 common 文件夹到 /data/proj/ 下
上传 skynet 文件夹到 /data/proj/ 下
上传 pyapi 文件夹到 /data/proj/ 下
配置信息修改 (改成对应的 ip 和端口)
/data/proj/common/settings.lua
1、更换 mongodb 数据库名
M.mongodb_tb = {
game = “game”, — 将此处的 game 改成 leshusanguo(二开可以自定义名称)
}
2、更换 ip,换成自己机器的公网 ip
— 暴露给客户端的连接信息 (外网 IP)
if M.debug then
M.nodes[‘gameserver1’].host = “192.168.3.15”
else
M.nodes[‘gameserver1’].host = “you_ip”
end
/data/proj/common/setting/settings_template.lua
1、将 ip 换成内网或者外网 ip(如果 docker 启动监听在内网则填写内网 ip,外网则填写外网 ip)
2、port 换成对应的端口,比如 mysql 3306 换成 33061,取决于 docker 启动时监听的端口号,可自定义
3、数据库相关的账户名和密码
/data/proj/config/prod.toml(生产环境),/data/proj/goserver/conf/dev.toml(测试环境)
1、同样将 ip 和端口号换成自己的
2、注意修改 mysql 的账户名密码
启动服务器
启动 apiserver
cd /data/proj/apiserver
nginx -p `pwd` -c conf/nginx.conf // 启动
nginx -p `pwd` -c conf/nginx.conf -s reload // 重启
nginx -p `pwd` -c conf/nginx.conf -s stop // 停止
启动 gameserver
cd /data/proj/skynet
./skynet ../loginserver/prodconfig // 启动登录服务器
./skynet ../gameserver/prodconfig // 启动游戏服务器
kill -9 `cat loginskynet.pid` // 停止登录服务器
kill -9 `cat gameskynet.pid` // 停止游戏服务器
启动 goserver
cd /data/proj/goserver
./mygo // 启动管理后台服务
启动 pyapi(这个可暂时不用管,很简单,就是用来支付的)
cd /data/proj/pyapi/kefu
python main.py // 启动客服服务
cd /data/proj/pyapi/wxpay
sh start.sh // 启动微信支付服务
复制代码