Я знаю, что рекомендуется запускать Discourse на отдельном сервере, но я финансирую этот проект самостоятельно, и по сути это хобби с небольшими перспективами и без намерения монетизировать его в ближайшем будущем, по крайней мере.
Поэтому я подумал, что вместо покупки нового VPS можно просто запросить второй IP-адрес и запустить WordPress на виртуальном сервере Apache, привязанном к IP-адресу, что поможет снизить расходы.
Если вы знакомы с настройкой обратного прокси, второй IP-адрес вам не понадобится.
Вы можете запустить и Discourse, и WordPress, настроив их на прослушивание Unix-сокетов (или портов с более высоким номером), а перед ними установить программное обеспечение обратного прокси (рекомендую Caddy), которое будет обслуживать blog.example.com и forum.example.com на одном и том же IP-адресе.
Тем не менее, если вы не знакомы с подобной конфигурацией, гораздо проще запустить каждый сервис на отдельном VPS, так как в этом случае вы сможете просто следовать обширной документации для каждого из них.
Может ли та конфигурация, которую вы рекомендуете, работать без проблем?
Я что-то настраивал с помощью HAProxy, когда только начинал разбираться с Discourse. Я был, мягко говоря, новичком (и до сих пор таковым остаюсь в вопросах серверов и подобного), но всё равно попытался, и в процессе немного разобрался в HAProxy. Если я правильно помню, возникали проблемы с SSL, и поведение Discourse было somewhat нестабильным, но, возможно, я что-то сделал неправильно.
Так вот, мой вопрос: возможно ли реализовать рекомендуемую вами конфигурацию без нестабильности и «странных» проблем, не прибегая к экстремальному количеству тонкой настройки?
Я помню, что когда я проходил тестирование, следовал руководству Apache. Неясно из статьи, следует ли отключать SSL при пересборке Discourse (и достигается ли это отключением просто путем невыполнения ввода адреса электронной почты для Let’s Encrypt), а также какие порты должны быть «открыты» в discourse/app.yml (в руководстве показано только, как должна выглядеть строка …
“8888:80” # перенаправление хостового порта 8888 на порт контейнера 80 (http)
… но ничего не сказано о следующей строке в файле app.yml (которая по умолчанию выглядит так…
“443:443” # https
… должна выглядеть).
PS. Пока я смотрел на файл app.yml, чтобы написать этот пост, я заметил, что там присутствуют следующие строки:
Раскомментируйте эти две строки, если хотите добавить Lets Encrypt (https)
“templates/web.ssl.template.yml”
“templates/web.letsencrypt.ssl.template.yml”
… однако на данный момент мой приложение Discourse работает с включенным SSL, но с этими строками, не раскомментированными. Насколько критично комментирование этих строк для моей текущей настройки (без прокси) или для желаемой настройки (с прокси и apache-wordpress)?
Спасибо, это сработало для меня. Мой провайдер VPS предлагает недорогие «плавающие IP-адреса» в дополнение к основному IP, настроенному на VPS. Это решение очень удобно для меня. Его следовало бы лучше документировать, так как оно настолько простое.
Сначала купите плавающий IP-адрес и привяжите его к своему VPS.
Затем настройте сервер для его использования:
vim /etc/network/interfaces.d/60-my-floating-ip.cfg
auto eth0:1
iface eth0:1 inet static
address ваш.Плавающий.IP
netmask 32
и сохраните. Перезапустите сеть:
sudo service networking restart
Теперь у вас есть два IP-адреса: основной IP я использую для настройки нескольких сайтов nginx, обратите внимание на строки конфигурации в /etc/nginx/sites-enabled:
Я знаю, что это старая тема, но хотел поблагодарить вас, ребята. Это может сэкономить мне дни работы над похожей проблемой, с которой я сталкиваюсь. Спасибо, что поделились этой бесценной информацией со всеми!!