2016-07-01 3 views
0

Предположим, у меня есть HTTP-сервер Apache, IP-адрес, и у меня нет никаких доменных имен. Мой вопрос заключается в том, как запустить два веб-приложения на одном и том же ip, но с разными портами.
Например:Запуск нескольких веб-приложений на том же ip

  • App_1 работает на ip_address: port_1
  • App_2 работает на ip_address: port_2

Так что я могу получить доступ к обеим, набрав IP- адрес и номер порта в адресной строке браузера. Насколько я понимаю, это называется виртуальными хостами на базе IP.

+1

Это правильно, и он будет работать. Я предлагаю вам просто взглянуть на документацию для виртуальных хостов: https://httpd.apache.org/docs/current/vhosts/ip-based.html – arkascha

+1

Однако вы также можете захотеть получить зарегистрированный домен. Он рассчитан на несколько евро в год и позволяет использовать несколько имен хостов под этим доменным именем (иногда называемым «поддоменами»). Так что-то вроде 'app1.example.com'. Это проще в использовании, чем техническая нотация IP-адресов и номеров портов и упрощает настройку брандмауэра, поскольку вы можете управлять всеми приложениями на одном порту. – arkascha

ответ

1

В httpd.conf filr в Apache/конф вы должны создать VirtualHosts, как показано ниже:

Listen 80 
Listen 81 
<Directory /> 
    AllowOverride none 
    Require all granted 
</Directory> 
<Directory /var/www> 
    Options Indexes FollowSymLinks Includes ExecCGI 
    AllowOverride All 
    Require all granted 
</Directory> 
<VirtualHost IPAddress:80> 
    ServerName localhost:80 
    WSGIScriptAlias/"C:/var/www/GP/GP/wsgi.py" 
    Alias /static/ "C:/var/www/GP/static/" 
    Alias /templates/ "C:/var/www/GP/templates/" 
    <Directory "C:/var/www/GP/static"> 
     Require all granted 
    </Directory> 
    <Directory "C:/var/www/GP/GP"> 
     <Files wsgi.py> 
      Require all granted 
     </Files> 
    </Directory> 
</VirtualHost> 
<VirtualHost IPAddress:81> 
    ServerName localhost:81 
    WSGIScriptAlias//var/www/adminSVNProject/adminSVNProject/wsgi.py 
    Alias /static/ /var/www/adminSVNProject/static/ 
    Alias /templates/ /var/www/adminSVNProject/templates/ 
    <Directory /var/www/adminSVNProject/static> 
     Require all granted 
    </Directory> 
    <Directory /var/www/adminSVNProject/adminSVNProject> 
     <Files wsgi.py> 
      Require all granted 
     </Files> 
    </Directory> 
</VirtualHost> 
WSGIPythonPath /var/www/GP;/var/www/adminSVNProject; 

Если файлы находятся в каталоге C: вар/WWW
Надеюсь, что это помогает.