
나는 apache2 서버를 가지고 있으며 모든 사람이 액세스할 수 있도록 노력했지만 그렇게 할 수 없습니다. 출력은 다음과 같습니다.
$ netstat -plant | grep apache
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 15647/apache2
예전에는 :::80이었는데, serverfualt.com에서 다른 글을 보고 변경했습니다.
$ ufw status
Status: inactive
$ service apache2 status
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-08-28 18:33:05 UTC; 16min ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 15625 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 15647 (apache2)
Tasks: 55 (limit: 4617)
Memory: 12.5M
CGroup: /system.slice/apache2.service
├─15647 /usr/sbin/apache2 -k start
├─15648 /usr/sbin/apache2 -k start
└─15649 /usr/sbin/apache2 -k start
Aug 28 18:33:05 localhost systemd[1]: Starting The Apache HTTP Server...
Aug 28 18:33:05 localhost systemd[1]: Started The Apache HTTP Server.
브라우저에서 액세스하려고 하면 계속해서 로드되고 어느 시점이 지나면 site takes too long to respond
오류가 발생합니다.
문제를 해결하도록 도와주세요. 또한 다른 출력이 필요한 경우 알려주시기 바랍니다.
답변1
이미 서비스가 실행 중인지 확인했습니다.
서비스에 액세스할 수 있는지 확인하려면 서버 자체에서 서버에 액세스해 보세요. 확인해야 할 적절한 명령은 서버가 실행 중인 동일한 시스템에서 실행되는 telnet 또는 컬입니다.
$ telnet localhost 80
$ curl -v http://localhost
이것이 잘 작동한다면 다음은 서버의 방화벽이 포트 80을 열었는지 확인하는 것입니다. 힌트: ufw
방화벽의 한 유형일 뿐이며 다른 프로그램도 있을 수 있습니다. 또한 다른 방화벽(예: 서버 공급자 중 하나)이 포트 80에 대한 액세스를 허용하는지 확인하세요.
다음 단계는 동일하게 시도하되 서버의 공용 IP를 사용하는 것입니다. 서버의 공인 IP를 알아내는 명령은 입니다 echo $(curl -s ifconfig.me)
. 또 다른 방법은 의 출력에서 검색하는 것입니다 ip a
.
마지막으로 DNS를 확인해야 합니다. 귀하의 도메인 이름이 올바른 IP를 가리키는 경우.