2017-02-07 11 views
0

Я новичок в ядре asp.net и развертывании, в настоящее время у меня есть решение, которое содержит несколько проектов, основной проект asp.net и asp.net core web api project в этом решении. Я хочу развернуть эти два проекта в nginx.Разверните два основных приложения asp.net, которые в одном решении для nginx

Я проверил документацию,

https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction

но это простое развертывание проекта демо, есть ли другие ресурсы, я могу сослаться?

У меня есть несколько вопросов ниже,

  1. Следуйте документации, я скопировал файлы в папку опубликовать в Linux, а затем выполнить DotNet восстановления и команды DotNet пробег. Но есть исключение, которое не может найти project.json. Затем я попытался скопировать все исходные файлы в linux, а затем выполнить восстановление и запустить комментарий, он работает. Зачем?

  2. Если есть два проекта, которые мне нужно развернуть, как то, что я сказал выше, как я могу это сделать, любое руководство, которое я могу назвать?

ответ

1
  1. Вам не не нужно использовать dotnet restore если вы копируете публиковать папку. Он используется только во время разработки, а не для производства. Вот почему, когда вы включаете исходный код, вы можете использовать его без исключений. Если вы запускаете dotnet restore и dotnet publish в своей среде разработки и копируете только папку публикации в производственную среду, вам нужно всего лишь запустить ее с помощью метода dotnet path/to/publishfolder.dll, который выполняется настройкой службы в руководстве, которое вы связали

  2. Необходимо иметь;

    • Вам необходимо добавить .UseUrls("http://localhost:XXXX") в Program.cs, XXXX - соответствующий номер порта и другой для каждого проекта на том же сервере.
    • Различные папки для каждого проекта на вашем сервере с соответствующими опубликованными файлами
    • Различные настройки сервиса для каждого проекта.
    • Различные серверные блоки для каждого проекта на nginx с различными определениями по потоку.

Пример, частичной конфигурации Nginx;

http{ 

    upstream project1 { 
     server localhost:5000; 
     ... 
    } 

    upstream project2 { 
     server localhost:5001; 
     ... 
    } 



    server { 
     server_name  project1.com; 
     ... 
     location/{ 
        proxy_pass http://project1; 
        ... 
     } 
    } 

    server { 
     server_name  project2.com; 
     ... 
     location/{ 
        proxy_pass http://project2; 
        ... 
     } 
    } 

    ... 
} 
+0

действительно спасибо за ваш ответ! Так как я новичок в ядре .net и в развертывании, раньше не имел конфигурации nginx, не могли бы вы предоставить более подробную информацию или любые блоги и ресурсы, которые я могу назвать? – Allen4Tech

+0

@ Allen4Tech Руководство, которое вы используете, включает в себя все, что вам нужно. Используйте это, чтобы убедиться, что один из ваших проектов запущен на сервере, а затем посмотрите, что вы сделали. Реплицируйте части, связанные с конкретными проектами. Что такое конфигурация nginx и создание сервисной части. – Hasan

+0

действительно спасибо! Я попробую! – Allen4Tech