Привет, Я новичок в nginx, я попытался настроить его на своем сервере (работает Ubuntu 4), который уже запускает apache.
Итак, после я 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)
Это имеет смысл, поскольку Apache использует порт 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, я по-прежнему получаю ту же ошибку, что и ранее. Я не могу найти соответствующую статью об этом, могут ли хорошие люди рассеять какой-то свет?
Заранее спасибо:)
=============================================== ==========================
Я должен опубликовать все содержимое в 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 { слушайте 81; }
Запустите сервер
sudo service nginx start
Затем выберите localhost: 81
sudo nginx -s reload
Вам нужно будет изменить порт конфигурации либо Apache, либо Nginx. После этого вам потребуется перезапустить реконфигурированные серверы, используя используемую команду "service".
Apache
Изменить
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
Nginx
Изменить
/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
Доступ к серверным файлам yr nginx на порту 81