Apache có chạy không?


13

Tôi vừa tiếp quản quản trị trang web cho trang web của công ty tôi và tôi đang chuẩn bị báo cáo cho đối tác của mình về ngăn xếp LAMP. Nhưng tôi là một sinh viên CS mới tốt nghiệp và điều duy nhất tôi biết rất rõ là mã hóa Java, vì vậy tôi cần một số trợ giúp!

Tôi đang cố gắng tìm hiểu a) nếu Apache được cài đặt và b) phiên bản nào đang chạy.

Phiên bản Linux của tôi là "Ubuntu 8.04.4 LTS \ n \ l", như được báo cáo bởi /etc/issue.

Câu trả lời:


19

Nó đang chạy à?

pgrep apache

Bất kỳ đầu ra nào cũng tốt, không có gì có nghĩa là nó không chạy.

Phiên bản nào:

aptitude show apache2

1
pgrep apachesản xuất 11 dòng đầu ra.
Iain Samuel McLean Elder

aptitude show apache2sản xuất rất nhiều đầu ra, bao gồm cả dòng Version: 2.2.8-1ubuntu0.15.
Iain Samuel McLean Elder

1
apache2 -versiontrong một cái vỏ cũng sẽ làm việc
Marc B

4

Bạn đã thử nói chuyện với nó chưa?

telnet localhost 80
HEAD / HTTP/1.0
<extra carriage return>

telnet localhost 80sản xuất-bash: telnet: command not found
Iain Samuel McLean Elder

Bạn nên xem xét việc cài đặt nó hoặc một cái gì đó có chức năng tương tự như ncat (một phần của nmap 5). Nói chuyện trực tiếp với máy chủ web của bạn (hoặc SMTP hoặc POP hoặc IMAP hoặc SIP hoặc FTP hoặc ') có thể không thể thiếu để khắc phục sự cố.
Gerald Combs

3

Để kiểm tra Apache 1.X xem bên dưới, cho Apache 2.X xem câu trả lời của wzzrd.

Quá trình máy chủ web apache được gọi là httpd, vì vậy một cách nhanh chóng để bắt đầu với xác nhận apache đã được cài đặt và chạy là:

ps -A | grep 'httpd'

ps -A liệt kê tất cả các quy trình đang chạy grep 'httpd' chỉ lọc các dòng có chứa 'httpd'

Nếu bạn không nhận được bất kỳ kết quả nào, apache sẽ không chạy.

về phiên bản, hãy thử:

tình trạng apachectl

trong đầu ra phải có một dòng như:
Máy chủ Apache / 1.3.41 tại www.xyz.com Cổng 80

Nếu nó không thể tìm thấy apachectl, nó có thể không nằm trong đường dẫn thực thi của bạn, hãy thử:
whereis apachectl
để xem nó nằm ở đâu

Đây là những cách bất khả tri phân phối vì vậy cho dù apache được cài đặt trên hệ thống như thế nào, bạn cũng nên tìm thấy nó với những cách này.


"ps -A | grep 'httpd'" không tạo ra đầu ra.
Iain Samuel McLean Elder

"trạng thái apachectl" tạo ra "-bash: apachectl: lệnh không tìm thấy"
Iain Samuel McLean Elder

"Whereis apachectl" tạo ra "apachectl:"
Iain Samuel McLean Elder

Tuy nhiên, ps -A | grep apache2sản xuất `2691? 00:00:01 apache2` và 10 apache2quy trình khác .
Iain Samuel McLean Elder

1
@isme, thực sự, đó không phải là vấn đề phân phối mà là vấn đề phiên bản chính của apache. Tôi đã tham khảo một hộp với apache 1.x trên đó. Các hướng dẫn sẽ hoạt động trên Ubuntu với apache 1.x và câu trả lời khác sẽ không tạo ra kết quả.
ManiacZX

1

Bấm vào đây: http: // localhost Nếu bạn không gặp lỗi 404, nó đang chạy.


Ví dụ máy chủ của tôi là VPS, vì vậy tôi không thể chỉ cần nhấp vào liên kết trên máy cục bộ của mình để kiểm tra xem nó có chạy hay không.
Iain Samuel McLean Elder

Bạn có thể chạy một số trình duyệt web như các liên kết hoặc lynx trực tiếp trên máy chủ.
halp

0
/sbin/service httpd status

Sẽ nói rằng bạn không có nó | không sao đâu nó TẮT


/sbin/service httpd statussản xuất-bash: /sbin/service: No such file or directory
Iain Samuel McLean Elder

0

Đối với Apache / 2.2.22, bạn cũng có thể thử. Nó sẽ cho bạn thấy một vài quy trình.

ps -A | grep 'apache'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.