Hai Saya seorang pemula di nginx, saya mencoba mengaturnya di server saya (menjalankan Ubuntu 4), yang sudah menjalankan apache.
Jadi setelah saya apt-get install
melakukannya, saya mencoba memulai nginx. Maka saya mendapatkan pesan seperti ini:
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)
Itu masuk akal karena Apache menggunakan port 80.
Lalu saya mencoba memodifikasi nginx.conf
, saya mereferensikan beberapa artikel, jadi saya mengubahnya seperti:
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";
}
Setelah menyimpan ini dan mencoba memulai nginx lagi, saya masih mendapatkan kesalahan yang sama seperti sebelumnya. Saya benar-benar tidak dapat menemukan posting terkait tentang hal ini, dapatkah ada orang baik yang mau menerkam?
Terima kasih sebelumnya :)
================================================== =======================
Saya harus memposting semua konten di conf di sini:
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;
}
}
Pada dasarnya, saya tidak mengubah apa pun kecuali menambahkan bagian server.
Jawaban:
Anda harus pergi ke
/etc/nginx/sites-enabled/
dan jika ini adalah konfigurasi default, maka harus ada file dengan nama:default
.Edit file itu dengan mendefinisikan port yang Anda inginkan; dalam cuplikan di bawah ini, kami melayani instance Nginx di port 81.
Untuk memulai server, jalankan baris perintah di bawah ini;
Anda sekarang dapat mengakses aplikasi Anda di port 81 (untuk localhost, http: // localhost: 81 ).
sumber
sudo nginx -s reload
sudo service nginx restart
netstat
, masih ada sesuatu yang mendengarkan pada port 80. Apakah Anda punya ide?/etc/nginx/sites-available directory
Anda perlu mengubah port konfigurasi Apache atau Nginx. Setelah Anda melakukan ini, Anda perlu me-restart server yang dikonfigurasi ulang, menggunakan perintah 'layanan' yang Anda gunakan.
Apache
Edit
dan ubah 80 pada baris berikut menjadi sesuatu yang berbeda:
Jika Anda hanya mengubah port atau menambahkan lebih banyak port di sini, Anda kemungkinan juga harus mengubah pernyataan VirtualHost di
dan ubah 80 pada baris berikut menjadi sesuatu yang berbeda:
lalu mulai kembali dengan:
Nginx
Edit
dan ubah 80 pada baris berikut:
lalu mulai kembali dengan:
sumber
Ikuti ini: Buka file konfigurasi Anda
Ubah nomor port yang Anda dengarkan;
Tambahkan aturan ke iptables
Mulai ulang IPtables
Mulai ulang server nginx
Akses file server nginx Anda pada port 81
sumber
Jika Anda berada di windows maka di bawah ini pengaturan server terkait port ada di file nginx.conf di <nginx path instalasi> / folder conf .
Ubah nomor port dan mulai kembali instance.
sumber
Jika Anda mengalami masalah ini saat menggunakan Docker pastikan untuk memetakan nomor port yang benar. Jika Anda memetakan port 81:80 saat menjalankan docker (atau melalui docker-compose.yml), nginx Anda harus mendengarkan pada port 80 bukan 81, karena docker sudah melakukan pemetaan.
Saya menghabiskan cukup banyak waktu untuk masalah ini sendiri, jadi saya harap ini bisa membantu para googler masa depan.
sumber