- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید:
+ در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:
-
+
+
پس از آپلود پروژه، باید شخصیسازیهای پروژه را در برنامه خود، لحاظ کنید:
diff --git a/src/pages/paas/django/how-tos/deploy-app.mdx b/src/pages/paas/django/how-tos/deploy-app.mdx
index 183156a1..397b94c6 100644
--- a/src/pages/paas/django/how-tos/deploy-app.mdx
+++ b/src/pages/paas/django/how-tos/deploy-app.mdx
@@ -50,9 +50,15 @@ tzdata==2024.1
- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید:
+ در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:
-
+
+
پس از آپلود پروژه، باید شخصیسازیهای پروژه را در برنامه خود، لحاظ کنید:
diff --git a/src/pages/paas/django/how-tos/set-cron-job.mdx b/src/pages/paas/django/how-tos/set-cron-job.mdx
index 48da7b0b..35ff21e9 100644
--- a/src/pages/paas/django/how-tos/set-cron-job.mdx
+++ b/src/pages/paas/django/how-tos/set-cron-job.mdx
@@ -30,7 +30,7 @@ Cron job یک وظیفه زمانبندی شده در سیستمعامل
tabs={["Liara Console", "Liara CLI"]}
content={[
<>
- برای تنظیم یک Cron Job در Laravel کافیست تا
+ برای تنظیم یک Cron Job در Django کافیست تا
پس از آپلود پروژه خود در کنسول در بخش تنظیمات پلتفرم، Cron Jobهای خود را تعریف کنید:
- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید:
+ در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:
-
+
+
پس از آپلود پروژه، باید شخصیسازیهای پروژه را در برنامه خود، لحاظ کنید:
diff --git a/src/pages/paas/dotnet/how-tos/deploy-app.mdx b/src/pages/paas/dotnet/how-tos/deploy-app.mdx
index 06306606..4c9bb5aa 100644
--- a/src/pages/paas/dotnet/how-tos/deploy-app.mdx
+++ b/src/pages/paas/dotnet/how-tos/deploy-app.mdx
@@ -53,9 +53,15 @@ import Head from "next/head";
- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید:
+ در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:
-
+
+
پس از آپلود پروژه، باید شخصیسازیهای پروژه را در برنامه خود، لحاظ کنید:
diff --git a/src/pages/paas/flask/how-tos/deploy-app.mdx b/src/pages/paas/flask/how-tos/deploy-app.mdx
index 0a16f934..5d720c46 100644
--- a/src/pages/paas/flask/how-tos/deploy-app.mdx
+++ b/src/pages/paas/flask/how-tos/deploy-app.mdx
@@ -52,9 +52,15 @@ Werkzeug==3.0.3
- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید:
+ در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:
-
+
+
پس از آپلود پروژه، باید شخصیسازیهای پروژه را در برنامه خود، لحاظ کنید:
diff --git a/src/pages/paas/laravel/how-tos/deploy-app.mdx b/src/pages/paas/laravel/how-tos/deploy-app.mdx
index 4eb68940..ead6ba4d 100644
--- a/src/pages/paas/laravel/how-tos/deploy-app.mdx
+++ b/src/pages/paas/laravel/how-tos/deploy-app.mdx
@@ -141,9 +141,15 @@ import Head from "next/head";
- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید:
+ در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:
-
+
+
پس از آپلود پروژه، باید شخصیسازیهای پروژه را در برنامه خود، لحاظ کنید:
diff --git a/src/pages/paas/nextjs/how-tos/deploy-app.mdx b/src/pages/paas/nextjs/how-tos/deploy-app.mdx
index aa3b878e..9eb17a2c 100644
--- a/src/pages/paas/nextjs/how-tos/deploy-app.mdx
+++ b/src/pages/paas/nextjs/how-tos/deploy-app.mdx
@@ -95,9 +95,15 @@ import Head from "next/head";
- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید:
+ در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:
-
+
+
پس از آپلود پروژه، باید شخصیسازیهای پروژه را در برنامه خود، لحاظ کنید:
diff --git a/src/pages/paas/nodejs/how-tos/deploy-app.mdx b/src/pages/paas/nodejs/how-tos/deploy-app.mdx
index 9076b82d..6ecafd12 100644
--- a/src/pages/paas/nodejs/how-tos/deploy-app.mdx
+++ b/src/pages/paas/nodejs/how-tos/deploy-app.mdx
@@ -65,9 +65,15 @@ import Head from "next/head";
]}/>
- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید:
+ در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:
-
+
+
پس از آپلود پروژه، باید شخصیسازیهای پروژه نظیر انتخاب نسخه، تعیین منطقه زمانی، اتصال دیسک و ... را در برنامه خود، لحاظ کنید:
diff --git a/src/pages/paas/php/how-tos/deploy-app.mdx b/src/pages/paas/php/how-tos/deploy-app.mdx
index 22e53409..3acc647a 100644
--- a/src/pages/paas/php/how-tos/deploy-app.mdx
+++ b/src/pages/paas/php/how-tos/deploy-app.mdx
@@ -68,9 +68,15 @@ import Head from "next/head";
- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید:
+ در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:
-
+
+
پس از آپلود پروژه، باید شخصیسازیهای پروژه را در برنامه خود، لحاظ کنید:
diff --git a/src/pages/paas/python/how-tos/choose-version.mdx b/src/pages/paas/python/how-tos/choose-version.mdx
index 8189005c..d2e5269e 100644
--- a/src/pages/paas/python/how-tos/choose-version.mdx
+++ b/src/pages/paas/python/how-tos/choose-version.mdx
@@ -59,7 +59,7 @@ import Head from "next/head";
content={[
<>
پس از بارگذاری پروژه خود در لیارا، کافیست تا در مرحله انتخاب نسخه، نسخه مورد نظر برنامهتان را انتخاب کنید.
-
+
>,
<>
diff --git a/src/pages/paas/python/how-tos/connect-to-db/about.mdx b/src/pages/paas/python/how-tos/connect-to-db/about.mdx
index 1e3be083..5bcdc618 100644
--- a/src/pages/paas/python/how-tos/connect-to-db/about.mdx
+++ b/src/pages/paas/python/how-tos/connect-to-db/about.mdx
@@ -16,17 +16,17 @@ import Head from "next/head";
-مستندات اتصال به دیتابیسها در Django - لیارا
+مستندات اتصال به دیتابیسها در Python - لیارا
-
+
# اتصال به دیتابیس
دیتابیسها، در اکوسیستم یک پلتفرم، نقش حیاتی دارند. دیتابیسها نه تنها محلی برای ذخیره و بازیابی دادهها هستند، بلکه به عنوان ستون فقرات یک برنامه، عمل میکنند و بر کارایی، مقیاسپذیری و قابلیت اعتماد سیستم، تأثیر مستقیم میگذارند.
-در حال حاضر، شما میتوانید در برنامههای Django خود در لیارا، به دیتابیسهای زیر، متصل شوید:
+در حال حاضر، شما میتوانید در برنامههای Python خود در لیارا، به دیتابیسهای زیر، متصل شوید:
{[
@@ -53,31 +53,12 @@ import Head from "next/head";
)}
-برای اجرای Migrationها در دیتابیس مد نظر خود، در ابتدا در Local دستور زیر را اجرا کنید تا Migrationها برایتان ایجاد شوند:
-
-
-
- {`python manage.py makemigrations`}
-
-
-
-
-سپس،
- میتوانید پس از استقرار برنامه، وارد خط فرمان برنامه خود شوید و دستور زیر را اجرا کنید تا عملیات migration برای شما، انجام شود:
-
-
-
-
- {`python manage.py migrate`}
-
-
-
-یا اینکه میتوانید طبق مستندات Hookها، قبل از استقرار و در مسیر اصلی پروژه، یک فایل به نام liara_pre_start.sh ایجاد کنید و قطعه کد زیر را، درون آن، قرار دهید:
+برای اجرای migrationها در برنامه خود، میتوانید طبق مستندات Hookها، قبل از استقرار و در مسیر اصلی پروژه، یک فایل به نام liara_pre_start.sh ایجاد کنید و قطعه کدی مشابه قطعه کد زیر را، درون آن، قرار دهید:
diff --git a/src/pages/paas/python/how-tos/connect-to-db/elastic-search.mdx b/src/pages/paas/python/how-tos/connect-to-db/elastic-search.mdx
index 345d3d6c..cdda8027 100644
--- a/src/pages/paas/python/how-tos/connect-to-db/elastic-search.mdx
+++ b/src/pages/paas/python/how-tos/connect-to-db/elastic-search.mdx
@@ -14,16 +14,16 @@ import Head from "next/head";
-مستندات اتصال به دیتابیس ElasticSearch در Django - لیارا
+مستندات اتصال به دیتابیس ElasticSearch در Python - لیارا
-
+
-# اتصال به دیتابیس ElasticSearch در برنامههای Django
+# اتصال به دیتابیس ElasticSearch در برنامههای Python
-برای اتصال به دیتابیس ElasticSearch در برنامههای Django، در ابتدا باید ماژول مربوط به آنرا با اجرای دستور زیر، نصب کنید:
+برای اتصال به دیتابیس ElasticSearch در برنامههای Python، در ابتدا باید ماژول مربوط به آنرا با اجرای دستور زیر، نصب کنید:
@@ -33,31 +33,8 @@ import Head from "next/head";
-سپس، در فایل settings.py، تنظیمات مربوط به دیتابیس را اضافه کنید:
-
-
-
+سپس، با فرض فعال بودن محیط مجازی در پروژه پایتونیتان (virtualenv)، دستور زیر را اجرا کنید تا فایل requirements.txt بهروز شود:
-در نهایت، کافیست دستور زیر را اجرا کنید تا فایل requirements.txt بهروز شود و نام ماژول مربوط به دیتابیس، در این فایل، قرار بگیرد:
@@ -66,120 +43,70 @@ ELASTICSEARCH_DSL = {
-تمامی کارها انجام شده است و شما میتوانید از دیتابیس خود استفاده کنید. به عنوان مثال، میتوانید با اجرای دستور زیر، یک application جدید ایجاد کنید:
-
-
-
+در ادامه، بایستی طبق مستندات نحوه تنظیم متغیرهای محیطی، متغیر محیطی مربوط به دیتابیس را، به برنامه اضافه کنید؛ به عنوان مثال:
-سپس، این application جدید را به بخش INSTALLED_APPS در settings.py، اضافه کنید:
-
-
-
-
-در ادامه، در فایل elasticsearch_app/views.py قطعه کد زیر را وارد کنید تا اتصال به دیتابیس، بررسی شود:
-
-
-
- {`from django.http import JsonResponse
-from .elastic_model import ElasticModel
-
-def elasticsearch_insert_read(request):
- es_model = ElasticModel()
- es_model.create_index()
-
- # Insert data
- data = {
- 'name': 'Sample Data',
- 'description': 'This is a sample data entry for Elasticsearch.'
- }
- es_model.insert_data(data)
-
- # Read data
- results = es_model.read_data()
-
- return JsonResponse(results, safe=False)
-`}
+
+ {`ELASTICSEARCH_URI=http://elastic:0sYXnw9OuXUzYVFnXTFdwOUh@monte-rosa.liara.cloud:33159/`}
-سپس، بایستی در دایرکتوری elasticsearch_app، یک فایل به نام urls.py ایجاد کنید و قطعه کد زیر را درون آن، قرار دهید:
+در نهایت، میتوانید مشابه قطعه کد زیر، به دیتابیستان متصل شده و از آن، استفاده کنید:
- {`from django.urls import path
-from .views import elasticsearch_insert_read
-
-urlpatterns = [
- path('', elasticsearch_insert_read, name='elasticsearch_insert_read'),
-]
+ {`import os
+from http.server import BaseHTTPRequestHandler, HTTPServer
+from elasticsearch import Elasticsearch
+from elasticsearch.exceptions import ConnectionError
+
+# Fetch Elasticsearch URI from environment variables
+ELASTICSEARCH_URI = os.getenv("ELASTICSEARCH_URI")
+
+# Initialize Elasticsearch client
+def connect_elasticsearch():
+ try:
+ # Create an Elasticsearch client using the URI
+ es = Elasticsearch([ELASTICSEARCH_URI])
+ # Check connection by pinging Elasticsearch
+ if es.ping():
+ return True
+ return False
+ except ConnectionError:
+ return False
+
+# HTTP request handler class
+class RequestHandler(BaseHTTPRequestHandler):
+ def do_GET(self):
+ # Check if Elasticsearch is reachable
+ if connect_elasticsearch():
+ self.send_response(200)
+ self.send_header('Content-type', 'text/plain')
+ self.end_headers()
+ self.wfile.write(b"Elasticsearch connection successful!")
+ else:
+ self.send_response(500)
+ self.send_header('Content-type', 'text/plain')
+ self.end_headers()
+ self.wfile.write(b"Failed to connect to Elasticsearch")
+
+# Run the server
+def run(server_class=HTTPServer, handler_class=RequestHandler, port=8080):
+ server_address = ('', port)
+ httpd = server_class(server_address, handler_class)
+ print(f'Starting server on port {port}...')
+ httpd.serve_forever()
+
+if __name__ == '__main__':
+ run()
`}
-در نهایت، میتوانید در فایل urls.py موجود در دایرکتوری اصلی پروژه، قطعه کد زیر را اضافه کنید:
-
-
-
-اکنون میتوانید برنامهتان را در لیارا مستقر کرده و در صفحه elasticsearch/ وضعیت اتصال به دیتابیس خود را بررسی کنید.
+اکنون میتوانید برنامهتان را در لیارا مستقر کرده و در صفحه / وضعیت اتصال به دیتابیس خود را بررسی کنید.
\ No newline at end of file
diff --git a/src/pages/paas/python/how-tos/connect-to-db/mongodb.mdx b/src/pages/paas/python/how-tos/connect-to-db/mongodb.mdx
new file mode 100644
index 00000000..2d0b3130
--- /dev/null
+++ b/src/pages/paas/python/how-tos/connect-to-db/mongodb.mdx
@@ -0,0 +1,118 @@
+import Layout from "@/components/Layout";
+import Button from "@/components/Common/button";
+import Section from "@/components/Common/section";
+import Alert from "@/components/Common/alert";
+import Tabs from "@/components/Common/tab";
+import Step from "@/components/Common/step";
+import Card from "@/components/Common/card";
+import Important from "@/components/Common/important";
+import Highlight from "@/components/Common/highlight";
+import Link from "next/link";
+import NextPage from "@/components/Common/nextpage";
+
+import Head from "next/head";
+
+
+
+مستندات اتصال به دیتابیس MongoDB در Python - لیارا
+
+
+
+
+
+# اتصال به دیتابیس MongoDB در برنامههای Python
+
+
+برای اتصال به دیتابیس MongoDB در برنامههای Python، در ابتدا باید ماژول مربوط به آنرا با اجرای دستور زیر، نصب کنید:
+
+
+
+
+ {`pip install pymongo`}
+
+
+
+
+سپس، با فرض فعال بودن محیط مجازی در پروژه پایتونیتان (virtualenv)، دستور زیر را اجرا کنید تا فایل requirements.txt بهروز شود:
+
+
+
+
+ {`pip freeze > requirements.txt`}
+
+
+
+
+در ادامه، بایستی طبق مستندات نحوه تنظیم متغیرهای محیطی، متغیر محیطی مربوط به دیتابیس را، به برنامه اضافه کنید؛ به عنوان مثال:
+
+
+
+
+
+در نهایت، میتوانید مشابه قطعه کد زیر، به دیتابیستان متصل شده و از آن، استفاده کنید:
+
+
+
+
+ {`import os
+from http.server import BaseHTTPRequestHandler, HTTPServer
+from pymongo import MongoClient
+from pymongo.errors import ServerSelectionTimeoutError, ConnectionFailure
+
+# Fetch MongoDB URI from environment variables
+MONGODB_URI = os.getenv("MONGODB_URI")
+
+# Initialize MongoDB client
+def connect_mongodb():
+ try:
+ # Create a MongoDB client using the URI
+ client = MongoClient(MONGODB_URI, serverSelectionTimeoutMS=5000)
+ # Try to access the admin database to check the connection
+ client.admin.command('ping')
+ return True
+ except ServerSelectionTimeoutError as e:
+ print(f"ServerSelectionTimeoutError: {e}")
+ return False
+ except ConnectionFailure as e:
+ print(f"ConnectionFailure: {e}")
+ return False
+ except Exception as e:
+ print(f"Unexpected error: {e}")
+ return False
+
+# HTTP request handler class
+class RequestHandler(BaseHTTPRequestHandler):
+ def do_GET(self):
+ # Check if MongoDB is reachable
+ if connect_mongodb():
+ self.send_response(200)
+ self.send_header('Content-type', 'text/plain')
+ self.end_headers()
+ self.wfile.write(b"MongoDB connection successful!")
+ else:
+ self.send_response(500)
+ self.send_header('Content-type', 'text/plain')
+ self.end_headers()
+ self.wfile.write(b"Failed to connect to MongoDB")
+
+# Run the server
+def run(server_class=HTTPServer, handler_class=RequestHandler, port=8080):
+ server_address = ('', port)
+ httpd = server_class(server_address, handler_class)
+ print(f'Starting server on port {port}...')
+ httpd.serve_forever()
+
+if __name__ == '__main__':
+ run()
+`}
+
+
+
+
+اکنون میتوانید برنامهتان را در لیارا مستقر کرده و در صفحه / وضعیت اتصال به دیتابیس خود را بررسی کنید.
+
+
\ No newline at end of file
diff --git a/src/pages/paas/python/how-tos/connect-to-db/mssql.mdx b/src/pages/paas/python/how-tos/connect-to-db/mssql.mdx
index 0c642416..14b7dcc4 100644
--- a/src/pages/paas/python/how-tos/connect-to-db/mssql.mdx
+++ b/src/pages/paas/python/how-tos/connect-to-db/mssql.mdx
@@ -14,65 +14,27 @@ import Head from "next/head";
-مستندات اتصال به دیتابیس MSSQL در Django - لیارا
+مستندات اتصال به دیتابیس MSSQL در Python - لیارا
-
+
-# اتصال به دیتابیس MSSQL در برنامههای Django
+# اتصال به دیتابیس MSSQL در برنامههای Python
-برای اتصال به دیتابیس MSSQL در برنامههای Django، در ابتدا باید ماژول مربوط به آنرا با اجرای دستور زیر، نصب کنید:
+برای اتصال به دیتابیس MSSQL در برنامههای Python، در ابتدا باید ماژول مربوط به آنرا با اجرای دستور زیر، نصب کنید:
-در ادامه، بایستی در فایل settings.py تنظیمات مربوط به دیتابیس را وارد کنید:
+سپس، با فرض فعال بودن محیط مجازی در پروژه پایتونیتان (virtualenv)، دستور زیر را اجرا کنید تا فایل requirements.txt بهروز شود:
-
-
-
-
-در نهایت، کافیست دستور زیر را اجرا کنید تا فایل requirements.txt بهروز شود و نام ماژول مربوط به دیتابیس، در این فایل، قرار بگیرد:
@@ -81,150 +43,76 @@ MSSQL_DB_NAME=db`}
-تمامی کارها انجام شده است و شما میتوانید از دیتابیس خود استفاده کنید. به عنوان مثال، میتوانید با اجرای دستور زیر، یک application جدید ایجاد کنید:
-
-
-
- {`python manage.py startapp mssql_app`}
-
-
-
+در ادامه، بایستی طبق مستندات نحوه تنظیم متغیرهای محیطی، متغیر محیطی مربوط به دیتابیس را، به برنامه اضافه کنید؛ به عنوان مثال:
-سپس، این application جدید را به بخش INSTALLED_APPS در settings.py، اضافه کنید:
-سپس، بایستی در دایرکتوری mssql_app، یک فایل به نام urls.py ایجاد کنید و قطعه کد زیر را درون آن، قرار دهید:
+در نهایت، میتوانید مشابه قطعه کد زیر، به دیتابیستان متصل شده و از آن، استفاده کنید:
-
-اکنون میتوانید برنامهتان را در لیارا مستقر کرده و در صفحه mssql/ وضعیت اتصال به دیتابیس خود را بررسی کنید.
-
-
-
-مفهوم Connection pooling به معنای استفاده از یک مجموعه اتصالات از پیش ساخته شده برای اتصال به پایگاه داده است. این تکنیک باعث میشود به جای ایجاد و بستن مکرر اتصالات، از اتصالات موجود در مجموعه استفاده شود که کارایی را افزایش میدهد.
-همچنین بخوانید: آشنایی بیشتر با قابلیت Connection Pooling
-
-برای استفاده از قابلیت connection pooling در دیتابیس MSSQL
-کافیست تا متغیر DATABASE_CONNECTION_POOLING را به فایل settings.py، با مقدار زیر، اضافه کنید:
-
-
-
-
-اکنون میتوانید مجدداً برنامهتان را در لیارا مستقر کرده و در صفحه mssql/ وضعیت اتصال به دیتابیس خود را بررسی کنید.
+اکنون میتوانید برنامهتان را در لیارا مستقر کرده و در صفحه / وضعیت اتصال به دیتابیس خود را بررسی کنید.
\ No newline at end of file
diff --git a/src/pages/paas/python/how-tos/connect-to-db/mysql.mdx b/src/pages/paas/python/how-tos/connect-to-db/mysql.mdx
index eba64e4d..1198a47a 100644
--- a/src/pages/paas/python/how-tos/connect-to-db/mysql.mdx
+++ b/src/pages/paas/python/how-tos/connect-to-db/mysql.mdx
@@ -14,62 +14,27 @@ import Head from "next/head";
-مستندات اتصال به دیتابیس MySQL و MariaDB در Django - لیارا
+مستندات اتصال به دیتابیس MySQL و MariaDB در Python - لیارا
-
+
-# اتصال به دیتابیس MySQL/MariaDB در برنامههای Django
+# اتصال به دیتابیس MySQL/MariaDB در برنامههای Python
-برای اتصال به دیتابیس MariaDB یا MySQL در برنامههای Django، در ابتدا باید ماژول مربوط به آنرا با اجرای دستور زیر، نصب کنید:
+برای اتصال به دیتابیس MariaDB یا MySQL در برنامههای Python، در ابتدا باید ماژول مربوط به آنرا با اجرای دستور زیر، نصب کنید:
-در ادامه، بایستی در فایل settings.py تنظیمات مربوط به دیتابیس را وارد کنید:
+سپس، با فرض فعال بودن محیط مجازی در پروژه پایتونیتان (virtualenv)، دستور زیر را اجرا کنید تا فایل requirements.txt بهروز شود:
-
-
-تمامی کارها انجام شده است و شما میتوانید از دیتابیس خود استفاده کنید. به عنوان مثال، میتوانید با اجرای دستور زیر، یک application جدید ایجاد کنید:
-
-
-
- {`python manage.py startapp mysql_app`}
-
-
-
+در ادامه، بایستی طبق مستندات نحوه تنظیم متغیرهای محیطی، متغیر محیطی مربوط به دیتابیس را، به برنامه اضافه کنید؛ به عنوان مثال:
-سپس، این application جدید را به بخش INSTALLED_APPS در settings.py، اضافه کنید:
-سپس، بایستی در دایرکتوری mysql_app، یک فایل به نام urls.py ایجاد کنید و قطعه کد زیر را درون آن، قرار دهید:
+در نهایت، میتوانید مشابه قطعه کد زیر، به دیتابیستان متصل شده و از آن، استفاده کنید:
-
-اکنون میتوانید برنامهتان را در لیارا مستقر کرده و در صفحه mysql/ وضعیت اتصال به دیتابیس خود را بررسی کنید.
+اکنون میتوانید برنامهتان را در لیارا مستقر کرده و در صفحه / وضعیت اتصال به دیتابیس خود را بررسی کنید.
مفهوم Connection pooling به معنای استفاده از یک مجموعه اتصالات از پیش ساخته شده برای اتصال به پایگاه داده است. این تکنیک باعث میشود به جای ایجاد و بستن مکرر اتصالات، از اتصالات موجود در مجموعه استفاده شود که کارایی را افزایش میدهد.
همچنین بخوانید: آشنایی بیشتر با قابلیت Connection Pooling
-برای استفاده از قابلیت connection pooling در دیتابیس MySQL، فقط کافیست تا با اجرای دستور زیر، ماژول موردنیاز را نصب کنید:
+برای استفاده از قابلیت connection pooling در دیتابیس MySQL/MariaDB،
+میتوانید مشابه قطعه کد زیر، عمل کنید:
+
+
+ """
+ self.wfile.write(html_content.encode("utf-8"))
+
+PORT = 8000
+with socketserver.TCPServer(("", PORT), RequestHandler) as httpd:
+ print(f"Serving on port {PORT}")
+ httpd.serve_forever()
+`}
+
+
-اکنون میتوانید مجدداً برنامهتان را در لیارا مستقر کرده و در صفحه mysql/ وضعیت اتصال به دیتابیس خود را بررسی کنید.
-
\ No newline at end of file
diff --git a/src/pages/paas/python/how-tos/connect-to-db/postgresql.mdx b/src/pages/paas/python/how-tos/connect-to-db/postgresql.mdx
index df597562..4fd08a1a 100644
--- a/src/pages/paas/python/how-tos/connect-to-db/postgresql.mdx
+++ b/src/pages/paas/python/how-tos/connect-to-db/postgresql.mdx
@@ -14,24 +14,16 @@ import Head from "next/head";
-مستندات اتصال به دیتابیس PostgreSQL در Django - لیارا
+مستندات اتصال به دیتابیس PostgreSQL در Python - لیارا
-
+
-# اتصال به دیتابیس PostgreSQL در برنامههای Django
+# اتصال به دیتابیس PostgreSQL در برنامههای Python
-
-
-
-برای اتصال به دیتابیس PostgreSQL در برنامههای Django، در ابتدا باید ماژول مربوط به آنرا با اجرای دستور زیر، نصب کنید:
+برای اتصال به دیتابیس PostgreSQL در برنامههای Python، در ابتدا باید ماژول مربوط به آنرا با اجرای دستور زیر، نصب کنید:
@@ -41,43 +33,8 @@ import Head from "next/head";
-در ادامه، بایستی در فایل settings.py تنظیمات مربوط به دیتابیس را وارد کنید:
-
-
-
-
+سپس، با فرض فعال بودن محیط مجازی در پروژه پایتونیتان (virtualenv)، دستور زیر را اجرا کنید تا فایل requirements.txt بهروز شود:
-در نهایت، کافیست دستور زیر را اجرا کنید تا فایل requirements.txt بهروز شود و نام ماژول مربوط به دیتابیس، در این فایل، قرار بگیرد:
-تمامی کارها انجام شده است و شما میتوانید از دیتابیس خود استفاده کنید. به عنوان مثال، میتوانید با اجرای دستور زیر، یک application جدید ایجاد کنید:
-
-
-
+در ادامه، بایستی طبق مستندات نحوه تنظیم متغیرهای محیطی، متغیر محیطی مربوط به دیتابیس را، به برنامه اضافه کنید؛ به عنوان مثال:
-در ادامه، در فایل postgresql_app/views.py قطعه کد زیر را وارد کنید تا اتصال به دیتابیس، بررسی شود:
-سپس، بایستی در دایرکتوری postgresql_app، یک فایل به نام urls.py ایجاد کنید و قطعه کد زیر را درون آن، قرار دهید:
+در نهایت، میتوانید مشابه قطعه کد زیر، به دیتابیستان متصل شده و از آن، استفاده کنید:
-
-اکنون میتوانید برنامهتان را در لیارا مستقر کرده و در صفحه postgresql/ وضعیت اتصال به دیتابیس خود را بررسی کنید.
+اکنون میتوانید برنامهتان را در لیارا مستقر کرده و در صفحه / وضعیت اتصال به دیتابیس خود را بررسی کنید.
مفهوم Connection pooling به معنای استفاده از یک مجموعه اتصالات از پیش ساخته شده برای اتصال به پایگاه داده است. این تکنیک باعث میشود به جای ایجاد و بستن مکرر اتصالات، از اتصالات موجود در مجموعه استفاده شود که کارایی را افزایش میدهد.
همچنین بخوانید: آشنایی بیشتر با قابلیت Connection Pooling
-برای استفاده از قابلیت connection pooling در دیتابیس PostgreSQL، فقط کافیست تا با اجرای دستور زیر، ماژول موردنیاز را نصب کنید:
+برای استفاده از قابلیت connection pooling در دیتابیس PostgreSQL،
+میتوانید مشابه قطعه کد زیر، عمل کنید:
-
-{`pip install django-db-connection-pool[postgresql]`}
+
+{`import os
+from http.server import BaseHTTPRequestHandler, HTTPServer
+import psycopg2
+from psycopg2 import pool
+
+# Database connection parameters
+DB_USER = os.getenv('DB_USER')
+DB_PASSWORD = os.getenv('DB_PASSWORD')
+DB_HOST = os.getenv('DB_HOST')
+DB_PORT = os.getenv('DB_PORT')
+DB_NAME = os.getenv('DB_NAME')
+
+DATABASE_URI = f"postgresql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}"
+
+# Initialize the connection pool
+connection_pool = None
+
+class RequestHandler(BaseHTTPRequestHandler):
+ def do_GET(self):
+ global connection_pool
+ if not connection_pool:
+ try:
+ # Create the connection pool
+ connection_pool = pool.SimpleConnectionPool(
+ minconn=1, maxconn=5, dsn=DATABASE_URI
+ )
+ response = "Connection pool created successfully."
+ except Exception as error:
+ response = f"Error creating connection pool: {error}"
+ self.respond(response)
+ return
+
+ try:
+ # Obtain a connection from the pool
+ pooled_conn = connection_pool.getconn()
+ cursor = pooled_conn.cursor()
+ cursor.execute("SELECT version();")
+ db_version = cursor.fetchone()
+ response = f"Pooling successful, PostgreSQL version: {db_version}"
+ connection_pool.putconn(pooled_conn) # Return connection to the pool
+ except Exception as error:
+ response = f"Error connecting with pooling: {error}"
+
+ # Send response to client
+ self.respond(response)
+
+ def respond(self, message):
+ self.send_response(200)
+ self.send_header("Content-type", "text/html")
+ self.end_headers()
+ self.wfile.write(f"
{message}
".encode("utf-8"))
+
+def run(server_class=HTTPServer, handler_class=RequestHandler):
+ server_address = ('', 8080) # Serve on port 8080
+ httpd = server_class(server_address, handler_class)
+ print("Server running on port 8080")
+ httpd.serve_forever()
+
+if __name__ == "__main__":
+ run()
+`}
-سپس، در فایل settings.py در بخش DATABASES، فیلد مربوط به ENGINE را مانند شکل زیر تغییر دهید:
-
-
-
-
-در نهایت، کافیست دستور زیر را اجرا کنید تا فایل requirements.txt، بهروز شود و نام ماژول مورد نیاز، در آن، قرار بگیرد:
-
-
-
- {`pip freeze > requirements.txt`}
-
-
-
-
-اکنون میتوانید مجدداً برنامهتان را در لیارا مستقر کرده و در صفحه postgresql/ وضعیت اتصال به دیتابیس خود را بررسی کنید.
-
\ No newline at end of file
diff --git a/src/pages/paas/python/how-tos/connect-to-db/redis.mdx b/src/pages/paas/python/how-tos/connect-to-db/redis.mdx
index 2e6f894c..41481391 100644
--- a/src/pages/paas/python/how-tos/connect-to-db/redis.mdx
+++ b/src/pages/paas/python/how-tos/connect-to-db/redis.mdx
@@ -14,16 +14,16 @@ import Head from "next/head";
-مستندات اتصال به دیتابیس Redis در Django - لیارا
+مستندات اتصال به دیتابیس Redis در Python - لیارا
-
+
-# اتصال به دیتابیس Redis در برنامههای Django
+# اتصال به دیتابیس Redis در برنامههای Python
-برای اتصال به دیتابیس Redis در برنامههای Django، در ابتدا باید ماژول مربوط به آنرا با اجرای دستور زیر، نصب کنید:
+برای اتصال به دیتابیس Redis در برنامههای Python، در ابتدا باید ماژول مربوط به آنرا با اجرای دستور زیر، نصب کنید:
@@ -33,16 +33,8 @@ import Head from "next/head";
-در ادامه، بایستی طبق مستندات تنظیم متغیرهای محیطی، متغیر مربوط به دیتابیس خود را، به برنامه، اضافه کنید؛ به عنوان مثال:
-
-
-
+سپس، با فرض فعال بودن محیط مجازی در پروژه پایتونیتان (virtualenv)، دستور زیر را اجرا کنید تا فایل requirements.txt بهروز شود:
-در نهایت، کافیست دستور زیر را اجرا کنید تا فایل requirements.txt بهروز شود و نام ماژول مربوط به دیتابیس، در این فایل، قرار بگیرد:
@@ -51,90 +43,69 @@ import Head from "next/head";
-تمامی کارها انجام شده است و شما میتوانید از Redis استفاده کنید. به عنوان مثال، میتوانید با اجرای دستور زیر، یک application جدید ایجاد کنید:
+در ادامه، بایستی طبق مستندات نحوه تنظیم متغیرهای محیطی، متغیر محیطی مربوط به دیتابیس را، به برنامه اضافه کنید؛ به عنوان مثال:
+
-
+در نهایت، میتوانید مشابه قطعه کد زیر، به دیتابیستان متصل شده و از آن، استفاده کنید:
-در ادامه، در فایل redis_app/views.py قطعه کد زیر را وارد کنید تا اتصال به دیتابیس، بررسی شود:
-
-
-سپس، بایستی در دایرکتوری redis_app، یک فایل به نام urls.py ایجاد کنید و قطعه کد زیر را درون آن، قرار دهید:
+# Fetch Redis URI from environment variables
+REDIS_URI = os.getenv("REDIS_URI")
-
-
-
- {`from django.urls import path
-from .views import check_redis_connection
-
-urlpatterns = [
- path('', check_redis_connection, name='check_redis_connection'),
-]
+# Initialize Redis client
+def connect_redis():
+ try:
+ # Connect to Redis server using URI
+ redis_client = redis.from_url(REDIS_URI)
+ # Check connection by pinging Redis
+ redis_client.ping()
+ return True
+ except redis.ConnectionError:
+ return False
+
+# HTTP request handler class
+class RequestHandler(BaseHTTPRequestHandler):
+ def do_GET(self):
+ # Check if Redis is reachable
+ if connect_redis():
+ self.send_response(200)
+ self.send_header('Content-type', 'text/plain')
+ self.end_headers()
+ self.wfile.write(b"Redis connection successful!")
+ else:
+ self.send_response(500)
+ self.send_header('Content-type', 'text/plain')
+ self.end_headers()
+ self.wfile.write(b"Failed to connect to Redis")
+
+# Run the server
+def run(server_class=HTTPServer, handler_class=RequestHandler, port=8080):
+ server_address = ('', port)
+ httpd = server_class(server_address, handler_class)
+ print(f'Starting server on port {port}...')
+ httpd.serve_forever()
+
+if __name__ == '__main__':
+ run()
`}
-در نهایت، میتوانید در فایل urls.py موجود در دایرکتوری اصلی پروژه، قطعه کد زیر را اضافه کنید:
-
-
-
-اکنون میتوانید برنامهتان را در لیارا مستقر کرده و در صفحه redis/ وضعیت اتصال به دیتابیس خود را بررسی کنید.
+اکنون میتوانید برنامهتان را در لیارا مستقر کرده و در صفحه / وضعیت اتصال به دیتابیس خود را بررسی کنید.
\ No newline at end of file
diff --git a/src/pages/paas/python/how-tos/connect-to-db/sqlite.mdx b/src/pages/paas/python/how-tos/connect-to-db/sqlite.mdx
index a4290d05..449ba869 100644
--- a/src/pages/paas/python/how-tos/connect-to-db/sqlite.mdx
+++ b/src/pages/paas/python/how-tos/connect-to-db/sqlite.mdx
@@ -14,130 +14,120 @@ import Head from "next/head";
-مستندات اتصال به دیتابیس SQLite در Django - لیارا
+مستندات اتصال به دیتابیس SQLite در Python - لیارا
-
+
-# اتصال به دیتابیس SQLite در برنامههای Django
+# اتصال به دیتابیس SQLite در برنامههای Python
-
-
-
برای اتصال موفق به دیتابیس SQLite در برنامههای Django کافیست تا گامهای زیر را طی کنید:
-
-
-
تنظیم فایل settings.py
-
-
- در ابتدا، بایستی در فایل settings.py در بخش DATABASES قطعه کد مربوط به دیتابیس SQLite را وارد کنید:
-
- در قطعه کد فوق، دایرکتوری database به عنوان دایرکتوری دیتابیس، مشخص شده است.
-
- >
- )
- },
- {
- step: "۲",
- content: (
- <>
-
- ایجاد و پیکربندی فایل liara_pre_start.sh
-
-
-
- در مسیر اصلی پروژه، یک فایل به نام liara_pre_start.sh ایجاد کنید و قطعه کد زیر را در آن قرار دهید تا عملیات migrate به صورت خودکار در دیتابیستان اعمال شود:
-
طبق مستندات ایجاد دیسک، در بخش دیسکها برنامه خود در لیارا، یک دیسک جدید با نام database و اندازه مدنظرتان ایجاد کنید.
- >
- )
- },
- {
- step: "۴",
- content: (
- <>
-
ایجاد و پیکربندی فایل liara.json
-
در مسیر اصلی پروژه، یک فایل به نام liara.json ایجاد کنید و قطعه کد زیر را، درون آن، قرار دهید:
-
-
-
+برای اتصال به دیتابیس SQLite در برنامههای Python،
+تنها کافیست تا
+طبق مستندات ساخت دیسک، یک دیسک برای ذخیره دیتابیس خود بسازید؛ در ادامه، میتوانید طبق مستندات تعریف مسیر برای دیسک، دیسک خود را به دایرکتوری دیتابیس، مشابه قطعه کد زیر در فایل liara.josn یا در استقرار با کنسول، متصل کنید:
+
+
+
+
برنامه خود را با استفاده از دستور liara deploy در لیارا مستقر کنید.
- >
- )
- },
-]}/>
-
+}`}
+
+
+
+
+در نهایت، میتوانید مشابه قطعه کد زیر، به دیتابیستان متصل شده و از آن، استفاده کنید:
+
+
+
+
+ {`import os
+import sqlite3
+from http.server import SimpleHTTPRequestHandler, HTTPServer
+
+# Define the directory and database file name
+db_directory = 'database'
+db_filename = 'my_database.db'
+db_path = os.path.join(db_directory, db_filename)
+
+# Create or check the SQLite database connection
+def check_db_connection():
+ # Check if the database exists
+ if not os.path.exists(db_path):
+ return False
+ try:
+ # Try connecting to the database to ensure it's accessible
+ connection = sqlite3.connect(db_path)
+ connection.close()
+ return True
+ except sqlite3.Error:
+ return False
-
-البته در نظر داشته باشید که استفاده از دیتابیس SQLite بیشتر برای وبسایتهای کوچک با پردازشهای کم مناسب است و
-در مقیاس بالا، بهتر است که از دیتابیسهای دیگری استفاده کنید.
+# Custom handler to respond to HTTP requests
+class MyHandler(SimpleHTTPRequestHandler):
+ def do_GET(self):
+ # When accessing the root ("/") page, check if database exists and connection
+ if self.path == '/':
+ # Check if the database exists
+ if not os.path.exists(db_path):
+ # Create the database if it doesn't exist
+ self.create_db()
+ response = "Database created successfully!"
+ else:
+ response = "Database already exists."
+
+ # Check connection to the database
+ if check_db_connection():
+ connection_status = "Database connection successful!"
+ else:
+ connection_status = "Failed to connect to the database."
+
+ # Respond with both messages
+ self.send_response(200)
+ self.send_header('Content-type', 'text/html')
+ self.end_headers()
+ self.wfile.write(f"
{response}
{connection_status}
".encode())
-
-در نظر داشته باشید که SQLite از قابلیت Connection Pooling پشتیبانی نمیکند؛ چرا که SQLite یک دیتابیس فایلمحور است و نیازی به connection pooling ندارد. هر اتصال به فایل دیتابیس مستقل از دیگر اتصالات است و SQLite به طور خودکار این اتصالات را، مدیریت میکند.
+ def create_db(self):
+ # Create the directory if it doesn't exist
+ if not os.path.exists(db_directory):
+ os.makedirs(db_directory)
+ print(f"Directory '{db_directory}' created.")
+
+ # Connect to SQLite and create the database file if it doesn't exist
+ connection = sqlite3.connect(db_path)
+ cursor = connection.cursor()
+
+ # Create a simple table to test the database
+ cursor.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)''')
+
+ # Commit changes and close the connection
+ connection.commit()
+ cursor.close()
+ connection.close()
+
+ print(f"Database created at '{db_path}'")
+
+# Define the server address and port
+server_address = ('', 8080)
+
+# Create and run the server
+httpd = HTTPServer(server_address, MyHandler)
+print("Server running on port 8080")
+httpd.serve_forever()
+`}
+
+
+
+اکنون میتوانید برنامهتان را در لیارا مستقر کرده و در صفحه / وضعیت اتصال به دیتابیس خود را بررسی کنید.
\ No newline at end of file
diff --git a/src/pages/paas/python/how-tos/customize-nginx.mdx b/src/pages/paas/python/how-tos/customize-nginx.mdx
index 6b1e708b..52090db1 100644
--- a/src/pages/paas/python/how-tos/customize-nginx.mdx
+++ b/src/pages/paas/python/how-tos/customize-nginx.mdx
@@ -14,18 +14,18 @@ import Head from "next/head";
-مستندات تنظیم Nginx در Django - لیارا
+مستندات تنظیم Nginx در Python - لیارا
-
+
-# تنظیم Nginx در برنامههای Django
+# تنظیم Nginx در برنامههای Python
NGINX یک سرور وب قدرتمند و چندمنظوره است که برای ارائه وب، پروکسی معکوس، کش HTTP، و حتی به عنوان یک لود بالانسر استفاده میشود. این سرور به دلیل عملکرد بالا، مقیاسپذیری و کارایی در مدیریت ترافیک وب، بسیار محبوب است.
-در برنامههای Django لیارا، از وبسرور Nginx استفاده میشود و پیکربندی پیشفرض این وبسرور بهشکل زیر است:
+در برنامههای Python لیارا، از وبسرور Nginx استفاده میشود و پیکربندی پیشفرض این وبسرور بهشکل زیر است:
- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید:
+ در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:
-
+
+
+
+
پس از آپلود پروژه، باید شخصیسازیهای پروژه را در برنامه خود، لحاظ کنید.
@@ -120,7 +128,23 @@ tzdata==2024.1
البته اگر که برنامهتان نیازی به پورت ندارد، میتوانید این فیلد را از فایل liara.json، پاک کنید
-
+
+ در صورتی که قصد دارید دستورات مدنظرتان، پس از استقرار برنامه، اجرا شوند؛ میتوانید در فایل liara.json در آرایهای به نام args آنها را مشابه قطعه کد زیر، مشخص کنید:
+
+ در صورت مشخص نکردن args، لیارا به صورت خودکار، دستور python3 main.py را، اجرا خواهد کرد.
+
+
از آنجایی که لیارا برای نصب پکیجهای فایل requirements.txt، از mirror اختصاصی خود استفاده میکند؛ از همین رو، ممکن است که در نصب برخی از پکیجهای جدید، دچار مشکل شود. برای رفع این مشکل، میتوانید mirror لیارا را با قراردادن قطعه کد زیر در فایل liara.json، غیرفعال کنید:
@@ -259,7 +283,24 @@ tzdata==2024.1
-
+
+ در صورتی که قصد دارید دستورات مدنظرتان، پس از استقرار برنامه، اجرا شوند؛ میتوانید در فایل liara.json در آرایهای به نام args آنها را مشابه قطعه کد زیر، مشخص کنید:
+
+ در صورت مشخص نکردن args، لیارا به صورت خودکار، دستور python3 main.py را، اجرا خواهد کرد.
+
+
+
برای تعیین نسخه Python برنامه خود نیز، کافیست تا در فایل liara.json فیلد version را قرار دهید:
diff --git a/src/pages/paas/python/how-tos/enable-gzip.mdx b/src/pages/paas/python/how-tos/enable-gzip.mdx
index 20fd3009..07db5eee 100644
--- a/src/pages/paas/python/how-tos/enable-gzip.mdx
+++ b/src/pages/paas/python/how-tos/enable-gzip.mdx
@@ -14,13 +14,13 @@ import Head from "next/head";
-مستندات فعالسازی Gzip در Django - لیارا
+مستندات فعالسازی Gzip در Python - لیارا
-
+
-# فعالسازی قابلیت gzip در برنامههای Django
+# فعالسازی قابلیت gzip در برنامههای Python
قابلیت gzip در NGINX برای فشردهسازی محتوا قبل از ارسال آن به مرورگر کاربران استفاده میشود. این کار باعث کاهش حجم دادههای منتقلشده و در نتیجه کاهش زمان بارگذاری صفحات وب میشود، که میتواند به بهبود عملکرد کمک کند.
@@ -49,7 +49,7 @@ location /static {
}
location / {
- try_files /dev/null @django_app;
+ try_files /dev/null @python_app;
}
location ~\\.sqlite3$ {
diff --git a/src/pages/paas/python/how-tos/set-cron-job.mdx b/src/pages/paas/python/how-tos/set-cron-job.mdx
index 48da7b0b..36275e7a 100644
--- a/src/pages/paas/python/how-tos/set-cron-job.mdx
+++ b/src/pages/paas/python/how-tos/set-cron-job.mdx
@@ -14,10 +14,10 @@ import Head from "next/head";
-مستندات تنظیم Cron Job در Django - لیارا
+مستندات تنظیم Cron Job در Python - لیارا
-
+
# تنظیم Cron Job
@@ -30,16 +30,16 @@ Cron job یک وظیفه زمانبندی شده در سیستمعامل
tabs={["Liara Console", "Liara CLI"]}
content={[
<>
- برای تنظیم یک Cron Job در Laravel کافیست تا
+ برای تنظیم یک Cron Job در Python کافیست تا
پس از آپلود پروژه خود در کنسول در بخش تنظیمات پلتفرم، Cron Jobهای خود را تعریف کنید:
-
+
>,
<>
- برای تنظیم یک Cron Job در Django
+ برای تنظیم یک Cron Job در Python
کافیست تا در مسیر اصلی پروژه، یک فایل به نام liara.json ایجاد کنید و Cron Jobهای مد نظر خود را در
آرایهای به نام cron، تنظیم و پیکربندی کنید.
به عنوان مثال:
@@ -49,7 +49,7 @@ Cron job یک وظیفه زمانبندی شده در سیستمعامل
{`{
"cron": [
- "0 0 * * 0 cd $ROOT && python3 manage.py remove-old-emails >> /dev/null 2>&1"
+ "python3 migrate.py >> /dev/null 2>&1"
]
}`}
diff --git a/src/pages/paas/python/how-tos/set-envs.mdx b/src/pages/paas/python/how-tos/set-envs.mdx
index 434fbbe4..086e45cc 100644
--- a/src/pages/paas/python/how-tos/set-envs.mdx
+++ b/src/pages/paas/python/how-tos/set-envs.mdx
@@ -14,34 +14,26 @@ import Head from "next/head";
-مستندات تنظیم متغیرهای محیطی در Django - لیارا
+مستندات تنظیم متغیرهای محیطی در Python - لیارا
-
+
# استفاده از متغیرهای محیطی
برای استفاده از متغیرهای محیطی در برنامه خود، در ابتدا باید طبق مستندات تنظیم متغیرهای محیطی، متغیرهای محیطی را به برنامه خود، اضافه کنید.
-در ادامه، شما میتوانید با استفاده از ماژول os و متد ()getenv به متغیرهای محیطی خود در برنامه Django دسترسی داشته باشید؛ به عنوان مثال:
+در ادامه، شما میتوانید با استفاده از ماژول os و متد ()getenv به متغیرهای محیطی خود در برنامه Python دسترسی داشته باشید؛ به عنوان مثال:
{`import os
-print(os.getenv('LIARA_URL', 'my-web-app'), flush=True)
+print(os.getenv('LIARA_URL', 'my-python-app'), flush=True)
`}
div>
-در مثال فوق، LIARA_URL یک متغیر محیطی است که از قبل، به برنامه فرضی در لیارا، اضافه شده است و my-web-app مقدار پیشفرضی است که در صورت تعریف نشدن متغیر محیطی LIARA_URL، مورد استفاده قرار میگیرد.
-
-
-متغیر محیطی SECRET_KEY در جنگو یک کلید مخفی است که برای حفظ امنیت برنامهتان استفاده میشود. این کلید برای مواردی مثل تولید امضاهای رمزنگاری شده و حفاظت از دادههای حساس به کار میرود.
-در پلتفرم Django لیارا، متغیر محیطی SECRET_KEY به صورت خودکار با ساخت برنامه ایجاد میشود و شما میتوانید مقدار آن را به دلخواه خود تغییر دهید.
-
-
-
-
+در مثال فوق، LIARA_URL یک متغیر محیطی است که از قبل، به برنامه فرضی در لیارا، اضافه شده است و my-python-app مقدار پیشفرضی است که در صورت تعریف نشدن متغیر محیطی LIARA_URL، مورد استفاده قرار میگیرد.
\ No newline at end of file
diff --git a/src/pages/paas/python/how-tos/set-gunicorn-maxrequest.mdx b/src/pages/paas/python/how-tos/set-gunicorn-maxrequest.mdx
index 84fafdf1..f3aff54d 100644
--- a/src/pages/paas/python/how-tos/set-gunicorn-maxrequest.mdx
+++ b/src/pages/paas/python/how-tos/set-gunicorn-maxrequest.mdx
@@ -14,24 +14,24 @@ import Head from "next/head";
-مستندات تنظیم max_request در Gunicorn در Django - لیارا
+مستندات تنظیم max_request در Gunicorn در Python - لیارا
-
+
-# تنظیم max_request در Gunicorn در برنامههای Django
+# تنظیم max_request در Gunicorn در برنامههای Python
در Gunicorn، پارامتر max_requests تعداد درخواستهایی را که هر Worker باید قبل از retirement (خاتمه کار) پردازش کند، مشخص میکند. پس از رسیدن یک Worker به این اندازه، به طور خودکار retired میشود و یک Worker جدید جایگزین آن میشود.
یکی از راههای جلوگیری از نشت حافظه و مصرف بالای RAM در Gunicorn، تنظیم پارامتر max_requests است. با تنظیم این پارامتر، با رسیدن تعداد درخواستهای هر یک از Threadهای Gunicorn به این عدد، آن Thread ریاستارت شده و حافظهی RAM آن خالی میشود.
-در صورتی که در برنامهی Django خود نیاز به ریاستارت WORKER THREAD بعد از تعداد مشخصی Request دارید، میتوانید طبق مستندات تنظیم متغیرهای محیطی، متغیر محیطی GUNICORN_MAX_REQUESTS را با مقدار 1000 به برنامه Django خود، اضافه کنید.
+در صورتی که در برنامهی Python خود نیاز به ریاستارت WORKER THREAD بعد از تعداد مشخصی Request دارید، میتوانید طبق مستندات تنظیم متغیرهای محیطی، متغیر محیطی GUNICORN_MAX_REQUESTS را با مقدار 1000 به برنامه Python خود، اضافه کنید.
-مقدار پیشفرض این متغیر در برنامههای Django، برابر با 10000 است.
+مقدار پیشفرض این متغیر در برنامههای Python، برابر با 10000 است.
diff --git a/src/pages/paas/python/how-tos/set-gunicorn-workers.mdx b/src/pages/paas/python/how-tos/set-gunicorn-workers.mdx
index 2c0ece49..c2bf4cea 100644
--- a/src/pages/paas/python/how-tos/set-gunicorn-workers.mdx
+++ b/src/pages/paas/python/how-tos/set-gunicorn-workers.mdx
@@ -14,13 +14,13 @@ import Head from "next/head";
-مستندات تنظیم تعداد workerهای Gunicorn در Django - لیارا
+مستندات تنظیم تعداد workerهای Gunicorn در Python - لیارا
-
+
-# تنظیم تعداد workerهای Gunicorn در برنامههای Django
+# تنظیم تعداد workerهای Gunicorn در برنامههای Python
در Gunicorn، یک worker فرآیندی است که مسئول پردازش درخواستها و پاسخها در یک برنامه وب است. worker میتواند به صورت مستقل از بقیه فرآیندها عمل کند و بار کاری بین آنها، به سادگی، تقسیم میشود. این کار باعث افزایش کارایی و مقیاسپذیری برنامه میشود.
@@ -32,7 +32,7 @@ import Head from "next/head";
-مقدار پیشفرض این متغیر در برنامههای Django، برابر با 3 است.
+مقدار پیشفرض این متغیر در برنامههای Python، برابر با 3 است.
diff --git a/src/pages/paas/python/how-tos/set-http-security-headers.mdx b/src/pages/paas/python/how-tos/set-http-security-headers.mdx
index 41e03397..352f4482 100644
--- a/src/pages/paas/python/how-tos/set-http-security-headers.mdx
+++ b/src/pages/paas/python/how-tos/set-http-security-headers.mdx
@@ -16,10 +16,10 @@ import Head from "next/head";
-مستندات تنظیم هدرهای امنیتی در Django - لیارا
+مستندات تنظیم هدرهای امنیتی در Python - لیارا
-
+
# تنظیم هدرهای امنیتی HTTP
@@ -50,7 +50,7 @@ location /static {
}
location / {
- try_files /dev/null @django_app;
+ try_files /dev/null @python_app;
}
location ~\.sqlite3$ {
diff --git a/src/pages/paas/python/how-tos/set-logs.mdx b/src/pages/paas/python/how-tos/set-logs.mdx
index a7210826..ac858788 100644
--- a/src/pages/paas/python/how-tos/set-logs.mdx
+++ b/src/pages/paas/python/how-tos/set-logs.mdx
@@ -14,16 +14,16 @@ import Head from "next/head";
-مستندات تنظیم لاگها در Django - لیارا
+مستندات تنظیم لاگها در Python - لیارا
-
+
# تنظیم لاگها
-شما میتوانید با تنظیم قطعهکدهای مشابه قطعه کد زیر، لاگهای منحصر به فرد خود را در برنامه Django ایجاد کنید که طبق مستندات گزارشات نرمافزاری، در دسترس شما قرار میگیرد
+شما میتوانید با تنظیم قطعهکدهای مشابه قطعه کد زیر، لاگهای منحصر به فرد خود را در برنامه Python ایجاد کنید که طبق مستندات گزارشات نرمافزاری، در دسترس شما قرار میگیرد
و میتوانید در هر قسمتی از پردازش برنامه، آنها را ببینید:
diff --git a/src/pages/paas/python/how-tos/use-disk.mdx b/src/pages/paas/python/how-tos/use-disk.mdx
index b4cd3c36..d20dd257 100644
--- a/src/pages/paas/python/how-tos/use-disk.mdx
+++ b/src/pages/paas/python/how-tos/use-disk.mdx
@@ -14,25 +14,25 @@ import Head from "next/head";
-مستندات استفاده از دیسک در Django - لیارا
+مستندات استفاده از دیسک در Python - لیارا
-
+
-# استفاده از دیسک در برنامههای Django
+# استفاده از دیسک در برنامههای Python
-برای استفاده از دیسکها در برنامههای Django در ابتدا باید طبق مستندات ساخت دیسک، دیسکهای مدنظر خود را بسازید؛ در ادامه، میتوانید طبق مستندات تعریف مسیر برای دیسک، دیسکهای خود را به دایرکتوریهای مدنظرتان، متصل کنید.
+برای استفاده از دیسکها در برنامههای Python در ابتدا باید طبق مستندات ساخت دیسک، دیسکهای مدنظر خود را بسازید؛ در ادامه، میتوانید طبق مستندات تعریف مسیر برای دیسک، دیسکهای خود را به دایرکتوریهای مدنظرتان، متصل کنید.
-در نظر داشته باشید که باید مسیر دایرکتوری مدنظر خود را در برنامههای Django به صورت نسبی مشخص کنید؛ به عنوان مثال، برای اتصال یک دیسک به دایرکتوری uploads کافیست تا مسیر زیر را به دیسک، متصل کنید:
+در نظر داشته باشید که باید مسیر دایرکتوری مدنظر خود را در برنامههای Python به صورت نسبی مشخص کنید؛ به عنوان مثال، برای اتصال یک دیسک به دایرکتوری uploads کافیست تا مسیر زیر را به دیسک، متصل کنید:
diff --git a/src/pages/paas/python/how-tos/use-hooks.mdx b/src/pages/paas/python/how-tos/use-hooks.mdx
index 7b5ab85e..bd0acf21 100644
--- a/src/pages/paas/python/how-tos/use-hooks.mdx
+++ b/src/pages/paas/python/how-tos/use-hooks.mdx
@@ -16,13 +16,13 @@ import Head from "next/head";
-مستندات استفاده از Hooks در Django - لیارا
+مستندات استفاده از Hooks در Python - لیارا
-
+
-# استفاده از Hooks در برنامههای Django
+# استفاده از Hooks در برنامههای Python
Hookها در برنامهنویسی به دستوراتی گفته میشود که به شما اجازه میدهند تا عملکرد یک برنامه را در یک نقطه خاص از فرایند اجرا یا استقرار آن، تغییر یا بهبود دهید؛ بدون اینکه نیاز به تغییر کد اصلی داشته باشید.
diff --git a/src/pages/paas/python/quick-start.mdx b/src/pages/paas/python/quick-start.mdx
index 7c2ead85..8c8aad91 100644
--- a/src/pages/paas/python/quick-start.mdx
+++ b/src/pages/paas/python/quick-start.mdx
@@ -33,13 +33,13 @@ import Head from "next/head";
tabs={["Liara Console", "Liara CLI", "Github"]}
content={[
<>
- {/*
- */}
+
برای استقرار با استفاده از ابزار Liara Console کافیست تا مراحل زیر را طی کنید:
,
<>
- {/*
- */}
+
برای استقرار با استفاده از ابزار Liara CLI کافیست تا مراحل زیر را طی کنید:
>,
<>
- {/*
- */}
+
برای استقرار با Github، کافیست تا مراحل زیر را طی کنید:
-
+
+
+
+ در صورتی که قصد دارید دستورات مدنظرتان، پس از استقرار برنامه، اجرا شوند؛ میتوانید در فایل liara.json در آرایهای به نام args آنها را مشابه قطعه کد زیر، مشخص کنید:
+
+ در صورت مشخص نکردن args، لیارا به صورت خودکار، دستور python3 main.py را، اجرا خواهد کرد.
+
+
+
لیارا با اجرای دستور pip install تمامی ماژولهای موجود در فایل requirements.txt را نصب میکند. پس حتماً اسامی آنها باید در این فایل باشد.
@@ -449,4 +468,5 @@ import Head from "next/head";
همچنین بخوانید: استقرار قدم به قدم برنامههای Python در لیارا
+
\ No newline at end of file
diff --git a/src/pages/paas/react/how-tos/deploy-app.mdx b/src/pages/paas/react/how-tos/deploy-app.mdx
index 9ba9f50b..5f78dcbc 100644
--- a/src/pages/paas/react/how-tos/deploy-app.mdx
+++ b/src/pages/paas/react/how-tos/deploy-app.mdx
@@ -166,9 +166,15 @@ import Head from "next/head";
- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید:
+ در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:
-
+
+
پس از آپلود پروژه، باید شخصیسازیهای پروژه را در برنامه خود، لحاظ کنید:
diff --git a/src/pages/paas/static/how-tos/deploy-app.mdx b/src/pages/paas/static/how-tos/deploy-app.mdx
index 7e066cc4..4b02d8e9 100644
--- a/src/pages/paas/static/how-tos/deploy-app.mdx
+++ b/src/pages/paas/static/how-tos/deploy-app.mdx
@@ -36,9 +36,15 @@ import Head from "next/head";
- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید:
+ در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:
-
+
+
پس از آپلود موفق پروژه،
diff --git a/src/pages/paas/vue/how-tos/deploy-app.mdx b/src/pages/paas/vue/how-tos/deploy-app.mdx
index a2f6e80b..373e5c25 100644
--- a/src/pages/paas/vue/how-tos/deploy-app.mdx
+++ b/src/pages/paas/vue/how-tos/deploy-app.mdx
@@ -130,9 +130,15 @@ import Head from "next/head";
- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید:
+ در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:
-
+
+
پس از آپلود پروژه، باید شخصیسازیهای پروژه را در برنامه خود، لحاظ کنید: