PDA

View Full Version : اجرای وب سرویس dotnet core در لینوکس با nginx



etara90
یک شنبه 31 شهریور 1398, 10:16 صبح
سلام وقتتون بخیر
من چند روزی هست که دات نت رو روی لینوکس اوبونتو ۱۸.۰۴ نصب کردم و باهاش میتونم برنامه بنویسم و ...
مشکلی که دارم اینه که نمیدونم چطوری برنامه ای که نوشتم و پابلیش گرفتم رو با nginx روی آی وی استاتیک خودم بالا بیارم و به کارفرما نشون بدم!!!
انگولار رو خیلی راحت تونستم کانفیگش رو انجام بدم! ولی دات نت کور رو نه!:ناراحت::ناراحت:

firebox
یک شنبه 31 شهریور 1398, 10:49 صبح
باید از Nginx به عنوان reverse proxy استفاده کنی ، این یک نمونه کانفیگ Nginx هست


server {
listen 80;
server_name example.com *.example.com;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}


توی کانفیگ بالا http://localhost:5000 پورتی هست که اپ که با .Net Core نوشتی روش اجرا شده.
پ.ن: توی کد بالا proxy_pass به صورت http://localhost:5000 هست ، ادیتور احمق این سایت بهش مارک اپ html اضافه کرده.

etara90
یک شنبه 31 شهریور 1398, 21:29 عصر
ممنون دوست عزیز
من اینو توی مستندات خود مایکروسافت هم دیدم، در این صورت از برنامه ای که نوشتم بعد از اینکه پابلیش کردم همیشه باید اون رو اول run کنم تا از طریق nginx بهش دسترسی داشته باشم؟

firebox
یک شنبه 31 شهریور 1398, 23:39 عصر
ممنون دوست عزیز
من اینو توی مستندات خود مایکروسافت هم دیدم، در این صورت از برنامه ای که نوشتم بعد از اینکه پابلیش کردم همیشه باید اون رو اول run کنم تا از طریق nginx بهش دسترسی داشته باشم؟
درسته ، باید برنامه تون run شده باشه تا Nginx بتونه بهش دسترسی داشته باشه.
برای مدیریت و مانیتور اپ تون ،‌توی لینوکس میتونید از systemd استفاده کنید ، با systemd میتونید ، اجرای اپ زمان استارت آپ سیستم عامل رو فعال کنید ، همینطور مدیریت لاگ های برنامه تون با استفاده از journalctl.
این نمونه گانفیک systemd هست برای لینوکس.
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-2.1&tabs=aspnetcore2x#monitor-the-app

etara90
سه شنبه 02 مهر 1398, 16:12 عصر
سلام دوست عزیز بنده الان این کار رو کردم

server {
listen 81;
server_name 2.190.63.161;
location / {
proxy_pass http://localhost:5001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
و برنامه دات نت رو هم اجرا کردم ولی اصلا با آی پی من بالا نمیاد