Docker部署

大约 4 分钟

服务端支持使用docker部署和直接使用Java原生部署两种方式。

Docker部署

Docker依赖mysql,故需要docker-compose配合

docker-compose

已经安装过docker和docker-compose的请略过此步骤

# 如果你的服务器长期没有更新,那么建议更新一下
sudo yum clean all
sudo yum makecache
sudo yum update

# 安装docker(系统依赖升级到最新,这里一般不会报错,如果报错请走一遍第一步,可以考虑使用阿里云的yum镜像)
sudo yum install -y yum-utils  device-mapper-persistent-data  lvm2
sudo yum-config-manager  --add-repo   https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io

# 设置docker开机自启动
sudo systemctl start docker 
sudo systemctl enable docker
systemctl enable docker.service
systemctl start docker.service

# 安装docker-compose,这里使用了pip的方式
sudo pip install docker-compose

启动majora

执行命令:

curl https://oss.iinti.cn/majora/quickstart.sh | bash

访问网站:http://127.0.0.1:8909/open in new window,首次打开网站请注册账户,第一个注册账户将会成为管理员

  • 请预先安装好dockerdocker-compose
  • 服务依赖MySQL启动,使用Docker-compose 首次启动数据库较慢,
  • 可能会majora-server启动失败, 这种情况确认数据库启动成功后,直接docker restart majora-server
  • docker全部使用默认参数做配置,非常适合快速入门,当然majora目前没有非常复杂的环境依赖,使用docker用作生产也是可以的
yint@MacBook-Pro ~ % curl https://oss.iinti.cn/majora/quickstart.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   271  100   271    0     0   4113      0 --:--:-- --:--:-- --:--:--  4442
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2594  100  2594    0     0  48584      0 --:--:-- --:--:-- --:--:-- 52938
Archive:  majora-compose.zip
   creating: assets/
  inflating: assets/ddl.sql          
  inflating: docker-compose.yaml     
[+] Running 12/12
 ⠿ majora-mysql-local Pulled                                                                                                                                                                                                                                            40.1s
   ⠿ 9815334b7810 Pull complete                                                                                                                                                                                                                                         17.0s
   ⠿ f85cb6fccbfd Pull complete                                                                                                                                                                                                                                         17.1s
   ⠿ b63612353671 Pull complete                                                                                                                                                                                                                                         17.2s
   ⠿ 447901201612 Pull complete                                                                                                                                                                                                                                         17.4s
   ⠿ 9b6bc806cc29 Pull complete                                                                                                                                                                                                                                         17.4s
   ⠿ 24ec1f4b3b0d Pull complete                                                                                                                                                                                                                                         17.5s
   ⠿ 207ed1eb2fd4 Pull complete                                                                                                                                                                                                                                         21.6s
   ⠿ 27cbde3edd97 Pull complete                                                                                                                                                                                                                                         21.7s
   ⠿ 0a5aa35cc154 Pull complete                                                                                                                                                                                                                                         38.4s
   ⠿ e6c92bf6471b Pull complete                                                                                                                                                                                                                                         38.4s
   ⠿ 07b80de0d1af Pull complete                                                                                                                                                                                                                                         38.5s
[+] Running 3/2
 ⠿ Network majora_compose_default  Created                                                                                                                                                                                                                               0.0s
 ⠿ Container majora-mysql-local    Created                                                                                                                                                                                                                               0.3s
 ⠿ Container majora-server         Created                                                                                                                                                                                                                               0.0s
Attaching to majora-mysql-local, majora-server
...
majora-server       | 
majora-server       |   .   ____          _            __ _ _
majora-server       |  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
majora-server       | ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
majora-server       |  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
majora-server       |   '  |____| .__|_| |_|_| |_\__, | / / / /
majora-server       |  =========|_|==============|___/=/_/_/_/
majora-server       |  :: Spring Boot ::                (v2.4.0)
majora-server       | 
majora-server       |  _ _   |_  _ _|_. ___ _ |    _ 
majora-server       | | | |\/|_)(_| | |_\  |_)||_|_\ 
majora-server       |      /               |         
majora-server       |                         3.1.2 

Docker 更新

cd majora-compose;
sudo docker pull registry.cn-beijing.aliyuncs.com/iinti/common:majoraserver-latest;
sudo docker-compose down;
sudo docker-compose up -d;

普通方式部署

如果你不想是你用docker,或者多了解Majora的运行机理(甚至想逆向Majora的源码🙄️),那么你可以使用普通方式部署。 Majora的普通部署方式也是非常简单,在保证安装java1.8之后,执行脚本即可启动服务。

1.下载安装包

2.安装准备

  • 安装jdk1.8
  • 安装mysql,或者购买mysql服务

3.配置和初始化

  • 解压安装包
  • conf文件夹的相关配置
    • 修改端口范围(在那些端口上启动代理服务),请注意:当前版本更加建议通过后台设置大多数业务参数,请参考网站业务后台
    • 修改日志规则(指定日志文件夹)
  • 执行数据库初始化sql

4.运行

  • 执行bin/startup.sh (如果是windows,那么执行 xxx.bat即可)
  • 观察日志是否正常

5.1初始化Admin账号

浏览器访问 http://你的IP:Web服务端口open in new window

  • bin/startup.sh 默认端口为 80
  • docker 启动 默认端口是 8909

首个注册的的账号就是超级管理员~

注册完成后记得设置”代理鉴权账号密码“, 如 admin/admin

5.2 安装App 连接 majora

5.3 测试代理端口

  • 后台登录后,设置代理鉴权账号密码,如 admin/admin
curl -vvv -x admin:admin@你的IP:30100 https://myip.ipip.net


日志输出


* [CONN-0-0][CF-SSL] TLSv1.3 (IN), TLS handshake, Server hello (2):
* [CONN-0-0][CF-SSL] TLSv1.2 (IN), TLS handshake, Certificate (11):
* [CONN-0-0][CF-SSL] TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* [CONN-0-0][CF-SSL] TLSv1.2 (IN), TLS handshake, Server finished (14):
* [CONN-0-0][CF-SSL] TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* [CONN-0-0][CF-SSL] TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* [CONN-0-0][CF-SSL] TLSv1.2 (OUT), TLS handshake, Finished (20):
* [CONN-0-0][CF-SSL] TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-ECDSA-AES256-GCM-SHA384
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: CN=*.ipip.net
*  start date: Apr  5 00:00:00 2023 GMT
*  expire date: Aug 24 23:59:59 2023 GMT
*  subjectAltName: host "myip.ipip.net" matched cert's "*.ipip.net"
*  issuer: C=CN; O=TrustAsia Technologies, Inc.; OU=Domain Validated SSL; CN=TrustAsia TLS ECC CA
*  SSL certificate verify ok.
> GET / HTTP/1.1
> Host: myip.ipip.net
> User-Agent: curl/7.87.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Fri, 05 May 2023 10:12:48 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 69
< Connection: keep-alive
< X-Cache: BYPASS
< X-Request-Id: b98493b30524c459d50edd7d2e98344c
< Server: WAF
< Connection: close
< Accept-Ranges: bytes
<
当前 IP:xxx.xxx.xx.xxx  来自于:中国 安徽 黄山  电信
* Closing connection 0
* [CONN-0-0][CF-SSL] TLSv1.2 (OUT), TLS alert, close notify (256):