안녕하세요, nginx의 초보자입니다. 아파치가 이미 실행중인 서버 (Ubuntu 4를 실행 중)에 설정하려고했습니다.
그래서 나는 apt-get install
그것을 nginx를 시작하려고했습니다. 그런 다음 다음과 같은 메시지가 나타납니다.
Starting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
아파치가 포트 80을 사용하는 것처럼 말이된다.
그런 다음 수정하려고했는데 nginx.conf
기사를 참조 했으므로 다음과 같이 변경했습니다.
server {
listen 8080;
location / {
proxy_pass http://xx.xx.xx.xx:9500;
proxy_set_header Host $host:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Via "nginx";
}
이것을 저장하고 nginx를 다시 시작하려고 시도해도 여전히 이전과 같은 오류가 발생합니다. 나는 이것에 관한 관련 게시물을 실제로 찾을 수 없습니다. 좋은 사람들이 약간의 빛을 could 수 있습니까?
미리 감사드립니다 🙂
===================================================== =======================
conf의 모든 내용을 여기에 게시해야합니다.
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
# multi_accept on;
}
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
server {
listen 81;
location / {
proxy_pass http://94.143.9.34:9500;
proxy_set_header Host $host:81;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Via "nginx";
}
}
}
mail {
See sample authentication script at:
http://wiki.nginx.org/NginxImapAuthenticateWithApachePhpScript
auth_http localhost/auth.php;
pop3_capabilities "TOP" "USER";
imap_capabilities "IMAP4rev1" "UIDPLUS";
server {
listen localhost:110;
protocol pop3;
proxy on;
}
server {
listen localhost:143;
protocol imap;
proxy on;
}
}
기본적으로 서버 부분을 추가하는 것 외에는 아무것도 변경하지 않았습니다.
답변
로 이동해야하며 /etc/nginx/sites-enabled/
이것이 기본 구성 인 경우 이름별로 파일이 있어야합니다 default
.
원하는 포트를 정의하여 해당 파일을 편집하십시오. 아래 스 니펫에서 포트 81의 Nginx 인스턴스를 제공합니다.
server {
listen 81;
}
서버를 시작하려면 아래 명령 줄을 실행하십시오.
sudo service nginx start
이제 포트 81 (localhost, http : // localhost : 81 )에서 애플리케이션에 액세스 할 수 있습니다 .
답변
Apache 또는 Nginx의 구성 포트를 변경해야합니다. 이 작업을 수행 한 후에는 사용한 ‘service’명령을 사용하여 재구성 된 서버를 다시 시작해야합니다.
아파치
편집하다
sudo subl /etc/apache2/ports.conf
다음 줄의 80을 다른 것으로 변경하십시오.
Listen 80
여기에서 포트를 변경하거나 포트를 더 추가하는 경우 VirtualHost 문을 변경해야 할 수도 있습니다.
sudo subl /etc/apache2/sites-enabled/000-default.conf
다음 줄의 80을 다른 것으로 변경하십시오.
<VirtualHost *:80>
다음으로 다시 시작하십시오.
sudo service apache2 restart
니 진스
편집하다
/etc/nginx/sites-enabled/default
다음 줄에서 80을 변경하십시오.
listen 80;
다음으로 다시 시작하십시오.
sudo service nginx restart
답변
다음을 수행하십시오 : 구성 파일을여십시오.
vi /etc/nginx/conf.d/default.conf
듣고있는 포트 번호를 변경하십시오.
listen 81;
server_name localhost;
iptables에 규칙 추가
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT
IPtables 재시작
service iptables restart;
nginx 서버를 다시 시작하십시오
service nginx restart
포트 81에서 yr nginx 서버 파일에 액세스
답변
당신이 다음 포트 관련 서버 설정 아래 창에있는 경우 파일에 존재 nginx.conf 에서 / conf의 <nginx를 설치 경로> 폴더에 있습니다.
server {
listen 80;
server_name localhost;
....
포트 번호를 변경하고 인스턴스를 다시 시작하십시오.
답변
Docker를 사용할 때이 문제가 발생하면 올바른 포트 번호를 맵핑하십시오. docker를 실행할 때 (또는 docker-compose.yml을 통해) 포트 81:80을 매핑하는 경우 docker가 이미 매핑을 수행하므로 nginx가 포트 80이 아닌 포트 80에서 수신 대기해야합니다 .
나는이 문제에 대해 꽤 많은 시간을 보냈으므로 향후 Google 직원에게 도움이되기를 바랍니다.