آنچه در این مقاله درباره اش صحبت خواهیم کرد، بارگزاری پروژه های .net core بر روی سرور های لینوکسی به جای استفاده از هاست اشتراکی ویندوز یا سرور ویندوزی هست .
این مقاله بخصوص برای اشخاصی مفید است که استفاده از redis را به پروژه خود اضافه کرده اند و پروژه آن ها درحال حاضر بر روی هاست اشتراکی ویندوزی قرار دارد و ممکن است با چالش هایی روبه رو شده باشد .
بعد از بررسی های زیاد به این نتیجه رسیده ام که کلا استفاده از هاست های اشتراکی اشتباه است به خصوص اگر پروژه شما به به صورت اختصاصی کد نویسی شده شده باشد .
برای استقرار یک برنامه وب ASP.NET Core که از Redis و SQL Server در سرور لینوکس استفاده می کند، می توانید این مراحل را دنبال کنید:
مرحله 1: سرور لینوکس را راه اندازی کنید
مرحله 2: به سرور لینوکس متصل شوید
sudo apt update sudo apt upgrade
مرحله 3: ورژن .net core مورد نظر خود را نصب کنید
وابستگی های مورد نیاز را نصب کنید:
sudo apt install -y apt-transport-https
سپس
Microsoft package signing key و
package repository را اضافه کنید:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo apt update
نسخه مودر نظر SDK را نصب کنید :
sudo apt install -y dotnet-sdk-6.0
مرحله 4: SQL Server را نصب کنید
حال
public repository GPG keys را وارد کنید:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
سپس
SQL Server repository را اضافه کنید:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
نصب SQL Server:
sudo apt update sudo apt install -y mssql-server
اسکریپت راه اندازی را برای پیکربندی SQL Server اجرا کنید:
sudo /opt/mssql/bin/mssql-conf setup
مرحله 5: Redis را نصب کنید
sudo apt install -y redis-server
حال Redis را برای اجرا به عنوان یک سرویس پیکربندی کنید:
sudo systemctl enable redis-server
سپس Redis را اجرا کنید:
sudo systemctl start redis-server
مرحله 6: برنامه ASP.NET Core خود را بر روی سرور بارگزاری کنید
برنامه ASP.NET Core 6 خود را کلون کنید یا در سرور کپی کنید.
به فهرست اصلی برنامه خود بروید و وابستگی های برنامه را نصب کنید:
cd /path/to/your/app dotnet restore dotnet publish -c Release -o ./publish
حالا
connection strings و تنظیمات اتصال برنامه خود را در فایل appsettings.json پیکربندی کنید.
یک فایل سرویس systemd برای برنامه خود ایجاد کنید:
sudo nano /etc/systemd/system/yourapp.service
محتوای زیر را به فایل سرویس اضافه کنید و مسیر واقعی /path/to/your/app را جایگزین کنید:
[Unit] Description=Your App Name [Service] WorkingDirectory=/path/to/your/app/publish ExecStart=/usr/bin/dotnet /path/to/your/app/publish/YourAppName.dll Restart=always RestartSec=10 SyslogIdentifier=yourapp User=www-data Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target
سرویس را فعال و راه اندازی کنید:
sudo systemctl enable yourapp.service sudo systemctl start yourapp.service
بررسی وضعیت سرویس:
sudo systemctl status yourapp.service
امیدوارم این مقاله بتواند برای شما عزیزان مفید باشد .
مبع اصلی : microsoft