Развертывание нескольких веб-приложений в том же сервере

Вам нужно создать переменную

var leftCon:NSLayoutConstraint!

, а затем изменить ее, проблема в том, что каждая строка создает новое ограничение

sparkleView.widthAnchor.constraint(equalToConstant: frame.width / 5).isActive = true
sparkleView.leftAnchor.constraint(equalTo: leftAnchor).isActive = true
sparkleView.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true

примечание: выше 3 ограничений создают конфликт, поскольку представление не может быть закреплено влево и вправо одновременно с ограничением ширины, поэтому вы видите конфликт перерыв => NSLayoutConstraint: 0x6000020b8eb0 UIView: 0x7fc846d551d0.width == 15.35 (активный)

независимо от активного назначения, поэтому эти

sparkleView.leftAnchor.constraint(equalTo: leftAnchor).priority = UILayoutPriorityDefaultLow // Doesn't work 
sparkleView.leftAnchor.constraint(equalTo: leftAnchor).isActive = false // Doesn't work

находятся на лету и не изменяют созданное ограничение, так что это будет

leftCon = sparkleView.leftAnchor.constraint(equalTo: leftAnchor)
leftCon.isActive = true

Относительно этого crash

'Изменение приоритета от обязательного к отсутствию установленного ограничения (или наоборот) не поддерживается

вам необходимо установить приоритет перед активацией

leftCon.priority = UILayoutPriorityDefaultLow
leftCon.isActive = true
5
задан hectorsq 21 October 2008 в 18:05
поделиться

6 ответов

Я не вижу явных оснований, почему Вы не должны делать этого этот путь. В конце концов, не каждый веб-сайт выделен просто единственной задаче или приложению. Другой подход должен был бы использовать субдомены, как:

app1.mydomain.com
app2.mydomain.com

Yahoo и Google оба использования они, например. Подход папки является хорошим способом разбудить вещи и работающий за тестированием все же.

4
ответ дан 14 December 2019 в 09:04
поделиться

Одна причина состоит в том, если Вы хотели поддерживать соединения SSL со своим веб-сервером.

При использовании основанного на папке подхода затем, у Вас нет проблемы с сертификатами SSL.

Если Вы пойдете для метода субдомена (app1.mydomain.com, app2.mydomain.com, то и т.д.) Вам, вероятно, будет нужен подстановочный сертификат SSL, который будет более дорогим, или несколько сертификатов.

Не проблема, если Вы не нуждаетесь в SSL или имеете немного приложений, которые требуют его.

2
ответ дан 14 December 2019 в 09:04
поделиться

Вы не упоминаете технологии, но если Вы, окажется, будете использовать Java для этого, то веб-приложения (по умолчанию) не будут делиться никакой информацией сессии. Это может особенно быть проблемой, если Вы хотите, чтобы пользователь вошел в систему одного веб-приложения и также зарегистрирован к другому веб-приложению.

Некоторые контейнеры (Tomcat, Glassfish) имеют единую точку входа в наличии как реализацию определенная функция.

Просто к вашему сведению некоторых разветвлений решения.

0
ответ дан 14 December 2019 в 09:04
поделиться

Единственный недостаток к тому подходу - то, что необходимо будет поместить некоторое перенаправление или проксирование реверса, если какое-либо из приложений закончит тем, что переместилось в другой сервер, тогда как с субдоменом необходимо было бы просто изменить запись для movedapp.domain.com.

Так, чтобы заставить его соответствовать требованиям завтрашнего дня, я создал бы субдомены.

1
ответ дан 14 December 2019 в 09:04
поделиться

Если приложения все связаны с доменом, я не вижу проблемы с выполнением вещей этот путь.

0
ответ дан 14 December 2019 в 09:04
поделиться

Мой обычный подход должен был бы рассматривать сайт как служение единственной цели. "Единственный" на самом деле определяет широкую цель и шаблон использования здесь. Если несколько приложений, в которые все вписываются вместе и синергетически работают для единственной цели сайта, то

mydomain.com/app1 и mydomain.com/app2 прекрасны довольно.

Это означает, что они существуют и живут для увеличения основного сайта.

Если приложения не имеют ничего особенного, чтобы сделать друг с другом и в значительной степени жить в их "собственном мире", затем они, вероятно, должны существовать как их собственные субдомены.

app1.mydomain.com и app2.mydomain.com

это позволяет Вам устанавливать свою стратегию DNS к различным IP-адресам (веб-серверы/фермы) вместо того, чтобы сгруппировать их вместе в том же пуле.

0
ответ дан 14 December 2019 в 09:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: