# 服务端部署
为了部署方便,采用 Docker Compose 方式部署 Egg.js 和 MySQL 服务。
# 注意事项
- 服务器使用阿里云
CentOS 7.9
- 为避免冲突和数据丢失,请使用新的服务器 购买链接 (opens new window)
- 为避免权限问题,所有操作使用
root
账号进行
# 安装 Docker
yum install -y epel-release git vim yum-utils wget curl
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl start docker
systemctl enable docker
# 启动 API 服务
创建目录并进入
mkdir -p /wwwroot/rxbill && cd /wwwroot/rxbill
创建 .env
配置文件
touch .env
设置 MySQL 密码,这里使用 openssl 生成随机密码
echo "RXBILL_MYSQL_PASSWORD=$(openssl rand -base64 20)"> .env
MySQL 密码配置后不要修改,否则无法再次启动!
下载 docker-compose.yml
wget -P /wwwrooot/rxbill https://rxbill-docs.childsay.com/docker-compose.yml
启动服务
docker compose up -d
验证结果,如访问失败 3 分钟后再试
curl http://127.0.0.1:9011/api/install/status
正确返回 json 则表示成功,示例如下:
{"code":0,"message":"success","data":{"version":"1.0.0","step":"finished","installed":true}}
# 安装 Nginx
安装前需确保服务器 80 和 443 端口可对外访问,域名已备案并解析到服务器。
yum install -y nginx
systemctl enable nginx
systemctl start nginx
下载 nginx 配置文件
wget -P /etc/ngnix/conf.d https://rxbill-docs.childsay.com/rxbill.conf
修改域名,请把 www.nideshop.com
替换成你的域名
sed -i "s/server_name .*/server_name www.nideshop.com;/" /etc/ngnix/conf.d/rxbill.conf
文档出现
www.nideshop.com
的地方都需要替换成的你域名。
重启 nginx
systemctl restart nginx
验证域名访问结果
curl http://www.nideshop.com/api/install/status
# 配置 HTTPS
由于微信小程序线上需要 HTTPS 访问接口,这里使用 acme.sh 配置。
安装 acme.sh
curl https://get.acme.sh | sh
签发 HTTPS 证书
acme.sh --issue -d www.nideshop.com --nginx
复制证书到 nginx 跟目录
acme.sh --install-cert -d www.nideshop.com \
--key-file /etc/nginx/rxbill-key.pem \
--fullchain-file /etc/nginx/rxbill-fullchain.pem \
--reloadcmd "service nginx force-reload"
验证 HTTPS 访问结果
curl https://www.nideshop.com/api/install/status
# 安装程序
浏览器访问 https://www.nideshop.com/install
进行安装程序和初始化小程序配置。