无法访问CentOS httpd

时间:2015-07-30 20:55:22

标签: apache centos

我一直在使用Ubuntu,刚刚开始在桌面(Ubuntu)上的VMplayer上运行Centos(CentOS Linux版本7.1.1503(Core))。

  • 分支新的CentOS安装。
  • 安装httpd(使用" yum")
  • 由于某种原因,httpd没有自动启动,我跑了#34;服务httpd start"它始于" netstat -antp"。

    function s3Command($command){
        switch ($command) {
            case 'CreateMultipartUpload':
                $fileindex = $_POST['fileindex'];
                $key       = preg_replace('/\s+/', '_', $_POST['key']);
    
                $response = $GLOBALS["s3"]->createMultipartUpload(array(
                    'Bucket' => TMP_IMG,
                    'Key'    => $key,
                    'ACL'    => 'public-read'
                ));
    
                $uploadId = $response['UploadId'];
    
                sendJson(array(
                    'uploadId'  => $uploadId,
                    'key'       => $key,
                    'fileindex' => $fileindex
                ));
                break;
    
            case 'UploadPart':
                $key       = preg_replace('/\s+/', '_', $_POST['key']);
                $tmp_files = $_FILES['file'];
                $files    = array();
                for ($i = 0; $i < count($tmp_files['name']); $i++){
                    $files[] = array(
                        'name'     => $tmp_files['name'][$i],
                        'tmp_name' => $tmp_files['tmp_name'][$i],
                        'type'     => $tmp_files['type'][$i],
                        'size'     => $tmp_files['size'][$i],
                        'error'    => $tmp_files['error'][$i]
                    );
                }
    
                $body = mergeFiles($files);
    
                $result = $GLOBALS["s3"]->uploadPart(array(
                    'Bucket'     => TMP_IMG,
                    'Key'        => $key,
                    'UploadId'   => $_POST['uploadId'],
                    'PartNumber' => $_POST['partNumber'],
                    'Body'       => $body
                ));
                break;
    
            case 'CompleteMultipartUpload':
                $key       = preg_replace('/\s+/', '_', $_POST['key']);
                $partsModel = $GLOBALS["s3"]->listParts(array(
                    'Bucket'   => TMP_IMG,
                    'Key'      => $key,
                    'UploadId' => $_POST['uploadId']
                ));
    
                $model = $GLOBALS["s3"]->completeMultipartUpload(array(
                    'Bucket'   => TMP_IMG,
                    'Key'      => $key,
                    'UploadId' => $_POST['uploadId'],
                    'Parts'    => $partsModel['Parts'],
                ));
    
                $url = $GLOBALS["s3"]->getObjectUrl(TMP_IMG, $key);
                $tmp  = explode('.', $key);
                $type = getFileType(end($tmp));
    
                if($type == 'image'){
                    $url = resizeImage($url);
                }
                else if($type != 'video'){
                    copyObject($key, FINISHED_IMG);
                    $url = $GLOBALS["s3"]->getObjectUrl(FINISHED_IMG, $key);
                }
    
                sendJson(array(
                    'success' => true,
                    'url'     => $url,
                    'key'     => $key,
                    'type'    => $type
                ));
                break;
    
            case 'AbortMultipartUpload':
                $key = preg_replace('/\s+/', '_', $_POST['key']);
                $s3->abortMultipartUpload(array(
                    'Bucket'   => TMP_IMG,
                    'Key'      => $key,
                    'UploadId' => $_POST['uploadId']
                ));
                break;
    
            default:
                # code...
                break;
        }
    }
    
  • 我可以在本地访问http服务器(在CentOs命令行中[root@localhost ~]# netstat -antp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1161/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1620/master tcp 0 0 10.0.0.19:22 10.0.0.7:20383 ESTABLISHED 2421/sshd: root@pts tcp6 0 0 :::80 :::* LISTEN 2453/httpd tcp6 0 0 :::22 :::* LISTEN 1161/sshd tcp6 0 0 ::1:25 :::* LISTEN 1620/master

  • 当我尝试从主机curl http://localhost访问httpd时,它拒绝了TCP连接。我能够ssh到它,它适用于ssh curl http://172.16.13.143/
  • 我已停止iptables ssh root@172.16.13.143
  • 根据service iptables stop命令关闭SELinux。

我只需要在网络界面上进行快速测试,但我不能。真的需要一些帮助。感谢。

4 个答案:

答案 0 :(得分:3)

RHEL / CentOS / Fedora系统上安装的软件包不应自动启动任何服务(因为在您配置服务之前,您可能尚未准备好将服务公开给全世界。)

运行service httpd start会暂时启动该服务,但下次启动时无法启动。您希望systemctl enable httpd使服务在您启动系统时自动启动。

您可以检查防火墙是否实际已禁用。运行iptables -S以查看当前的规则集。默认的iptables配置通常只允许ssh而不允许其他任何内容。

<强>更新

您的系统可能正在运行firewalld来管理防火墙。试试service firewalld stop

您可以运行systemctl disable firewalld以防止它在下次系统启动时启动。

答案 1 :(得分:1)

- CentOS 7

将以下内容添加到'/etc/httpd/conf/httpd.conf'

Replace:
Listen 80

With:
Listen 0.0.0.0:80

这将禁用ipv6并启用ipv4

要检查此类型:

netstat -an | grep -i tcp | grep -i listen

重启apache服务

systemctl restart httpd.service

此外,启用防火墙以访问端口80

firewall-cmd --permanent --add-service=http
firewall-cmd --reload

答案 2 :(得分:0)

您是否执行了iptables -L以确保没有防火墙正在运行?

执行以下命令以确保没有其他防火墙正在运行

ps -ef

正在收听“80”,所以有些东西阻止你的连接看起来像

答案 3 :(得分:0)

在标准安装中,CentOS 7 设置为阻止到 Apache 的流量。

将端口添加到防火墙:

对于 http:

sudo firewall-cmd --permanent --add-port=80/tcp 

对于 https:

sudo firewall-cmd --permanent --add-port=443/tcp