我一直在使用Ubuntu,刚刚开始在桌面(Ubuntu)上的VMplayer上运行Centos(CentOS Linux版本7.1.1503(Core))。
由于某种原因,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/
。 ssh root@172.16.13.143
service iptables stop
命令关闭SELinux。我只需要在网络界面上进行快速测试,但我不能。真的需要一些帮助。感谢。
答案 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