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

相关推荐
凤山老林21 分钟前
Spring Boot 集成 Apache CXF 发布与消费 SOAP WebService:WSDL、WS-Security
spring boot·后端·apache·webservice·soap·apache cxf
8年车载测试14 小时前
车载测试中如何通过 Jira 平台提交 Bug:操作步骤与关键要点
bug·jira·uds诊断·hil测试·uds自动化测试·ecu刷写测试·canoe工具
硅基手札1 天前
SPI技术系列 13 · SPI 调试与排查
linux·运维·stm32·单片机·嵌入式硬件·bug
Dola_Zou1 天前
工商业储能系统核心策略
算法·自动化·软件工程
inquisiter1 天前
KernelGpt的部分尝试
java·前端·apache
十碗饭吃不饱1 天前
Apache POI XWPFTableCell 表格单元格排版踩坑总结
apache
李永奉1 天前
杰理可视化SDK开发-【BUG】AC7006F8芯片开启一拖二和双麦通话语音算法后,设置触摸音在唤醒语音助手和通话时触摸音没作用问题
单片机·嵌入式硬件·mcu·物联网·电脑·bug
betazhou2 天前
Apache Seatunnel 抽取SQL server实时同步到Oracle-多表同步(五)
数据库·oracle·sqlserver·apache·seatunnel
llilian_162 天前
脉冲时间间隔及计数如何精准测试?
功能测试·嵌入式硬件·51单片机·软件工程
gscsded2 天前
MFC 入门:从空窗口到一个能交互的小程序
mfc·软件工程