diff --git a/nginx/dotnet.md b/nginx/dotnet.md new file mode 100644 index 0000000..6cbd9de --- /dev/null +++ b/nginx/dotnet.md @@ -0,0 +1,135 @@ +#
آموزشDeploy Dotnet روی لینوکس
+این آموزش فقط روی دات نت ۷ و اوبونتو ۲۲.۰۴ تست شده است + +##
خروجی گرفتن
+
+ نخست باید از پروژه خود خروجی بگیریم پس دستور زیر را اجرا کنید +
+ + dotnet publish + +
+مکان خروجی فایل بعد از اتمام دستور به شما نشان داده خواهد شد معمولا خروجی پروژه در مکان زیر قرار خواهد گرفت +
+ +**bin/Debug/net7.0/publish** + +##
نصب Ngnix
+
+اِنجین‌اِکس (به انگلیسی: nginx) یک کارساز وب با حجم پایین و کارایی بالا است که تحت مجوز بی‌اس‌دی منتشر می‌شود. این کارساز وب در یونیکس، گنو/لینوکس، بی‌اس‌دی، مک او اس و ویندوز اجرا می‌شود. بر طبق گفتهٔ نت‌کرافت، در حال +حاضر ۱۲٫۰۷٪ از دامنه‌های اینترنت از این کارساز استفاده می‌کنند. +
+
+
+برای نصب Ngnix از طریق apt از دستور زیر استفاده کنید + +
+ + sudo apt install ngnix + +
+سپس با استفاده از دستور sudo ufw disable فایروال را غیرفعال کنید +اگر با این دستور با خطا مواجه شد یعنی شما فایروال ندارد پس از روی این بخش رد شوید + +
+
+
+اگر نصب موفقیت آمیز بوده باشد با تایپ کردن localhost در مرورگر باید با پیام Welcome to Ngnix مواجه شوید +
+ +##
تنظیمات Ngnix
+
+با دستور زیر یک پوشه برای سایت خود می سازیم +
+ + sudo mkdir /var/www/app1 + + +
+محتویات پوشه publish را به پوشه ای که ساختیم کپی کنید +
+ +
+ +
+سپس با دستور زیر وارد کانفیگ Ngnix می شویم +
+ + sudo vim /etc/nginx/sites-available/default + +
+و محتویات داخل فایل را با زیر عوض می کنیم +
+ + 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; + } + } + +
+نکته: به جای example.com آدرس سایت خود را بگذارید + +
+
+
+با دستور زیر محتویات فایلی را که تغییر دادیم را بررسی کنید +
+ + sudo ngnix -t + +
+
+اگر با خطا مواجه نشدید دستور زیر را فراخوانی کنید تا تنظیمات Ngnix دوباره بارگذاری شود +
+ + sudo ngnix -s reload + +##
افزودن سایت به عنوان سرویس
+
+با دستور زیر فایلی برای سرویس خود درست می کنیم
+ + sudo vim /etc/systemd/system/app1.service + +
+ +
+کد زیر در فایل بالا کپی کنید +
+ + [Unit] + Description= dotnet webapp + [Service] + WorkingDirectory=/var/www/app1 + ExecStart=/usr/bin/dotnet /var/www/app/projectname.dll + Restart=always + RestartSec=10 + SyslogIdentifier=projectname + Environment=ASPNETCORE_ENVIRONMENT=Production + + [Install] + WantedBy=multi-user.target + +
+ +نکته: به جای projectname اسم پروژه خود را بگذارید + +
+
+
+با دستور های زیر سایت را فعال کنید و از وضعیت آن مطلع شوید +
+ + sudo systemctl enable app1.service + sudo systemctl start app1.service + sudo systemctl status app1.service +