部署开源版禅道,修改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的端口

相关推荐
忆~遂愿4 小时前
《大模型驱动软件测试》| 软件工程3.0时代,大模型驱动测试实战指南
人工智能·深度学习·神经网络·机器学习·自然语言处理·软件工程·知识图谱
Dola_Zou7 小时前
工业软件防破解避坑指南:CodeMeter 全流程入门与选型(上)
人工智能·自动化·视觉检测·软件工程·软件加密
鬼才血脉9 小时前
Idea使用Tomact运行项目,控制台输出中文乱码
tomcat·bug
铁皮哥12 小时前
【agent 开发】Claude Code 的 Skill 是怎么被加载的?从 name/description 到 SKILL.md 再到资源文件
java·服务器·数据库·python·gitee·github·软件工程
x***r15113 小时前
linux安装 apache-tomcat-7.0.42.tar.gz 详细步骤(解压、配置、启动)
linux·tomcat·apache
源图客14 小时前
【2026】同等学历-计算机-软件工程
软件工程
程序员的程15 小时前
从一个 issue 到阮一峰周刊推荐:stock-sdk 的开源成长记
开源·issue
NiceCloud喜云16 小时前
Anthropic 发布 Project Glasswing:未公开模型 Mythos 已挖出 10000+ 漏洞,含 OpenBSD 27 年老 bug
android·java·数据库·c++·python·docker·bug
@insist12316 小时前
系统架构设计师-软件工程考点详解:CBSE、逆向工程与净室工程
架构·系统架构·软件工程·软考·系统架构设计师·软件水平考试
阿里云云原生1 天前
Apache RocketMQ 5.5.0 发布:LiteTopic 深度解析,如何支撑百万级 AI 会话并发?
apache·rocketmq