راه اندازی سرور Prisma روی اوبونتو 18.04
Prisma یک لایه داده است که جایگزین ابزارهای object-relational mapping (ORM) قبلی در برنامه شما است. Prisma با ارائه پشتیبانی هم برای سرور مجازی ساخت GraphQL و هم API های REST ، دسترسی به پایگاه داده را با تمرکز بر ایمنی نوع (type safety)، ساده می کند و جا به جایی های اعلامی دیتابیس را امکان پذیر می نماید. ایمنی نوع به کاهش خطاها و ناسازگاری های احتمالی کد کمک می کند ، در حالی که جا به جایی اعلامی پایگاه داده به شما امکان می دهد تا مدل داده های خود را در کنترل نسخه ذخیره کنید. این ویژگی ها به توسعه دهندگان کمک می کند تا زمان متمرکز خود را برای تنظیم دسترسی به پایگاه داده ، جا به جایی و گردش کار مدیریت داده ها کاهش دهند.
می توانید سرور مجازی Prisma را به چند روش مستقر کنید تا بعنوان پروکسی برای پایگاه داده شما عمل کند ، و آن را از راه دور یا محلی میزبانی کنید. با استفاده از سرویس Prisma می توانید به داده های خود دسترسی پیدا کرده و با API GraphQL به بانک اطلاعاتی خود متصل شوید ، این کار امکان عملیات زمان واقعی و امکان ایجاد، به روزرسانی و حذف داده ها را فراهم میکند. GraphQL یک زبان پرس و جو برای API ها است که به کاربران امکان می دهد برای دسترسی به اطلاعات دقیق مورد نیاز از سرور مجازی خود ، پرس و جوهایی ارسال کنند. سرور مجازی Prisma یک جزء مستقل است که در بانک اطلاعاتی شما قرار دارد.
در این آموزش شما به صورت دستی یک سرور مجازی Prisma را در Ubuntu 18.04 نصب کرده و یک پرس و جوی تستی GraphQL را در playground GraphQL اجرا می کنید. در حالی که Prisma را روی سرور مجازی راه دور خود اجرا می کنید ، هاست کد ستاپ و توسعه محلی Prisma هستید – جایی که در واقع برنامه خود را ایجاد خواهید کرد . با اجرای دستی نصب ، درک عمیق تری از زیرساخت های اساسی ستاپ خود خواهید داشت.
در حالی که این آموزش مراحل دستی استقرار Prisma در سرور مجازی اوبونتو 18.04 را در بر می گیرد ، می توانید با دنبال کردن این لینک در سایت Prisma این کار را به صورت خودکار تر با دستگاه Docker انجام دهید.
توجه: تنظیمات شرح داده شده در این بخش شامل ویژگی هایی نیست که شما معمولاً از سرور مجازی های آماده تولید مانند پشتیبان گیری خودکار و failover فعال انتظار دارید.
پیش نیازها
برای تکمیل این آموزش ، به موارد زیر نیاز دارید:
⦁ سرور مجازی Ubuntu 18.04 که با دنبال کردن راهنمای اولیه تنظیم سرور مجازی راه اندازی شده باشد، شامل کاربر غیر ریشه و امتیازات sudo باشد.
⦁ Docker نصب شده روی سرور مجازی شما. می توانید با دنبال کردن مرحله 1 آموزش نصب Docker در اوبونتو 18.04 ، به این هدف برسید.
⦁ Docker Compose نصب شده باشد. در مرحله 1 نصب Docker Compose می توانید دستورالعمل های لازم را برای این کار بیابید.
⦁ Node.js روی سرور مجازی شما نصب شده باشد. می توانید با دنبال کردن بخش PPA آموزش نصب Node.js این کار را انجام دهید.
مرحله 1 – راه اندازی سرور مجازی Prisma
Prisma CLI ابزار اولیه ای است که برای استقرار و مدیریت خدمات Prisma شما استفاده می شود. برای شروع خدمات باید زیرساخت های لازم را تنظیم کنید که شامل سرور مجازی Prisma و یک بانک اطلاعاتی برای اتصال به آن می باشد.
Docker Compose به شما امکان می دهد برنامه های چند کانتینری را مدیریت و اجرا کنید. شما می توانید از آن برای تنظیم زیرساخت های مورد نیاز سرویس Prisma استفاده کنید.
با ایجاد فایل docker-compose.yml شروع به کار می کنید تا پیکربندی سرویس Prisma را در سرور مجازی خود ذخیره کنید. از این فایل برای چرخش خودکار Prisma ، یک پایگاه داده مرتبط و پیکربندی جزئیات لازم ، همه در یک مرحله استفاده خواهید کرد. پس از چرخش فایل با Docker Compose ، رمزهای عبور داده های شما را پیکربندی می کند ، بنابراین حتماً کلمات عبور را برای مدیریتAPIsecret و MYSQL_ROOT_PASSWORD با مقادیر ایمن جایگزین کنید. دستور زیر را برای ایجاد و ویرایش فایل docker-compose.yml اجرا کنید:
⦁ $ sudo nano docker-compose.yml
⦁
برای تعریف خدمات و حجم های مربوط به تنظیم Prisma ، محتوای زیر را به فایل اضافه کنید:
docker-compose.yml
version: “3”
services:
prisma:
image: prismagraphql/prisma:1.20
restart: always
ports:
– “4466:4466”
environment:
PRISMA_CONFIG: |
port: 4466
managementApiSecret: my-secret
databases:
default:
connector: mysql
host: mysql
port: 3306
user: root
password: prisma
migrations: true
mysql:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: prisma
volumes:
– mysql:/var/lib/mysql
volumes:
mysql:
این پیکربندی موارد زیر را انجام می دهد:
• دو سرویس راه اندازی می کند: prisma-db و db.
• آخرین نسخه از Prisma را واکشی می کند. در این مقاله ، همان Prisma 1.20 است.
• پورت هایی را تنظیم می کند که Prisma در دسترس خواهد بود و تمام اعتبارات را برای اتصال به پایگاه داده MySQL در بخش دیتابیس ها مشخص می کند.
فایل docker-compose.yml ، managementApiSecret را تنظیم می کند ، که از دسترسی دیگران به اطلاعات شما به واسطه دانستن نقطه پایانی جلوگیری می کند. اگر از این آموزش برای هر چیزی به جز استقرار تستی استفاده می کنید ، باید managementApiSecret را به چیزی ایمن تر تغییر دهید. وقتی این کار را کردید ، حتماً آن را به خاطر بسپارید که بعداً بتوانید در طی مراحل prisma init وارد آن شوید.
این فایل همچنین تصویر MySQL Docker را به در داخل خود قرار میدهد و اعتبارات آن را نیز تعیین می کند. برای اهداف این آموزش ، این فایل Docker Compose یک تصویر MySQL را می چرخاند ، اما می توانید از PostgreSQL با Prisma نیز استفاده کنید. هر دو تصویر Docker در Docker hub موجود است:
⦁ MySQL
⦁ PostgreSQL.
فایل را ذخیره کنید و از آن خارج شوید.
اکنون که تمام جزئیات را ذخیره کرده اید ، می توانید کانتینرهای Docker را شروع کنید. دستور -d به کانتینرها می گوید که در حالت جداگانه اجرا شوند ، به این معنی که در پس زمینه اجرا می شوند:
⦁ $ sudo docker-compose up -d
⦁
با این کار تصاویر Docker هم برای Prisma و هم برای mysql دریافت می شوند. با دستور زیر می توانید تأیید کنید که کانتینرهای Docker اجرا می شوند:
⦁ $ sudo docker ps
⦁
خروجی را مشاهده خواهید کرد که شبیه به این است:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
24f4dd6222b1 prismagraphql/prisma:1.12 “/bin/sh -c /app/sta…” 15 seconds ago Up 1 second 0.0.0.0:4466->4466/tcp root_prisma_1
d8cc3a393a9f mysql:5.7 “docker-entrypoint.s…” 15 seconds ago Up 13 seconds 3306/tcp root_mysql_1
با تنظیم سرور مجازی Prisma و پایگاه داده خود ، اکنون آماده کار به صورت محلی برای استقرار سرویس Prisma هستید.
مرحله 2 – نصب Prisma بصورت محلی
سرور مجازی Prisma محیط های زمان اجرا را برای خدمات Prisma شما فراهم می کند. اکنون که سرور مجازی Prisma خود را راه اندازی کرده اید ، می توانید سرویس Prisma را مستقر کنید. این مراحل را به صورت محلی و نه بر روی سرور مجازی خود اجرا خواهید کرد.
برای شروع ، یک پوشه جداگانه ایجاد کنید تا همه فایل های Prisma را شامل شود:
⦁ $ mkdir prisma
⦁
سپس به آن پوشه بروید:
⦁ $ cd prisma
⦁
اگر از MacOS استفاده می کنید ، می توانید Prisma را با Homebrew نصب کنید. برای این کار ، دستور زیر را برای اضافه کردن مخزن Prisma اجرا کنید:
⦁ $ brew tap prisma/prisma
⦁
سپس می توانید Prisma را با دستور زیر نصب کنید:
⦁ $ brew install prisma
⦁
یا با npm نصب کنید:
⦁ $ npm install -g prisma
⦁
با نصب Prisma به صورت محلی ، آماده هستید تا سرویس جدید Prisma را راه اندازی کنید.
مرحله 3 – ایجاد پیکربندی برای یک سرویس جدید Prisma
پس از نصب ، می توانید از prisma init برای ایجاد ساختار فایل برای یک API پایگاه داده جدید Prisma استفاده کنید ، که فایلهای لازم برای ساختن برنامه شما را با Prisma تولید می کند. نقطه پایانی شما به طور خودکار در فایل prisma.yml خواهد بود و datamodel.prisma از قبل یک مدل داده نمونه را در اختیار شما خواهد داشت که می توانید در مرحله بعد پرس و جو کنید. datamodel به عنوان پایه API Prisma شما عمل می کند و الگوی برنامه را مشخص می کند. در این مرحله ، شما فقط فایل ها و مدل داده نمونه را ایجاد می کنید. تا زمانی که بعداً در این مرحله prisma deploy را اجرا کنید، تغییراتی انجام نخواهید داد.
اکنون می توانید دستور زیر را بصورت محلی اجرا کنید تا ساختار فایل جدید ایجاد شود:
⦁ $ prisma init hello-world
⦁
پس از اجرای این دستور ، اعلان تعاملی را مشاهده خواهید کرد. وقتی از شما پرسیده شد ، Use other server را انتخاب کرده و ENTER را فشار دهید:
Output
Set up a new Prisma server or deploy to an existing server?
You can set up Prisma for local development (based on docker-compose)
Use existing database Connect to existing database
Create new database Set up a local database using Docker
Or deploy to an existing Prisma server:
Demo server Hosted demo environment incl. database (requires login)
❯ Use other server Manually provide endpoint of a running Prisma server
سپس نقطه پایانی سرور مجازی خود را که به عنوان سرور مجازی Prisma عمل می کند ارائه می دهید. چیزی مانند: http: // SERVER_IP_ADDRESS: 4466. به نظر می رسد. مهم است که نقطه پایانی با http (یا https) شروع شود و شماره پورت را نشان دهد.
Output
Enter the endpoint of your Prisma server http://SERVER_IP_ADDRESS:4466
برای سری نگه داشتن مدیریت API ، عبارت یا رمز عبوری را که قبلاً در فایل پیکربندی اعلام کرده اید وارد کنید:
Output
Enter the management API secret my-secret
برای گزینه های بعدی می توانید با فشار دادن ENTER برای نام سرویس و مرحله خدمات ، متغیرهای پیش فرض را انتخاب کنید:
Output
Choose a name for your service hello-world
Choose a name for your stage dev
همچنین برای کلاینت Prisma یک انتخاب روی یک زبان برنامه نویسی به شما داده می شود. در این حالت می توانید زبان دلخواه خود را انتخاب کنید. می توانید اطلاعات بیشتری در مورد کلاینت را در این لینک بخوانید.
Output
Select the programming language for the generated Prisma client (Use arrow keys)
❯ Prisma TypeScript Client
Prisma Flow Client
Prisma JavaScript Client
Prisma Go Client
Don’t generate
پس از تکمیل اعلان ، خروجی زیر را مشاهده می کنید که انتخاب های شما را تأیید می کند:
Output
Created 3 new files:
prisma.yml Prisma service definition
datamodel.prisma GraphQL SDL-based datamodel (foundation for database)
.env Env file including PRISMA_API_MANAGEMENT_SECRET
Next steps:
1. Open folder: cd hello-world
2. Deploy your Prisma service: prisma deploy
3. Read more about deploying services:
http://bit.ly/prisma-deploy-services
به دیرکتوری HELLO-WORLD بروید:
⦁ $ cd hello-world
⦁
این تغییرات در سرور مجازی خود را با prisma deploy همگام سازی کنید. این کار اطلاعات را از دستگاه محلی شما به سرور مجازی Prisma می فرستد و سرویس Prisma را روی سرور مجازی Prisma ایجاد می کند:
⦁ $ prisma deploy
⦁
توجه: اجرای مجدد prisma دوباره خدمات Prisma را به روز می کند.
خروجی شما چیزی شبیه به این خواهد بود:
Output
Creating stage dev for service hello-world ✔
Deploying service `hello-world` to stage ‘dev’ to server ‘default’ 468ms
Changes:
User (Type)
+ Created type `User`
+ Created field `id` of type `GraphQLID!`
+ Created field `name` of type `String!`
+ Created field `updatedAt` of type `DateTime!`
+ Created field `createdAt` of type `DateTime!`
Applying changes 716ms
Your Prisma GraphQL database endpoint is live:
HTTP: http://SERVER_IP_ADDRESS:4466/hello-world/dev
WS: ws://SERVER_IP_ADDRESS:4466/hello-world/dev
خروجی نشان می دهد که Prisma پایگاه داده شما را مطابق با datamodel (که در مرحله prisma init ایجاد شده ) با یک کاربر TYPE به روز کرده است. Type ها قسمت اصلی یک پایگاه داده هستند. آنها یک آیتم از برنامه شما را نشان می دهند ، و هر نوع شامل چندین فیلد است. برای Datamodel فیلدهای مرتبط که کاربر را توصیف می کنند عبارتند از: شناسه کاربر ، نام ، زمان ایجاد و زمان بروزرسانی آنها.
اگر در این مرحله به مشکلاتی برخورد کردید و خروجی دیگری را دریافت کردید ، دوبار بررسی کنید که در اعلان تعاملی به درستی همه فیلدها را وارد نموده اید. می توانید با مرور مطالب فایل prisma.yml این کار را انجام دهید.
با اجرای سرویس Prisma ، می توانید به دو نقطه پایانی مختلف وصل شوید:
⦁ رابط مدیریت ، موجود در http://SERVER_IP_ADDRESS:4466/management ، که در آن می توانید خدمات Prisma را مدیریت و استقرار دهید.
⦁ APP GraphQL برای سرویس Prisma شما ، که در آدرس http://SERVER_IP_ADDRESS:4466/hello-world/dev موجود است.
شما با موفقیت سرور مجازی Prisma خود را راهاندازی و مستقر کردید. اکنون می توانید پرس و جوها و جهش ها را در GraphQL جستجو کنید.
مرحله 4 – اجرای یک پرس و جوی مثال
برای جستجوی یکی دیگر از موارد استفاده Prisma ، می توانید با ابزار playground GraphQL که یک محیط توسعه یکپارچه GraphQL منبع باز (IDE) روی سرور مجازی شما است ، این کار را آزمایش کنید. برای دستیابی به آن ، از نقطه پایانی مرورگر خود در از مرحله قبلی بازدید کنید:
http://SERVER_IP_ADDRESS:4466/hello-world/dev
جهش (mutation ) یک اصطلاح GraphQL است که روشی برای اصلاح – ایجاد ، به روزرسانی یا حذف (CRUD) – داده های موجود در پس زمینه از طریق GraphQL را توصیف می کند. برای ایجاد یک کاربر جدید و کشف قابلیت ها می توانید جهشی ارسال کنید. برای این کار ، جهش زیر را در سمت چپ صفحه اجرا کنید:
mutation {
createUser(data: { name: “Alice” }) {
id
name
}
}
پس از فشردن دکمه play ، نتایج را در سمت راست صفحه مشاهده خواهید کرد.
پس از آن ، اگر می خواهید با استفاده از ستون ID در دیتابیس به جستجوی کاربر بپردازید ، می توانید پرس و جو زیر را اجرا کنید:
query {
user(where: { id: “cjkar2d62000k0847xuh4g70o” }) {
id
name
}
}
اکنون یک سرور مجازی Prisma و سرویسی فعال و در حال اجرا در سرور مجازی خود دارید و پرس و جوهای تستی را در IDE GraphQL اجرا کرده اید.
نتیجه
شما یک ستاپ Prisma در سرور مجازی خود دارید. می توانید موارد استفاده بیشتر از Prisma و مراحل بعدی را در راهنمای شروع به کار مشاهده کنید یا ویژگی های Prisma را که در Doc Prisma قرار داده شده است ، جستجو کنید. پس از اتمام مراحل کلی در این آموزش ، گزینه های مختلفی برای تأیید اتصال خود به دیتابیس دارید ، یکی از احتمالات استفاده از کلاینت Prisma میباشد.
از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :
پارامترهای پیش فرض در جاوا اسکریپت – اجرای چندین نسخه PHP بر روی یک سرور Debian 10
نحوه راه اندازی یک پروژه React با برنامه React – نصب و ایمن سازی phpMyAdmin در اوبونتو 18
پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8 – تنظیم برنامه Node.js برای تولید در CentOS 7
نصب MariaDB در اوبونتو 18.04 – ایمن کردن Apache با Let’s Encrypt در Debian 10
نحوه نصب Node.js در CentOS 8 – بازنویسی URL را با mod_rewrite برای Apache در Debian 10
راه اندازی فایروال با استفاده از firewalld در CentOS 8 – نصب وب سرور Apache در Debian 10
اضافه کردن و حذف کاربران در CentOS 8 – نصب Apache Tomcat 9 در Debian 10
نصب و استفاده از PostgreSQL در CentOS 8 – راه اندازی سرور اولیه با Debian 10
نصب MariaDB در CentOS 8 – چگونه با JSX عناصر واقعی ایجاد کنیم
نصب و پیکربندی VNC در Debian 10 – استفاده از سرور از راه دور Docker
نصب و ایمن سازی Grafana در اوبونتو 18 – نحوه نصب Git در CentOS 8
نصب Git در Debian 10 – نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای
نحوه نصب Node.js در Debian 10 – نصب وب سرور Apache در CentOS 7
نحوه نصب Webmin در Debian 10 – نصب و پیکربندی Zabbix برای ردیابی ایمن سرور
نصب وردپرس با بانک اطلاعاتی در اوبونتو – ساخت و استقرار سرور GraphQL با Node.js و MongoDB
نصب پایتون 3 و تنظیم نویسی محلی macOS – نصب و ایمن سازی phpMyAdmin با Nginx در سرور
نصب Nagios 4 و نظارت بر سرور اوبونتو 18 – نصب Python 3 و تنظیم یک محیط برنامه نویسی
نحوه نصب R بر روی Debian 10 – راه اندازی سرور Prisma روی اوبونتو 18.04
نصب و پیکربندی Laravel با LEMP در اوبونتو 18 – نصب و پیکربندی pgAdmin 4 در Server Mode
نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – نصب Jitsi Meet در Ubuntu 18.04
کلمات کلیدی خرید سرور
خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان –
https://vpsgol.net/product/vps-germany/
https://vpsgol.net/product/vps-usa/
https://vpsgol.net/product/vps-france/
https://vpsgol.net/product/vps-canada/
https://vpsgol.net/product/vps-poland/
https://vpsgol.net/product/vps-netherlands/
https://vpsgol.net/product/vps-england/