6

इसलिए, मैं अपने बहुत ही सरल प्ले फ्रेमवर्क 2.1.1 ऐप को तैनात करने की कोशिश कर रहा हूं लेकिन जब भी मैं पोर्ट के लिए कमांड लाइन के माध्यम से झंडे पास करता हूं और डेटाबेस विकास लागू करता हूं, तो उन्हें अनदेखा कर दिया जाता है।प्ले फ्रेमवर्क 2.1.1 परिनियोजन मुद्दे

उदाहरण के लिए:

sudo play start -Dhttp.port=80 -DapplyEvolutions.default=true

इस आदेश का उपयोग करना, सर्वर प्रारंभ नहीं होंगे। दोनों बंदरगाह और applyEvolutions = सच झंडे पूरी तरह से अनदेखी कर रहे हैं और यह इस त्रुटि फेंकता है:

[warn] play - Your production database [default] needs evolutions! [warn] play - Run with -DapplyEvolutions.default=true if you want to run them automatically (be careful) Oops, cannot start the server. @6elhl9mca: Database 'default' needs evolution!

मैं सब कुछ मैं कोई लाभ नहीं हुआ के बारे में सोच सकते हैं की कोशिश की है। मेरी स्थानीय मशीन पर प्ले रन का उपयोग ठीक काम करता है, कोई समस्या नहीं है। सर्वर उबंटू 12.04 चला रहा है। सभी उचित ड्राइवर और कनेक्शन स्ट्रिंग मौजूद हैं और परीक्षण किए गए हैं, डेटाबेस चल रहा है, सब कुछ प्ले फ्रेमवर्क को छोड़कर बिना किसी समस्या के काम कर रहा है।

+0

अद्यतन: मैं application.conf में applyEvolutions.default = true "हार्ड-कोड" कर सकता हूं, और यह काम करता है, लेकिन http.port को सेट करना इसी तरह से उसी फैशन में काम नहीं करता है। HTTP पोर्ट सेट करने पर कोई सुझाव? –

उत्तर

6

ठीक है, इसलिए मुझे वास्तव में इसका समाधान नहीं मिला, लेकिन मुझे एक कामकाज मिला। इस प्ले फ्रेमवर्क 2.x प्रलेखन (अभी तक) में कहीं भी नहीं है, इसलिए मैं समझ मैं इसे यहाँ मामले में डाल देता हूँ किसी और अटक जाती है:

application.confमें applyEvolutions.default=true लाना काम करता है, और डेटाबेस कर देगा विकास स्वचालित रूप से लागू होते हैं। कमांड लाइन तर्क -DapplyEvolutions.default=true काम नहीं करता है और अज्ञात कारणों से अनदेखा किया जाता है।

http.port=80application.conf काम नहीं करता है। कमांड लाइन तर्क -Dhttp.port=80 भी पोर्ट नंबर को चलाने के लिए सेट करने के लिए काम नहीं करता है।

तो, स्थापित करने के लिए पोर्ट संख्या के बजाय इस आदेश का उपयोग करें:

play "start 80" या play "run 80" (दोहरे उद्धरण चिह्नों का उपयोग वास्तव में दिखाया गया है)।

किसी कारण से जब पोर्ट कमांड को दोहरे उद्धरणों में बिल्कुल ऊपर लिखा गया है, तो चलाने के लिए पोर्ट नंबर ठीक से सेट किया गया है।

यह कहीं भी ढांचे के दस्तावेज में नहीं मिला है। मैं इसे जोड़ने के लिए एक और पुल अनुरोध तैयार करूंगा, लेकिन इस फ्रेमवर्क (डेटाबेस एन्क्रिप्शन) के लिए हल किए गए अंतिम अंक को केवल "सीमित, विशिष्ट उपयोग केस" के रूप में अस्वीकार कर दिया गया था और इस प्रकार दस्तावेज़ अपडेट को अस्वीकार कर दिया गया था। मैं अभी भी कोशिश कर सकता हूँ।

उम्मीद है कि यह किसी की मदद करेगा।

+0

वे आदेश काम करते हैं लेकिन आपको उन्हें उद्धरण में रखना होगा।पूर्व: "8080 रन" खेलें जेम्स के जवाब की जांच करें। – kingdamian42

+0

हाँ, मैं अब देखता हूं। समस्या यह है कि प्रलेखन कहीं भी नहीं कहता है और वास्तव में इसके विपरीत उदाहरण देता है। –

+1

यह मानता है कि आप प्ले कंसोल का उपयोग कर रहे हैं, इस मामले में उद्धरण आवश्यक नहीं हैं। यदि आप गलत लगते हैं तो आप हमेशा [उन्हें बता सकते हैं] (https://github.com/playframework/play20/issues?state=open); – kingdamian42

10

या तो

play "start -Dhttp.port=80 -DapplyEvolutions.default=true" 

या

play dist 

तो, अनज़िप करने और उत्पन्न शुरू स्क्रिप्ट चलाने,

./start -Dhttp.port=80 -DapplyEvolutions.default=true 

काम करेंगे।

+2

यह बहुत अच्छा है, धन्यवाद। मेरा सबसे बड़ा मुद्दा यह है कि इस स्तर का विवरण बहुत कम दस्तावेज में है। फिर भी आपका धन्यवाद। –

संबंधित मुद्दे