部署开源版禅道,修改apache端口无效解决

遇到一个问题,我部署了一个开源版的禅道,具体版本是21.2 , 这是一个可以一键部署的版本,因为其内置了 apache,redis,mysql,php, xxd 这些都不用自己单独安装,只需要下载,解压,然后 切换到 zbox 目录下,执行以下命令就可以了

bash 复制代码
./zbox start

如果步修改任何的配置,上面提到的这些软件都是按照默认的端口来启动

bash 复制代码
Apache              80             stopped   2.4.62                   
PHP                 -              stopped   8.1.30    prefork        
MySQL               3306           stopped   10.6.20   MariaDB        
XXD                 11443 11444    stopped   9.2.1                    
Roadrunner          -              stopped   2023.3.12 @zentao        
Redis               6379           stopped   6.2.16    Cache    

但是当我们的服务器上这些端口被其他的服务占用的时候,我们就需要修改这些软件的端口,来保证正常启动。

我遇到的情况是我的80端口被nginx占用,我需要将其修改为8899 这个端口,然后我就修改了

/opt/zbox/etc/apache 目录下的apache配置文件,httpd.conf , 将apache的监听端口修改为8899

还有一处也也可以配置apache的端口

但我发现是注释的就没管它,然后启动了,放开是确实是好用的,但是过了一段时间,服务器欠费了,被强制关机了,续费重启之后,无论无何,apache都起不来,提示说是80端口被占用了,但是我明明配置的是8899,为啥要用80启动呢

说明配置文件中只有一个配置监听的地方,但是已经改为8899

说明启动的配置文件只有这一个,百思不得其解,哪里出了问题了,解决了一天没解决。

重点:我发现启动的时候,有一个提示

说明启动的时候,会从/opt/zbox/.env 这里加载信息,所以我就打开看看这个文件,执行ll -a

确实有这么个文件

bash 复制代码
export ZENTAO_ENV=zbox-linux    #一键安装包名称
export APACHE_HOST=127.0.0.1    #Apache服务IP
export APACHE_PORT=8899           #Apache服务端口
export MYSQL_HOST=127.0.0.1     #MySQL服务IP
export MYSQL_PORT=3306          #MySQL服务端口
export MYSQL_PASS=123456        #MySQL服务密码
export MYSQL_SOCK=/opt/zbox/tmp/mysql/mysql.sock #MySQL服务Socket
export DEFAULT_USER=nobody      #默认用户
export DEFAULT_GROUP=nogroup    #默认用户组
export MYSQL_SERVICE=enabled    #启动MySQL服务
export CHECK_MYSQL=true         #检查MySQL数据
export APACHE_SERVICE=enabled   #启动Apache服务
export XXD_SERVICE=enabled      #启动喧喧服务
export ROADRUNNER_SERVICE=enabled #启动roadrunner服务
export REDIS_SERVICE=enabled    #启动Redis服务
export REDISCLI_AUTH=pass4Redis #Redis服务密码
export ZT_CACHE_ENABLE=true     #禅道启用缓存
export ZT_CACHE_DRIVER=redis    #禅道缓存驱动
export ZT_CACHE_SCOPE=private   #禅道缓存作用域
export ZT_CACHE_NAMESPACE=zentao #禅道缓存命名空间
export ZT_CACHE_LIFETIME=0       #禅道缓存有效期
export ZT_REDIS_HOST=127.0.0.1   #禅道Redis服务IP
export ZT_REDIS_PORT=6379        #禅道Redis服务端口
export ZT_REDIS_PASSWORD=pass4Redis #禅道Redis服务密码
export ZT_REDIS_SERIALIZER=igbinary #禅道Redis序列化方式
export PATH=/opt/develop_tool/jdk1.8.0_251/bin:/opt/develop_tool/apache-maven-3.8.8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/zbox/bin

然后我把这里的 apache 端口修改为8899,重新启动,正常了。

其实还可以通过其他的方法来解决这个问题,那就是通过命令行,在启动的时候指定apache的端口

bash 复制代码
./zbox start --aport=8899

这个可以从 zbox 这个可执行文件中看出来

bash 复制代码
while true; do
  case "$1" in
    --aport)
      if ! [[ "$2" =~ ^[0-9]+$ ]] || [[ "$2" -lt 1 ]] || [[ "$2" -gt 65535 ]]; then
        echo "Invalid Apache port: '$2'"
        exit 1
      fi
      aport="$2"
      shift 2
      ;;
    --mport )
      if ! [[ "$2" =~ ^[0-9]+$ ]] || [[ "$2" -lt 1 ]] || [[ "$2" -gt 65535 ]]; then
        echo "Invalid MySQL port: '$2'"
        exit 1
      fi
      mport="$2"
      shift 2
      ;;
    --rport )
      if ! [[ "$2" =~ ^[0-9]+$ ]] || [[ "$2" -lt 1 ]] || [[ "$2" -gt 65535 ]]; then
        echo "Invalid Redis port: '$2'"
        exit 1
      fi
      rport="$2"
      shift 2
      ;;
    --)
      shift
      break
      ;;
    *)
      echo "Invalid option: '$1'"

可以看到可以通过 --aport 来指定apache的端口,--mport 来指定mysql的端口,--rport 来指定redis的端口

相关推荐
ALGO阿狗5 天前
SimpleDateFormat(“YYYY-MM-dd“)格式化时间出现了bug?
bug
holeer5 天前
【V3.0】「酒店 × 视觉AI」项目 | 需求分析说明书(软件工程概论 - 课程作业三)
人工智能·软件工程·需求分析·原型设计·总体设计·结构化设计
james的分享5 天前
大数据领域核心 SQL 优化框架Apache Calcite介绍
大数据·sql·apache·calcite
莫寒清5 天前
Apache Tika
java·人工智能·spring·apache·知识图谱
归叶再无青5 天前
web服务安装部署、性能升级等(Apache、Nginx)
运维·前端·nginx·云原生·apache·bash
雾江流5 天前
Xtra 2.54.1 | Twitch直播第三方客户端,开源纯净无广
软件工程
张较瘦_6 天前
[论文阅读] AI + 教育 | 不是单纯看视频!软件工程培训的游戏化融合之道
论文阅读·人工智能·软件工程
忙碌5446 天前
OpenTelemetry实战指南:构建云原生全链路可观测性体系
ios·flink·apache·iphone
张较瘦_6 天前
[论文阅读] AI + 软件工程 | 用统计置信度破解AI功能正确性评估难题——SCFC方法详解
论文阅读·人工智能·软件工程
悠闲蜗牛�6 天前
Apache Flink实时计算实战指南:从流处理到数据湖仓一体的架构演进
架构·flink·apache