Định cấu hình apache để nghe trên cổng khác 80


102

Tôi sử dụng máy chủ centOS. Tôi muốn định cấu hình apache để lắng nghe trên cổng 8079. Tôi đã thêm chỉ thị LISTEN 8079 vào httpd.conf.
Tôi đã mở cổng 8079 trong iptables và khởi động lại iptables. Tôi thậm chí đã ngừng dịch vụ iptables.

"netstat -nal | grep 8079" shows "tcp  0 0 :::8079 :::* LISTEN"

Nếu tôi cố gắng truy cập http://localhost:8079hoặc http://myserver.com:8079từ máy đó, tôi có thể truy cập trang đó. NHƯNG từ bất kỳ máy nào khác, tôi không thể truy cập trang web trên bất kỳ cổng nào khác ngoài 80. Trên cổng 80, nó hoạt động. Trên cổng 8079 thì không.

Tôi cần định cấu hình những gì khác?

Câu trả lời:


138

Trong /etc/apache2/ports.conf, thay đổi cổng thành

Listen 8079

Sau đó, truy cập /etc/apache2/sites-enabled/000-default.conf

Và thay đổi dòng đầu tiên thành

<VirtualHost *: 8079>

Bây giờ khởi động lại

sudo service apache2 restart

Apache bây giờ sẽ lắng nghe trên cổng 8079 và chuyển hướng đến / var / www / html


1
Không, chỉ là thông báo khó chịu "Trang web này không khả dụng". Chỉ cần làm rõ, cổng 80 hoạt động hoàn hảo. Thay đổi cả VirtualHost và Listen không giải quyết được vấn đề đó cho tôi. (AWS ubuntu). BTW lý do tôi cần nó để nghe một cổng khác là vì tôi cũng đã cấu hình nginx để nghe 80.
Tomer

1
câu hỏi nhanh: bạn có mở cổng đến trong các nhóm bảo mật khi nói rằng bạn đang sử dụng AWS ubuntu không?
Shankar ARUL - jupyterdata.com

1
Nếu có dòng NameVirtualHost *:80ở trên, Listen 80hãy thay đổi điều đó ...
Haider Ali

75

Mở tệp httpd.conf trong trình soạn thảo văn bản của bạn. Tìm dòng này:

Listen 80

và thay đổi nó

Listen 8079

Sau khi thay đổi, hãy lưu nó và khởi động lại apache.


