Я знаю, что вы не можете прослушивать один и тот же порт и IP-адрес, используя два разных серверных процесса, но, очевидно, это возможно, если вы выделите каждому отдельный IP-адрес. Так ли это? Я подумываю запустить и ningx, и Apache на одном сервере (я также приветствую отзывы о том, хорошая ли это идея), в основном потому, что в идеале я хотел бы попробовать переключиться на nginx, но, предположительно, его поддержка Tomcat невелика, поэтому я думаю, что для этого мне нужно сохранить apache.
Кто-нибудь делал что-то подобное; это рекомендуется, и как вы это делаете?
И apache, и nginx принимают аргументы того, какие адреса следует слушать; если вам нужен apache на 192.168.1.100 и nginx на 192.168.1.110, вы должны добавить следующее в соответствующие файлы conf:
httpd.conf (или /etc/apache/ports.conf, в зависимости от дистрибутива):
listen 192.168.1.100:80
nginx.conf:
server {
# port to listen on. Can also be set to an IP:PORT
listen 192.168.1.110:80;
. . .
Да, с двумя IP-адресами у вас могут быть nginx и apache, которые прослушивают порт 80. В качестве альтернативы вы можете настроить apache для перечисления на том же IP-адресе, но на другом порту, и иметь запросы прокси-сервера nginx к apache для доменов apache.
server {
listen 1.2.3.4:80;
server_name apache_domain.com www.apache_domain.com;
location / {
proxy_pass http://1.2.3.4:81/;
proxy_redirect http://1.2.3.4:81/ /;
...
для прослушивания apache через порт 81.