【问题标题】:XAMPP: Another web server daemon is already running?XAMPP:另一个 Web 服务器守护进程已经在运行?
【发布时间】:2013-06-06 22:31:27
【问题描述】:

如果我使用所有这些命令运行另一个 apache/web-server 实例,我昨天已经痛苦地分析了整个过程

ps aux
ps -e
lsof 
netstat tunap

我没有另一个 Apache 实例或在端口 8080 上运行的任何其他服务器。

然而,XAMPP 给了我这个:

XAMPP: Another web server daemon is already running

我该怎么办?

我还编辑了 httpd.conf 来监听端口 9876,还是一样。

【问题讨论】:

    标签: linux apache unix ubuntu xampp


    【解决方案1】:

    首先运行sudo xampp 它应该会显示可用操作的列表。如果不是,那么xampp安装有问题(这是另一个问题)。

    第二次运行sudo /opt/lampp/manager-linux-x64.run 这将打开一个 GUI。在 GUI 中,您可以启动和停止服务器(apache、sql)。它可能在大多数情况下都有效。

    如果不是在 GUI 中启动,则更改端口。 (有一个选项可以在 GUI 中更改端口)。现在它可以工作了。

    如果 GUI 选项不适合您,请尝试下一步。

    选项 1. 打开 /opt/lampp/logs/error_log 文件并读取最后 10 行。

    在我的情况下,错误是 could not bind to address [::]:80 。这 通知端口 80 被另一个服务使用。选项是,改变我们的 apache 服务器端口位于 GUI/opt/lampp/properties.ini 文件 (“有时您必须退出系统并重新登录才能工作。”) 或停止使用该端口的服务器。

    提示:这里使用 80,所以尝试 81 等等..

    选项 2。执行以下步骤。

    停止 xampp sudo xampp stop

    然后

    sudo /etc/init.d/apache2 stop

    sudo /etc/init.d/mysql stop

    sudo /etc/init.d/proftpd stop

    然后

    启动xamppsudo xampp start

    【讨论】:

      【解决方案2】:

      下面的命令应该对我有用

        sudo service apache2 stop
      

      然后

        sudo /opt/lampp/lampp restart
      

      【讨论】:

        【解决方案3】:

        您可以在命令 shell 中使用:

        sudo netstat -ltnp | grep :80
        

        在最后一列中,您将看到:pid / process_name。您可以稍后使用以下命令来停止进程:

         ps aux | grep process_name
        

        之后尝试重启lampp,使用::sudo /opt/lampp/lampp restart

        【讨论】:

          【解决方案4】:

          上述解决方案对我不起作用。但是这个解决方案确实 -

          sudo apachectl stop
          

          如果 XAMPP GUI 可用,则重新启动 apache、mysql 或从终端重新启动(在 Ubuntu 中) -

          sudo /opt/lampp/lampp restart
          

          【讨论】:

            【解决方案5】:

            注意启动脚本中的端口检查

            如果您将 xampp apache 更改为侦听另一个端口(/opt/lampp/etc/httpd.conf -->“Listen 80”现在是“Listen 82”),那么您还必须更改端口检查在 /opt/lampp/xampp 启动脚本中。

            只需在 /opt/lampp/xampp 中搜索与

            'Another web server is already running.'
            

            并在前面的行中搜索:

            if testport 80
            

            改成:

            if testport 82
            

            这样您就可以在端口 82 上启动一个 xampp,并让您的常规网络服务器在端口 80 上运行。

            【讨论】:

              【解决方案6】:
               sudo rm /opt/lampp/logs/httpd.pid
              // get listen pid
               sudo netstat -nap | grep :80
              

              输出示例:

              tcp6   0  0 :::80  :::*  LISTEN  14417/httpd
              

              PID 是 14417

              杀死进程

               sudo kill 14417
              

              启动/重启lampp服务器

               sudo /opt/lampp/lampp restart
              

              【讨论】:

                【解决方案7】:
                sudo /etc/init.d/apache2 stop
                sudo /etc/init.d/mysql stop
                sudo /etc/init.d/proftpd stop
                

                此解决方案似乎有效。你必须重启lampp:

                sudo /opt/lampp/lampp restart
                

                在遇到类似问题后针对 Ubuntu 12.04 测试的解决方案。

                【讨论】:

                • 请用英文回复。
                • 我翻译了您提供的解决方案,但它不起作用
                • 我不知道如何感谢你...它成功了谢谢你..:)
                【解决方案8】:

                我通过禁用 ssl 端口解决了这个问题

                sudo /opt/lampp/lampp disablessl
                

                然后

                sudo /opt/lampp/lampp start
                

                【讨论】:

                  【解决方案9】:

                  以下命令应该在所有情况下都可以停止 Mysql 服务:

                  sudo service mysql stop
                  

                  使用以下命令点击此启动lampp服务后:

                  sudo /opt/lampp/lampp start
                  

                  【讨论】:

                    【解决方案10】:

                    我也没有运行任何服务器,但我发现这个命令拯救了我:

                    sudo lsof -i :80
                    

                    它为我显示了这样的东西:

                    COMMAND     PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
                    Skype      4275    root   61u  IPv4 0x869da9d5a8e5506b      0t0  TCP *:http (LISTEN)
                    

                    所以杀掉 Skype 才行。

                    【讨论】:

                      【解决方案11】:

                      如果:

                      lsof -Pi |grep 8080        returns no results
                      netstat -na |grep 8080     returns no results
                      ps -ef                     shows no web server processes
                      

                      那么也许有一个锁定文件在启动时正在检查?这些通常可以在 /var/run 下找到,但不一定非要如此。此时我通常会运行 strace 来查看发生了什么:

                      strace -e read=all -e write=all -f -o strace.out your_startup_command

                      然后打开 strace.out,在输出中搜索“..is already running”字符串,并开始查看其上方的行以查看失败的原因。

                      【讨论】:

                        猜你喜欢
                        • 2018-10-15
                        • 2018-08-14
                        • 2016-01-04
                        • 1970-01-01
                        • 1970-01-01
                        • 2019-11-02
                        • 1970-01-01
                        • 2013-12-22
                        • 1970-01-01
                        相关资源
                        最近更新 更多