2016-06-10 2 views
0

Я создал веб-приложение и блог-призрак. Веб-приложение работает на порту 80 и блог-призрак на 2368 (по умолчанию для призрака).Ссылка на блог-призрак в моей подпапке webapp

Я хочу добавить страницу в блоге mydomain/blog. Может ли кто-нибудь помочь мне с этим.

Я могу запустить блог на порту 80, используя nginx, но как запустить его по определенному маршруту нашего веб-приложения.

это конфигурационный файл Nginx

server { 
    listen 3333; 
    server_name localhost; 
    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header Host  $http_host; 
     proxy_pass   http://127.0.0.1:1337; 
    } 
    location /blog { 
    rewrite ^/blog(.*) /$1 break;  
    proxy_pass http://127.0.0.1:2368; 
    } 
} 

Мое приложение, которое размещается на порту 1337 работает отлично на 3333 Nginx ссылка но когда я открываю локальный: 3333/блог затем блог не подходит должным образом. это текст идет, но его полностью искаженное кажется, ссылка css отсутствует.

Поэтому у меня есть два вопроса относительно этого

1. Как провести блог должным образом на MYDOMAIN/блог, который является локальный: 3333/блог в этом случае.

2. Когда я пытаюсь открыть любую страницу (несмотря на ее искажение), то, поскольку этот конкретный маршрут не найден в нашем главном приложении, он перенаправляет их на домашнюю страницу?

ответ

0

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

Давайте предположим, что у меня есть приложение, и блог. Я запустить приложение на example.com и блог на example.com/blog

1. App, связанные с установкой

Допустим, вы приложение работает на порту 1337.

2. Правильно установить призрак

a. вы можете использовать this link для установки призрака.

b. изменить URL-адрес конфигурационного файла призрака на http://example.com/blog

c. перезапустите призрак.

npm start --production 

или

NODE_ENV=production forever start index.js 

3 Установите Nginx правильно

с. вы можете использовать this link для установки nginx.

b. теперь создайте файл example.conf в папке/etc/nginx/site-enabled.

server { 
    listen 80; 
    server_name example.com; 
    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header Host  $http_host; 
     proxy_pass   http://127.0.0.1:1337; 
    } 
    location ^~ /blog { 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $http_host; 
     proxy_set_header X-NginX-Proxy true; 

     proxy_pass http://127.0.0.1:2368; 
     proxy_redirect off; 
    } 
} 

c. перезапустите службу nginx.

sudo service nginx restart 
2

Что вы ищете, это хостинг Ghost в подкаталоге. В этой ссылке описаны действия, которые необходимо предпринять для выполнения этой работы: https://www.allaboutghost.com/how-to-install-ghost-in-a-subdirectory/.

Дайте мне знать, если это сработает :).

+0

Вы можете помочь мне с обновленными проблемами. – ashishkumar148

+0

не могли бы вы проверить 2 вещи: 1) обновить свойство URL в 'config.js', чтобы он содержал ваш подкаталог 2) удалить переписать из своего местоположения в блоге (вот что нарушает ваш CSS) и не забудьте включить все заголовки 'location/blog { proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_set_header Host $ http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:2368; proxy_redirect off; } ' – sebgie

+0

404 приступает к удалению перезаписей и использованию вышеуказанного кода. Но со следующей строкой переписать ^/блог (. *)/$ 1 break; страница идет, но активы (js, css) не наступают, поскольку страница пытается найти активы на пути mydomain/assets, связанные с mydomain/blog/assets, где они присутствуют на самом деле. Можете ли вы мне помочь? – ashishkumar148