3
có, nhưng tôi đã đề cập trong dòng đầu tiên rằng tôi đã thử điều này "Tôi đã thêm lệnh LISTEN 8079 trong httpd.conf": ((
vivek.m

Ôi trời. Tôi không nhìn thấy nó. Bạn có thể đăng tệp httpd.conf bất kỳ ở đâu không? Và bạn đang sử dụng phần mềm bên thứ 3 Wamp, Xampp, Appserv?
ismailperim

bạn có thể lấy httpd.conf tại đây fileuploading.net/860467 không có gì giống như WAMP, Xampp, Appserv. Tất cả những gì tôi đã làm là biên dịch apache, tomcat và jk connector từ nguồn và cố gắng hết sức để chúng hoạt động cùng nhau.
vivek.m

i didnt tìm ra vấn đề :( tất cả mọi thứ dường như bình thường tôi đã cố gắng thêm Nghe 8076 dòng trong máy chủ địa phương của tôi, nhưng làm việc của nó thường bạn có thể thử lại cài đặt apache nếu có thể..?
ismailperim

2
Một điều mà mọi người dường như quên khi trả lời loại câu hỏi này là đề cập đến vị trí tệp. Tệp được đặt tại /etc/apache2/ports.conf
Mateus Viccari

23

Đó là một vấn đề tường lửa. Có một bức tường lửa phần cứng đang chặn quyền truy cập vào hầu hết các cổng. (Tắt tường lửa phần mềm / SELinux bla bla không có tác dụng)

Sau đó, tôi quét các cổng đang mở và sử dụng cổng đang mở.

Nếu bạn đang gặp phải vấn đề tương tự, hãy chạy lệnh sau

sudo nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000

Nó sẽ quét tất cả các cổng đang mở trên hệ thống của bạn. Bất kỳ cổng nào đang mở đều có thể được truy cập từ bên ngoài.

Tham khảo : http://www.go2linux.org/which_service_or_program_is_listening_on_port


netstat -anp | grep apache2 (Bạn có thể nhìn thấy cổng lắng nghe và PID từ này nếu nó running.Ubuntu)
ImranNaqvi

Nhà cung cấp dịch vụ đám mây của tôi có một bức tường lửa đang chặn cổng. Kiểm tra tường lửa được đặt khác với trong máy chủ đích.
Yamada

15

Nếu bạn cần cổng Nghe apache khác với 80, bạn nên thêm tệp tiếp theo trong ubuntu

"/etc/apache2/ports.conf"

danh sách các cổng Nghe

Listen 80
Listen 81
Listen 82

Sau khi bạn phải truy cập vào tệp tin máy chủ ảo và xác định tiếp theo

<VirtualHost *:80>
  #...v host 1
</VirtualHost>


<VirtualHost *:81>
  #...host 2
</VirtualHost>


<VirtualHost *:82>
  #...host 3
</VirtualHost>

7

Điều này đang làm việc cho tôi trên Centos

Đầu tiên: trong tệp /etc/httpd/conf/httpd.conf

thêm vào

Listen 8079 

sau

Listen 80

Điều này cho đến khi máy chủ của bạn lắng nghe cổng 8079

Thứ hai: chuyển đến máy chủ ảo của bạn cho người yêu cũ. /etc/httpd/conf.d/vhost.conf

và thêm mã này bên dưới

<VirtualHost *:8079>
   DocumentRoot /var/www/html/api_folder
   ServerName example.com
   ServerAlias www.example.com
   ServerAdmin root@example.com
   ErrorLog logs/www.example.com-error_log
   CustomLog logs/www.example.com-access_log common
</VirtualHost>

Điều này có nghĩa là khi bạn www.example.com:8079chuyển hướng đến

/ var / www / html / api_folder

Nhưng trước tiên bạn cần khởi động lại dịch vụ

sudo service httpd restart


2

Nếu bạn đang sử dụng Apache trên Windows :

  1. Kiểm tra tên của dịch vụ Apache bằng Win+ R+ services.msc+ Enter(nếu nó không phải là ApacheX.Y, nó phải có tên của phần mềm bạn đang sử dụng với apache, ví dụ: "wampapache64");
  2. Bắt đầu một dấu nhắc lệnh với tư cách Quản trị viên (sử dụng Win+ R+ cmd+ Enterlà không đủ);
  3. Thay đổi vào thư mục Apache, ví dụ: cd c:\wamp\bin\apache\apache2.4.9\bin;
  4. Kiểm tra xem tệp cấu hình có OK không với: httpd.exe -n "YourServiceName" -t(thay thế tên dịch vụ bằng tên dịch vụ bạn tìm thấy ở bước 1);
  5. Đảm bảo rằng dịch vụ đã dừng: httpd.exe -k stop -n "YourServiceName"
  6. Bắt đầu nó với: httpd.exe -k start -n "YourServiceName"
  7. Nếu nó bắt đầu ổn, sự cố không còn ở đó nữa, nhưng nếu bạn nhận được:

    AH00072: make_sock: không thể liên kết với địa chỉ IP: PORT_NUMBER

    AH00451: không có ổ cắm nghe, đang tắt

    Nếu số cổng không phải là số bạn muốn sử dụng, thì hãy mở tệp cấu hình Apache (ví dụ: C:\wamp\bin\apache\apache2.4.9\conf\httpd.confmở bằng trình soạn thảo mã hoặc wordpad, nhưng không phải notepad - nó không đọc đúng các dòng mới) và thay thế số trên dòng bắt đầu với Listensố lượng cổng bạn muốn, hãy lưu nó và lặp lại bước 6. Nếu đó là cổng bạn muốn sử dụng, sau đó tiếp tục:

  8. Kiểm tra PID của quá trình đang sử dụng cổng đó với Win+ R+ resmon+ Enter, nhấp vào tab Mạng và sau đó trên tab phụ Cổng ;
  9. Giết nó bằng: taskkill /pid NUMBER /f( /fbuộc nó);
  10. Kiểm tra lại resmonđể xác nhận rằng cổng hiện đang trống và lặp lại bước 6.

Điều này đảm bảo rằng dịch vụ của Apache được khởi động đúng cách, cấu hình trên tệp cấu hình máy chủ ảo như sarul đã đề cập (ví dụ C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf:) là cần thiết nếu bạn đang đặt đường dẫn tệp của mình ở đó và thay đổi cả cổng. Nếu bạn thay đổi nó một lần nữa, hãy nhớ khởi động lại dịch vụ: httpd.exe -k restart -n "YourServiceName".


1

Đối với máy chủ FC22

cd / etc / httpd / conf chỉnh sửa httpd.conf [enter]

Thay đổi: Nghe 80 thành: Nghe whatevernumber

Lưu các tập tin

systemctl khởi động lại httpd.service [enter] nếu được yêu cầu, mở whatevernumber trong bộ định tuyến / tường lửa của bạn

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.