के रूप में मुझे नेट कोर कंसोल या एएसपीनेट एप्लिकेशन को लिनक्स डेमॉन के रूप में होस्ट करने के बारे में जानकारी चाहिए। Windows सेवा के रूप में होस्टिंग एप्लिकेशन पहले से ही Microsoft.Hosting.WindowsService द्वारा समर्थित है, लेकिन मुझे लिनक्स deamons के लिए कुछ समान की आवश्यकता है।एएसपी.NET कोर आरसी 2 लिनक्स डेमॉन
उत्तर
मैं आरएचईएल पर चल रहा हूं, और इसलिए मैंने अपनी खुद की सिस्टम यूनिट फाइलें लिखना चुना है। यहां पोस्ट का एक उदाहरण है जिसका उपयोग मैं PostgreSQL (इसलिए पर्यावरण चर) के साथ संयोजन में करता हूं। मैंने स्पष्ट कारणों से संवेदनशील जानकारी छीन ली है।
[Unit]
Description=My Sample Application
Documentation=
Wants=network.target
After=network.target
[Service]
User=dotnetuser
Group=dotnetuser
Nice=5
KillMode=control-group
SuccessExitStatus=0 1
Environment=MY_CONNSTRING=Server=localhost;Username=myUser;Password=myPass;Database=myDatabase
NoNewPrivileges=true
PrivateTmp=true
InaccessibleDirectories=/sys /srv -/opt /media -/lost+found
ReadWriteDirectories=/var/www/myapp
WorkingDirectory=/var/www/myapp
ExecStart=/opt/dotnet/dotnet run
[Install]
WantedBy=multi-user.target
फ़ाइल /etc/systemd/system
निर्देशिका में चला जाता है और नाम पर है जो कुछ भी आप इसे बाद ".service" के साथ सेवा का नाम करना चाहते हैं। उदाहरण के लिए, पूरा पथ /etc/systemd/system/aspnet-example.service
हो सकता है।
आप systemctl start aspnet-example
और systemctl stop aspnet-example
के साथ सेवा शुरू और बंद कर सकते हैं।
बूट पर शुरू करने के लिए सेवा: systemctl enable aspnet-example
मुख्य बातों विन्यास फाइल में बताते हैं:
उपयोगकर्ता और समूह जड़ नहीं होना चाहिए। मैं एक नया उपयोगकर्ता बनाने की सलाह देता हूं जिसके अंतर्गत आपके एप्लिकेशन चलते हैं।
KillMode = नियंत्रण समूह, ताकि एक SIGTERM सभी डॉटनैट प्रक्रियाओं है जिसके तहत सेवा से चलाया जाता है करने के लिए भेजा जाता है निर्धारित है।
ReadWriteDirectory और WorkingDirectory आपके वेब एप्लिकेशन की जड़ पर इंगित करता है। मैंने उदाहरण के रूप में
/var/www/myapp
का उपयोग किया है।ExecStart डॉटनेट बाइनरी के लिए एक पूर्ण पथ होना चाहिए। Systemd सापेक्ष पथ का समर्थन नहीं करता है।
संपादित करें: एक बात जो मैं उल्लेख करना भूल गया था वह यह है कि मैं आम तौर पर अपने अनुप्रयोगों के सामने एक रिवर्स प्रॉक्सी के रूप में nginx चलाता हूं। मैंने एक लिंक शामिल किया है जिसमें लिनक्स उत्पादन सर्वर को प्रकाशित करने के बारे में अधिक जानकारी है।
https://docs.asp.net/en/latest/publishing/linuxproduction.html
- 1. एएसपी.NET कोर आरसी 2
- 2. एएसपी.NET कोर 1.0 आरसी 2
- 3. एएसपी.NET कोर 2
- 4. .Net कोर आरसी 2
- 5. एएसपी.नेट कोर आरसी 2
- 6. एएसपी.नेट कोर एप्लिकेशन (आरसी 2)
- 7. एएसपी.Net 5 आरसी 2 कॉन्फ़िगरेशन सेक्शन बाध्यकारी
- 8. एएसपी.नेट कोर आरसी 2 बीज डाटाबेस
- 9. एएसपी.नेट कोर आरसी 2 क्षेत्र प्रकाशित नहीं किया गया
- 10. एएसपी.Net कोर SAML प्रमाणीकरण
- 11. एएसपी.NET कोर
- 12. एएसपी.Net कोर एमवीसी एकाधिक कोणीय 2 अनुप्रयोगों
- 13. एमवीसी 2 आरसी 2
- 14. एएसपी.NET कोर
- 15. एएसपी.NET कोर
- 16. एएसपी.NET कोर
- 17. एएसपी.Net कोर
- 18. एएसपी.NET कोर
- 19. एएसपी.NET कोर
- 20. एएसपी.NET कोर
- 21. एएसपी.NET कोर
- 22. एएसपी.NET कोर
- 23. एएसपी.Net कोर
- 24. एएसपी.NET कोर
- 25. एएसपी.NET कोर
- 26. एएसपी.NET कोर
- 27. "विकास" वातावरण में एएसपी.NET कोर एप्लिकेशन चलाएं
- 28. यूडब्लूपी एप्लीकेशन और .NET कोर आरसी 2: नेटस्टैन्ड 1.4 पैकेज
- 29. एएसपी.नेट कोर आरसी 2 एचटीएमएल एनकोडर कार्यान्वयन नहीं ढूंढ सकता
- 30. ईएफ 7 .NET कोर 1 आरसी 2 एड-माइग्रेशन असफल
मैं खुद को कुछ ही मिनट पहले ही पूछ रहा हूं। काश मैं इसे एक से अधिक बार बढ़ा सकता हूं। असल में, मैं एक ही कोडबेस का उपयोग करना चाहता हूं, विंडोज नेट सेवा, लिनक्स बाइनरी (एक डेमॉन के रूप में) और डॉकराइज्ड के रूप में नेट कोर ऐप चलाने के लिए इसे संभव बनाना चाहता हूं। –