CherryPy অ্যাপ্লিকেশনের কনফিগারেশন ফাইল ব্যবহার করে অ্যাপ্লিকেশনের সেটিংস সহজেই নির্ধারণ ও পরিচালনা করা যায়। এই কনফিগারেশন ফাইল সাধারণত .ini বা .conf ফরম্যাটে থাকে। ফাইলভিত্তিক কনফিগারেশন ব্যবহারের সুবিধা হলো এটি কোড থেকে আলাদা থাকে, ফলে অ্যাপ্লিকেশন পরিচালনা এবং পরিবেশ (development, testing, production) অনুযায়ী পরিবর্তন সহজ হয়।
Configuration File কি?
CherryPy এর কনফিগারেশন ফাইল একটি সাধারণ পাঠ্য ফাইল (plain text file), যা নির্দিষ্ট সেটিংস সংরক্ষণ করে।
কনফিগারেশন ফাইলের প্রধান বৈশিষ্ট্য:
[global]সেকশন: সার্ভার সংক্রান্ত গ্লোবাল সেটিংস নির্ধারণ করে।- রুট-নির্দিষ্ট সেকশন: নির্দিষ্ট পাথ বা URL এর জন্য কাস্টম সেটিংস।
Configuration File এর উদাহরণ
app.conf ফাইল:
[global]
server.socket_host = "127.0.0.1"
server.socket_port = 8080
log.access_file = "./logs/access.log"
log.error_file = "./logs/error.log"
engine.autoreload.on = True
[/static]
tools.staticdir.on = True
tools.staticdir.dir = "./static"
tools.staticdir.content_types = {'css': 'text/css', 'js': 'application/javascript'}
Configuration File ব্যবহার করা
CherryPy অ্যাপ্লিকেশন চালানোর সময় কনফিগারেশন ফাইল লোড করার জন্য কোডে config প্যারামিটার ব্যবহার করতে হয়।
উদাহরণ:
import cherrypy
class MyApp:
@cherrypy.expose
def index(self):
return "স্বাগতম CherryPy অ্যাপ্লিকেশনে!"
if __name__ == "__main__":
cherrypy.quickstart(MyApp(), config="app.conf")
Configuration File এর গুরুত্বপূর্ণ সেকশন
১. Global Section
[global] সেকশন পুরো সার্ভার সেটআপ নিয়ন্ত্রণ করে।
সেটিংস উদাহরণ:
[global]
server.socket_host = "127.0.0.1" # হোস্ট ঠিকানা
server.socket_port = 9090 # সার্ভারের পোর্ট নম্বর
log.access_file = "./access.log" # অ্যাক্সেস লগ ফাইল
log.error_file = "./error.log" # ত্রুটি লগ ফাইল
engine.autoreload.on = True # স্বয়ংক্রিয় রিলোড চালু
২. Route-Specific Section
নির্দিষ্ট রুটের জন্য সেটিংস নির্ধারণ করতে পাথ অনুযায়ী সেকশন তৈরি করতে হয়।
সেটিংস উদাহরণ:
[/static]
tools.staticdir.on = True
tools.staticdir.dir = "./static"
tools.staticdir.content_types = {'css': 'text/css', 'js': 'application/javascript'}
Configuration File জেনারেট করা
CherryPy ডিফল্ট কনফিগারেশন ফাইল তৈরি করতে পারে:
python -m cherrypy.tutorial.conf
এটি একটি .conf ফাইল তৈরি করবে, যেখানে CherryPy এর বিভিন্ন অপশন দেখানো থাকবে।
উদাহরণ: Static File পরিবেশন
app.conf ফাইল:
[global]
server.socket_host = "127.0.0.1"
server.socket_port = 8080
[/static]
tools.staticdir.on = True
tools.staticdir.dir = "./static"
Python কোড:
import cherrypy
class StaticServer:
@cherrypy.expose
def index(self):
return "CherryPy স্ট্যাটিক ফাইল পরিবেশন উদাহরণ।"
if __name__ == '__main__':
cherrypy.quickstart(StaticServer(), config="app.conf")
ফাইল কাঠামো:
project/
│
├── app.py
├── app.conf
├── static/
│ ├── styles.css
│ └── script.js
সুবিধাসমূহ
- কোড থেকে আলাদা সেটিংস: সেটিংস এবং কোড পৃথক থাকায় পরিচালনা সহজ হয়।
- পরিবেশ অনুযায়ী কনফিগারেশন পরিবর্তন: ডেভেলপমেন্ট, টেস্টিং বা প্রোডাকশন পরিবেশ অনুযায়ী কনফিগারেশন সহজে আপডেট করা যায়।
- পুনর্ব্যবহারযোগ্যতা: একাধিক প্রজেক্টে একই ফাইল ব্যবহার করা যায়।
CherryPy এর কনফিগারেশন ফাইল ব্যবহার করে অ্যাপ্লিকেশনের সেটিংস নির্ধারণ করা সহজ এবং কার্যকর। .conf বা .ini ফাইল আপনাকে সার্ভারের প্যারামিটার, লগ ফাইল, এবং স্ট্যাটিক ফাইল পরিচালনা করার নমনীয়তা প্রদান করে। এটি অ্যাপ্লিকেশন ব্যবস্থাপনা আরও সহজ এবং পেশাদার করে তোলে।
Read more