Ëæ×Å.NET Core£¨ÏÖ³ÆÎª.NET 5¼°¸ü¸ß°æ±¾£©µÄ·¢²¼£¬Î¢Èí³É¹¦µØ½«.NET¿ò¼Ü´øÈëÁËLinuxºÍmacOSµÈ²Ù×÷ϵͳ
ÕâÒâζ×Å£¬¿ª·¢Õß¿ÉÒÔÔÚLinuxϵͳÉÏÔËÐкͲ¿Êð.NET CoreÓ¦ÓóÌÐò£¬°üÀ¨ÄÇЩ±àÒëΪDLL£¨¶¯Ì¬Á´½Ó¿â£©µÄ×é¼þ
±¾ÎĽ«ÉîÈë̽ÌÖÈçºÎÔÚLinuxϵͳÉÏÔËÐÐ.NET Core DLLÎļþ£¬²¢ÌṩÏêϸµÄʵսָÄÏ
¶¯Ì¬Á´½Ó¿â£¨DLL£©Óë¹²Ïí¶ÔÏó£¨SO£© ÔÚWindows²Ù×÷ϵͳÖУ¬DLLÎļþÊdz£¼ûµÄ¶¯Ì¬Á´½Ó¿âÀàÐÍ£¬Ëü°üº¬¿ÉÔÚÔËÐÐʱ±»¶à¸ö³ÌÐòµ÷ÓõĴúÂëºÍÊý¾Ý
¶øÔÚLinux»·¾³ÖУ¬ÀàËÆµÄ¹¦ÄÜÓɹ²Ïí¶ÔÏóÎļþ£¨.soÎļþ£©Ìṩ
¾¡¹ÜÁ½ÕßÔÚÎļþÀ©Õ¹ÃûºÍijЩʵÏÖϸ½ÚÉÏÓÐËù²»Í¬£¬µ«ËüÃǵĻù±¾¸ÅÄîºÍ¹¦ÄÜÊÇÒ»ÖµģºÔÊÐí³ÌÐòÔÚÔËÐÐʱ¶¯Ì¬¼ÓÔØºÍµ÷ÓÿâÖеĺ¯ÊýºÍÊý¾Ý
ÔÚLinuxÉÏÔËÐÐ.NET Core DLL ÒªÔÚLinuxϵͳÉÏÔËÐÐ.NET Core DLLÎļþ£¬Ê×ÏÈÐèҪȷ±£ÏµÍ³Éϰ²×°ÁË.NET CoreÔËÐÐʱ
Õâ¿ÉÒÔͨ¹ý·ÃÎÊ.NET¹Ù·½ÍøÕ¾»òʹÓðü¹ÜÀíÆ÷£¨Èçapt-get¡¢yumµÈ£©À´°²×°
°²×°.NET CoreÔËÐÐʱ
¶ÔÓÚ»ùÓÚDebianµÄϵͳ£¨ÈçUbuntu£©£¬¿ÉÒÔʹÓÃÒÔÏÂÃüÁî°²×°.NET CoreÔËÐÐʱ£º
sudo apt-get update
sudo apt-get install -y dotnet-sdk- ¼ÙÉèÄãÓÐÒ»¸öÃûΪ`myapp.dll`µÄ.NET CoreÓ¦ÓóÌÐò£¬¿ÉÒÔʹÓÃÒÔÏÂÃüÁîÀ´ÔËÐÐËü£º
dotnet myapp.dll
ÕâÌõÃüÁî»áÆô¶¯.NET CoreÔËÐÐʱ£¬²¢¼ÓÔØÖ¸¶¨µÄDLLÎļþ£¬Ö´ÐÐÆäÖеĴúÂë
´´½¨ÊØ»¤½ø³ÌÒÔÈ·±£³ÌÐò³ÖÐøÔËÐÐ
ÔÚLinuxϵͳÖУ¬ÊØ»¤½ø³Ì£¨Daemon£©ÊÇÒ»ÖÖÔÚºǫ́ÔËÐеÄÌØÊâ½ø³Ì£¬Ëü¶ÀÁ¢ÓÚ¿ØÖÆÖÕ¶Ë£¬²¢ÖÜÆÚÐÔµØÖ´ÐÐijÖÖÈÎÎñ»òµÈ´ý´¦ÀíijЩʼþ ΪÁËÈ·±£.NET Core DLLÎļþÔÚÒì³£»òÏµÍ³ÖØÆôºóÈÔÄܳÖÐøÔËÐУ¬¿ÉÒÔ½«ÆäÅäÖÃÎªÊØ»¤½ø³Ì
ʹÓÃSupervisor¹ÜÀí½ø³Ì
SupervisorÊÇÒ»¸ö²ÉÓÃPython¿ª·¢µÄClient/Serverϵͳ£¬ÔÊÐíÓû§¹ÜÀí»ùÓÚUnixµÄϵͳ½ø³Ì ËüÊÇ΢Èí¹Ù·½ÎĵµÍƼöµÄÓÃÓÚ¹ÜÀí.NET CoreÓ¦ÓóÌÐòµÄ¹¤¾ßÖ®Ò»
°²×°Supervisor
ÔÚUbuntuϵͳÉÏ£¬¿ÉÒÔʹÓÃÒÔÏÂÃüÁî°²×°Supervisor£º
sudo apt-get install supervisor
ÔÚCentOSϵͳÉÏ£¬¿ÉÒÔʹÓÃyum»òdnf£º
sudo yum install supervisor
»òÕß
sudo dnf install supervisor
ÅäÖÃSupervisor
°²×°Íê³Éºó£¬ÐèÒªÔÚ`/etc/supervisor/conf.d/`Ŀ¼Ï´´½¨Ò»¸öеÄÅäÖÃÎļþ£¬ÀýÈç`myapp.conf` ´ò¿ª¸ÃÎļþ£¬²¢Ìí¼ÓÒÔÏÂÄÚÈÝ£º
¡¾program:MyApp¡¿
command=dotnet /path/to/myapp.dll ; ÒªÖ´ÐеÄÃüÁî
directory=/path/to/your/app ; ÃüÁîÖ´ÐеÄĿ¼
environment=ASPNETCORE__ENVIRONMENT=Production ; »·¾³±äÁ¿
user=www-data ; ½ø³ÌÖ´ÐеÄÓû§Éí·Ý
stopsignal=INT
autostart=true ; ÊÇ·ñ×Ô¶¯Æô¶¯
autorestart=true; ÊÇ·ñ×Ô¶¯ÖØÆô
startsecs=1; ×Ô¶¯ÖØÆô¼ä¸ô
stderr_logfile=/var/log/myapp.err.log ; ±ê×¼´íÎóÈÕÖ¾
stdout_logfile=/var/log/myapp.out.log ; ±ê×¼Êä³öÈÕÖ¾
È·±£½«`/path/to/myapp.dll`ºÍ`/path/to/your/app`Ìæ»»ÎªÊµ¼ÊµÄ·¾¶
ÅäÖÃÍê³Éºó£¬ÐèÒªÖØÐ¼ÓÔØSu