Salut, je suis un débutant sur nginx, j'ai essayé de le configurer sur mon serveur (exécutant Ubuntu 4), qui a déjà apache en cours d'exécution.
Donc, après l'avoir apt-get install
fait, j'ai essayé de démarrer nginx. Ensuite, je reçois le message comme celui-ci:
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)
Cela a du sens car Apache utilise le port 80.
Ensuite, j'ai essayé de modifier nginx.conf
, je fais référence à certains articles, donc je l'ai changé comme ceci:
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";
}
Après avoir sauvegardé ceci et essayé de redémarrer nginx, j'obtiens toujours la même erreur que précédemment. Je ne trouve pas vraiment de message à ce sujet, est-ce que de bonnes personnes pourraient briser de la lumière?
Merci d'avance :)
==================================================== ========================
Je devrais poster tout le contenu de la conf ici:
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;
}
}
En gros, je n'ai rien changé sauf l'ajout de la partie serveur.
Réponses:
Vous devez aller au
/etc/nginx/sites-enabled/
et si cela est la configuration par défaut, il devrait y avoir un fichier par nom:default
.Modifiez ce fichier en définissant le port souhaité; dans l'extrait ci-dessous, nous servons l'instance Nginx sur le port 81.
Pour démarrer le serveur, exécutez la ligne de commande ci-dessous;
Vous pouvez maintenant accéder à votre application sur le port 81 (pour localhost, http: // localhost: 81 ).
la source
sudo nginx -s reload
sudo service nginx restart
netstat
, il y a toujours quelque chose qui écoute sur le port 80. Avez-vous une idée?/etc/nginx/sites-available directory
Vous devrez changer le port de configuration d'Apache ou de Nginx. Après cela, vous devrez redémarrer les serveurs reconfigurés à l'aide de la commande «service» que vous avez utilisée.
Apache
Éditer
et changez le 80 sur la ligne suivante en quelque chose de différent:
Si vous changez simplement le port ou ajoutez plus de ports ici, vous devrez probablement également modifier l'instruction VirtualHost dans
et changez le 80 sur la ligne suivante en quelque chose de différent:
puis redémarrez par:
Nginx
Éditer
et changez le 80 sur la ligne suivante:
puis redémarrez par:
la source
Suivez ceci: Ouvrez votre fichier de configuration
Changez le numéro de port sur lequel vous écoutez;
Ajouter une règle à iptables
Redémarrez IPtables
Redémarrez le serveur nginx
Accéder aux fichiers du serveur nginx sur le port 81
la source
Si vous êtes sur Windows , puis en dessous les paramètres du serveur sont liés à des ports présents dans le fichier nginx.conf à <nginx chemin d'installation> / conf dossier.
Modifiez le numéro de port et redémarrez l'instance.
la source
Si vous rencontrez ce problème lors de l'utilisation de Docker, assurez-vous de mapper les numéros de port corrects. Si vous mappez le port 81:80 lors de l'exécution de docker (ou via docker-compose.yml), votre nginx doit écouter sur le port 80 et non sur 81, car docker effectue déjà le mappage.
J'ai moi-même passé un certain temps sur cette question, alors j'espère que cela pourra aider les futurs googleurs.
la source