Как запустить nginx через другой порт (кроме 80)
Привет, Я новичок в 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;
}
}
В принципе, я ничего не изменил, кроме добавления серверной части.
Ответы
Ответ 1
Вы должны перейти в /etc/nginx/sites-enabled/
и если это конфигурация по умолчанию, тогда должен быть файл: default
.
Отредактируйте этот файл, указав желаемый порт; в приведенном ниже фрагменте мы обслуживаем экземпляр Nginx через порт 81.
server {
listen 81;
}
Чтобы запустить сервер, запустите командную строку ниже;
sudo service nginx start
Теперь вы можете получить доступ к своему приложению через порт 81 (для localhost, http://localhost: 81).
Ответ 2
Вам нужно будет изменить порт конфигурации либо 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
Ответ 3
Следуйте этому:
Откройте файл конфигурации
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
Ответ 4
Если вы работаете в Windows, то ниже параметры сервера, связанные с портом, присутствуют в файле nginx.conf в папке <путь установки nginx>/conf.
server {
listen 80;
server_name localhost;
....
Измените номер порта и перезапустите экземпляр.