سیستم های مدیریت پایگاه داده رابطه ای عنصر اصلی بسیاری از وب سایت ها و برنامه ها هستند. این سیستم ها روشی ساختاری برای ذخیره ، سازماندهی و دسترسی به اطلاعات را ارائه می دهند.
PostgreSQL ، که به Postgres نیز شناخته می شود ، یک سیستم مدیریت پایگاه داده رابطه ای است که پیاده سازی یک زبان جستجوی ساختاری را ارائه می دهد ، که بیشتر با عنوان SQL شناخته می شود. توسط بسیاری از پروژه های محبوب ، اعم از بزرگ و کوچک استفاده می شود ، مطابق با استاندارد است و دارای بسیاری از ویژگی های پیشرفته مانند تراکنش های قابل اعتماد و همزمانی بدون قفل های خواندن است.
با دنبال کردن این راهنما ، آخرین نسخه PostgreSQL را روی یک سرور مجازی CentOS 8 نصب خواهید کرد.
پیش نیازها
برای تکمیل این آموزش ، به سرور مجازی دارای CentOS 8 نیاز خواهید داشت. این سرور مجازی باید دارای کاربرغیر ریشه با امتیازات ادمین و فایروال تنظیم شده با firewalld باشد. برای انجام این کار، به راهنمای تنظیم اولیه سرور مجازی ما برای CentOS 8 مراجعه کنید.
مرحله 1 – نصب PostgreSQL
PostgreSQL از مخزن پیش فرض نرم افزار AppStream CentOS 8 در دسترس است ، و نسخه های مختلفی وجود دارد که می توانید آنها را نصب کنید. با فعال کردن مجموعه مناسب بسته ها و متعلقاتی که با نسخه ای که می خواهید نصب کنید مطابق است و هر مجموعه یک module stream گفته می شود ، می توانید یکی از این نسخه ها انتخاب کنید.
در DNF ، مدیر بسته پیش فرض CentOS 8 ، ماژول ها مجموعه های ویژه بسته های RPM هستند که در کنار هم یک برنامه بزرگتر را تشکیل می دهند. انتظار میرود نصب بسته ها و متعلقات آنها برای کاربران بصری تر نمایند.
با استفاده از دستور dnf ، جریانهای موجود برای ماژول postgresql را لیست کنید:
$ dnf module list postgresql
Output
postgresql 9.6 client, server [d] PostgreSQL server and client module
postgresql 10 [d] client, server [d] PostgreSQL server and client module
postgresql 12 client, server
در این خروجی مشاهده می کنید که سه نسخه PostgreSQL از مخزن AppStream موجود است: 9.6 ، 10 و 12. جریانی که Postgres نسخه 10 را ارائه می دهد پیش فرض است ، همانطور که توسط [d] در زیر آن نشان داده شده است. اگر می خواهید آن نسخه را نصب کنید ، می توانید sudo dnf install postgresql-server را نصب کنید و به مرحله بعد بروید. با این وجود ، حتی اگر نسخه 10 همچنان حفظ شود ، این آموزش Postgres نسخه 12 را ، که آخرین نسخه در زمان نوشتن این مقاله است ، نصب می کند.
برای نصب PostgreSQL نسخه 12 ، باید جریان ماژول آن نسخه را فعال کنید. وقتی یک جریان ماژول را فعال می کنید ، جریان پیش فرض را لغو می کنید و تمام بسته های مربوط به جریان فعال شده را روی سیستم در دسترس می کنید. توجه داشته باشید که فقط یک جریان از هر ماژول معین می تواند همزمان در یک سیستم فعال شود.
برای فعال کردن جریان ماژول برای Postgres نسخه 12 ، دستور زیر را اجرا کنید:
$ sudo dnf module enable postgresql:12
وقتی از شما خواسته شد ، y و سپس ENTER را بزنید تا تأیید کنید که می خواهید جریان را فعال کنید ،:
Output
====================================================================
Package Architecture Version Repository Size
====================================================================
Enabling module streams:
postgresql 12
Transaction Summary
====================================================================
Is this ok [y/N]: y
بعد از فعال کردن جریان ماژول نسخه 12 ، می توانید بسته postgresql-server را نصب کنید تا PostgreSQL 12 و تمام وابستگی های آن را نصب کنید:
$ sudo dnf install postgresql-server
به محض دیدن اعلان ، نصب را با فشار دادن y و سپس enter تایید کنید:
Output
. . .
Install 4 Packages
Total download size: 16 M
Installed size: 62 M
Is this ok [y/N]: y
اکنون که نرم افزار نصب شده است ، برای تهیه خوشه پایگاه داده جدید برای PostgreSQL مراحل ابتدایی را انجام می دهید.
مرحله 2 – ایجاد یک خوشه پایگاه داده PostgreSQ جدید
قبل از شروع ایجاد جدول ها و لود آنها با داده ها ، باید یک پایگاه داده جدید PostgreSQL ایجاد کنید. یک خوشه بانک اطلاعاتی مجموعه ای از بانکهای داده است که توسط یک سرور مجازی واحد مدیریت می شود. ایجاد یک خوشه دیتابیس شامل ایجاد دایرکتوری هایی است که داده های پایگاه داده در آنها قرار می گیرند ، و جداول کاتولوگ اشتراکی و پایگاه داده های template1 و postgres تولید میکند.
بانک اطلاعاتی template1 الگویی از انواع استفاده شده برای ایجاد پایگاه داده های جدید است. همه مواردی که در template1 ذخیره می شوند ، حتی اشیایی که خودتان اضافه می کنید ، هنگام ایجاد در پایگاه داده های جدید قرار می گیرند. بانک اطلاعاتی postgres یک پایگاه داده پیش فرض است که برای استفاده کاربران ، برنامه های کاربردی و برنامه های شخص ثالث طراحی شده است.
بسته Postgres که در مرحله قبل نصب کردیم همراه با یک اسکریپت مفید به نام postgresql-setup است که به مدیریت خوشه پایگاه داده سطح پایین کمک می کند. برای ایجاد یک خوشه پایگاه داده ، اسکریپت را با استفاده از sudo و با گزینه –initdb اجرا کنید:
$ sudo postgresql-setup –initdb
خروجی زیر را مشاهده خواهید کرد:
Output
* Initializing database in ‘/var/lib/pgsql/data’
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
اکنون سرویس PostgreSQL را با استفاده از systemctl شروع کنید:
$ sudo systemctl start postgresql
سپس ، یک بار دیگر از systemctl استفاده کنید تا با بوت شدن سرور این سرویس را فعال کنید:
$ sudo systemctl enable postgresql
این کار خروجی زیر را خواهد داد:
Output
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service.
اکنون که PostgreSQL به روز و در حال اجرا است، با استفاده از نقش ها یاد خواهیم گرفت که Postgres چگونه کار می کند و تفاوت آن با سیستم های مدیریت پایگاه داده مشابه شما که ممکن است در گذشته استفاده کرده باشید، چیست.
مرحله 3 – استفاده از نقشها و بانکهای اطلاعاتی PostgreSQL
PostgreSQL از مفهومی به نام نقشها (roles) برای مدیریت احراز هویت و مجوزهای کلاینت استفاده می کند. اینها به نوعی شبیه به حسابهای معمولی به سبک یونیکس هستند ، اما Postgres بین کاربران و گروه ها فرق نمی گذارد و در عوض نقش انعطاف پذیر تر را ترجیح می دهد.
پس از نصب ، Postgres برای استفاده از احراز هویت تنظیم میشود ، به این معنی که نقش های Postgres را با یک حساب کاربری سیستم Unix / Linux مرتبط می کند. اگر نقشی در Postgres وجود داشته باشد ، یک نام کاربری یونیکس / لینوکس با همین نام قادر به ورود به عنوان آن نقش است.
روش نصب یک حساب کاربری به نام postgres ایجاد کرده است که با نقش Postgres پیش فرض در ارتباط است. به منظور استفاده از PostgreSQL ، می توانید وارد آن حساب شوید.
چند روش برای استفاده از این حساب برای دسترسی به اعلان PostgreSQL وجود دارد.
انتقال به حساب Postgres
با تایپ کردن دستور زیر به حساب Postgres در سرور مجازی خود سوییچ کنید:
$ sudo -i -u postgres
اکنون می توانید با تایپ این دستور سریعا به اعلان (عکس العمل) Postgres دسترسی پیدا کنید:
[postgres@server ~$] psql
با این کار شما وارد اعلان PostgreSQL می شوید و از اینجا می توانید بلافاصله با سیستم مدیریت بانک اطلاعاتی ارتباط برقرار کنید.
با تایپ کردن دستور زیر از اعلان PostgreSQL خارج شوید:
Postgres=# \q
این دستور شما را به اعلان (prompt) فرمان Linux در حساب postgres برمیگرداند. اکنون با دستور زیر به حساب اصلی خود برگردید:
[postgres@server ~$] exit
دسترسی به یک اعلان Postgres بدون تعویض حساب
همچنین می توانید با استفاده از sudo دستوراتی را با حساب postgres به طور مستقیم اجرا کنید.
به عنوان مثال ، در مثال قبلی ، به شما اعلان شد که ابتدا با سوییچ کردن به کاربر postgres و سپس اجرای psql برای باز کردن سریع Postgres ، به اعلان Postgres دسترسی پیدا کنید. راه دیگر اینکه، می توانید این کار را در یک مرحله با اجرای تک فرمان psql به عنوان کاربر postgres با sudo انجام دهید ، مانند این:
$ sudo -u postgres psql
با این کار شما مستقیماً بدون پوسته واسطه bash وارد Postgres می شوید.
دوباره می توانید با تایپ کردن دستور زیر از بخش Postgres تعاملی خارج شوید:
Postgres=# \q
در این مرحله از حساب Postgres برای دستیابی به اعلان psql استفاده کردید. اما بسیاری از موارد استفاده به بیش از یک نقش Postgres نیاز دارد. برای یادگیری چگونگی پیکربندی نقشهای جدید ، ادامه مطلب را بخوانید.
مرحله 4 – ایجاد نقش جدید
در حال حاضر ، شما فقط نقش Postgres را در پایگاه داده پیکربندی کرده اید. می توانید با استفاده از دستور Createrole نقش های جدیدی را از خط فرمان ایجاد کنید. پرچم –interactive، نام نقش جدید را از شما میخواهد و همچنین میپرسد که آیا مجوزهای superuser دارد یا خیر.
اگر به عنوان حساب postgres وارد شوید ، می توانید با تایپ کردن این دستور کاربر جدیدی ایجاد کنید:
[postgres@server ~$] createuser –interactive
اگر ترجیح می دهید بدون تغییر حساب کاربری خود از sudo برای هر دستور استفاده کنید ، این دستور را تایپ کنید:
$ sudo -u postgres createuser –interactive
این اسکریپت با انتخاب های مختلف اعلان هایی را به شما نشان میدهد و بر اساس پاسخ های شما ، دستورات Postgres لازم را برای ایجاد یک کاربر به مشخصات شما را اجرا می کند. برای این آموزش ، نقشی به نام sammy ایجاد کنید و با وارد کردن y در هنگام درخواست ، امتیازات فوق کاربری به آن بدهید:
Output
Enter name of role to add: sammy
Shall the new role be a superuser? (y/n) y
با وارد کردن برخی پرچم های اضافی می توانید کنترل بیشتری به دست آورید. گزینه ها را با مراجعه به صفحه man برای createuser بررسی کنید:
$ man createuser
نصب شما در Postgres اکنون نقش جدیدی دارد ، اما شما هنوز هیچ پایگاه داده ای اضافه نکرده اید. در بخش بعدی این روند توضیح داده شده است.
مرحله 5 – ایجاد یک پایگاه داده جدید
فرض دیگری که سیستم تأیید اعتبار Postgres بصورت پیش فرض انجام می دهد این است که برای هر نقشی که برای ورود به سیستم استفاده می شود ، آن نقش یک بانک اطلاعاتی با همان نام دارد که می تواند به آن دسترسی داشته باشد.
این بدان معنی است که اگر کاربری که در آخرین بخش ایجاد کرده اید ، Sammy نامیده شود ، آن نقش سعی خواهد کرد به بانک اطلاعاتی وصل شود که به طور پیش فرض نیز sammy نامیده می شود. می توانید با استفاده از دستور createdb چنین بانک اطلاعاتی را ایجاد کنید.
اگر به عنوان حساب postgres وارد شوید ، می توانید چیزی مانند این دستور را تایپ کنید:
[postgres@server ~$] createdb sammy
و اگر ترجیح می دهید بدون تغییر از حساب عادی خود ، از sudo برای هر فرمان استفاده کنید ، تایپ کنید:
$ sudo -u postgres createdb sammy
این انعطاف پذیری در صورت نیاز چندین دیتابیس ایجاد می کند.
اکنون که یک پایگاه داده جدید ایجاد کرده اید ، با نقش جدید خود وارد آن خواهید شد.
مرحله ششم – باز کردن یک اعلان Postgres با نقش جدید
برای ورود به تأیید هویت مبتنی بر شناسایی ، به یک کاربر لینوکس با همان نام و نقش بانک اطلاعاتی Postgres خود نیاز دارید.
اگر یک کاربر مطابق لینوکس در دسترس ندارید ، می توانید با دستور adduser آن را ایجاد کنید. باید این کار را از حساب غیر ریشه خود با امتیازات sudo انجام دهید (به این معنی که به عنوان کاربر postgres وارد نشوید):
$ sudo adduser sammy
به محض در دسترس بودن این حساب جدید ، می توانید با تایپ کردن دستور زیر به دیتابیس وصل شوید:
$ sudo -i -u sammy
psql
یا می توانید این کار را بصورت درون خطی انجام دهید:
$ sudo -u sammy psql
این دستور شما را به طور خودکار وارد می کند.
اگر می خواهید کاربر شما به یک پایگاه داده دیگر متصل شود ، می توانید با قرار دادن پرچم -d و مشخص کردن بانک اطلاعاتی ، این کار را انجام دهید:
[sammy@server ~$] psql -d postgres
پس از ورود به سیستم ، می توانید اطلاعات مربوط به اتصال فعلی خود را با تایپ کردن دستور زیر بررسی کنید:
Sammy=# \conninfo
این کار خروجی زیر را نشان می دهد:
Output
You are connected to database “sammy” as user “sammy” via socket in “/var/run/postgresql” at port “5432”.
این امر در صورت اتصال به پایگاه داده های غیر پیش فرض یا با کاربران غیر پیش فرض مفید است.
با اتصال به پایگاه داده خود ، اکنون می توانید جداول ایجاد و حذف را امتحان کنید.
مرحله 7 – ایجاد و حذف جداول
اکنون که می دانید چگونه به سیستم پایگاه داده PostgreSQL وصل شوید ، می توانید برخی از وظایف اساسی مدیریت Postgres را یاد بگیرید.
ابتدا یک جدول برای ذخیره برخی داده ها ایجاد کنید. به عنوان نمونه ، جدولی را تهیه خواهید کرد که برخی از تجهیزات زمین بازی را شرح می دهد.
ترکیب اصلی این دستور به شرح زیر است:
CREATE TABLE table_name (
column_name1 col_type (field_length) column_constraints,
column_name2 col_type (field_length),
column_name3 col_type (field_length)
);
این دستورات به جدول اسمی می دهند و سپس ستون ها و همچنین نوع ستون و حداکثر طول داده های فیلد را مشخص می کنند. همچنین می توانید محدودیت های جدول را برای هر ستون به صورت اختیاری اضافه کنید.
برای اهداف نمایشی ، یک جدول ساده مانند این ایجاد کنید:
Sammy=# CREATE TABLE playground (
Sammy=# equip_id serial PRIMARY KEY,
Sammy=# type varchar (50) NOT NULL,
Sammy=# color varchar (25) NOT NULL,
Sammy=# location varchar(25) check (location in (‘north’, ‘south’, ‘west’, ‘east’, ‘northeast’, ‘southeast’, ‘southwest’, ‘northwest’)),
Sammy=# install_date date
Sammy=# );
این دستور جدولی تشکیل می دهد که تجهیزات زمین بازی را لیست میکند. با شناسه وسایل شروع میشود که از نوع سریال است. این نوع داده عدد صحیح افزایشی میباشد که به صورت خودکار بالا میرود. همچنین به این ستون همکاری قید فرضی PRIMARY KEY را داده اید، به این معنی که مقادیر باید منحصر به فرد باشند و تهی نباشند.
برای دو ستون (equip_id و install_date) ، دستور طول فیلد را مشخص نمی کند. این امر به این دلیل است که برخی از انواع ستونها به طول مشخص نیاز ندارند زیرا طول با نوع داده مشخص میشود.
دو خط بعدی به ترتیب ستون نوع و رنگ تجهیزات را ایجاد می کنند که هر یک از آنها نمی تواند خالی باشد. خط بعد از اینها یک ستون موقعیت مکانی و محدودیتی ایجاد می کند که نیاز دارد این مقدار یکی از هشت مقدار ممکن باشد. خط آخر یک ستون تاریخ ایجاد می کند که تاریخ نصب تجهیزات را ثبت می نماید.
می توانید جدول جدید خود را با تایپ کردن این دستور مشاهده کنید:
Sammy=# \d
خروجی زیر را نشان می دهد:
Output
List of relations
Schema | Name | Type | Owner
——–+————————-+———-+——-
public | playground | table | sammy
public | playground_equip_id_seq | sequence | sammy
(2 rows)
جدول زمین بازی شما آماده است ، اما چیزی به نام playground_equip_id_seq نیز وجود دارد که از نوع sequence است. در واقع نمایشی از نوع سریال است که شما به ستون equip_id خود داده اید. این متغیر شماره بعدی را در توالی دنبال می کند و به طور خودکار برای ستون های این نوع ایجاد می شود.
اگر می خواهید فقط جدول بدون ترتیب را ببینید ، می توانید تایپ کنید:
Sammy=# \dt
خروجی به شرح زیر است:
Output
List of relations
Schema | Name | Type | Owner
——–+————+——-+——-
public | playground | table | sammy
(1 row)
در این مرحله یک جدول نمونه ایجاد کرده اید. در مرحله بعد ، اضافه کردن ، جستجو و حذف مطالب در آن جدول را امتحان خواهید کرد.
مرحله 8 – افزودن ، جستجو و حذف داده ها در یک جدول
اکنون که جدولی دارید ، می توانید برخی از داده ها را در آن وارد کنید.
به عنوان نمونه ، با فراخوانی جدول مورد نظر برای افزودن داده، نامگذاری ستون ها ، و سپس تهیه داده برای هر ستون ، یک اسلاید و چرخش را اضافه کنید:
Sammy=# INSERT INTO playground (type, color, location, install_date) VALUES (‘slide’, ‘blue’, ‘south’, ‘2017-04-28’);
Sammy=# INSERT INTO playground (type, color, location, install_date) VALUES (‘swing’, ‘yellow’, ‘northwest’, ‘2018-08-16’);
باید هنگام وارد کردن داده ها مراقب باشید تا از چند مشکل معمول خودداری کنید. اولا نام ستون ها را در علامت نقل قول قرار ندهید، اما مقادیر ستونی که وارد می کنید به نقل قول نیاز دارند.
نکته دیگری که باید در نظر داشته باشید این است که برای ستون equip_id مقداری وارد نمی کنید. به این دلیل است که هر زمان که یک ردیف جدید در جدول ایجاد شود ، بطور خودکار تولید می شود.
با تایپ کردن دستور زیر، اطلاعاتی که اضافه کرده اید بازیابی کنید:
Sammy=# SELECT * FROM playground;
خروجی زیر را مشاهده خواهید کرد:
Output
equip_id | type | color | location | install_date
———-+——-+——–+———–+————–
1 | slide | blue | south | 2017-04-28
2 | swing | yellow | northwest | 2018-08-16
(2 rows)
در اینجا ، می بینید که equip_id شما با موفقیت پر شده است و تمام داده های دیگر شما به درستی سازماندهی شده اند.
اگر اسلاید روی زمین بازی متوقف شد و مجبور شدید آن را حذف کنید ، می توانید با تایپ کردن دستور زیر، آن سطر را از جدول خود حذف کنید:
Sammy=# DELETE FROM playground WHERE type = ‘slide’;
جدول را دوباره جستجو کنید:
Sammy=# SELECT * FROM playground;
خروجی زیر را مشاهده خواهید کرد:
Output
equip_id | type | color | location | install_date
———-+——-+——–+———–+————–
2 | swing | yellow | northwest | 2018-08-16
(1 row)
توجه کنید که اسلاید شما دیگر جزئی از جدول نیست.
اکنون که مطالب موجود در جدول خود را اضافه و حذف کرده اید ، می توانید ستون ها را اضافه و حذف کنید.
مرحله 9 – اضافه کردن و حذف ستون ها از یک جدول
پس از ایجاد جدول ، می توانید آن را تغییر دهید تا ستون هایی اضافه یا حذف شوند. برای نمایش آخرین بازدید از هر قطعه تجهیزات ، یک ستون اضافه کنید:
Sammy=# ALTER TABLE playground ADD last_maint date;
اگر اطلاعات جدول خود را دوباره مشاهده کنید ، می بینید که ستون جدید اضافه شده است (اما هیچ داده ای وارد نشده است):
Sammy=# SELECT * FROM playground;
خروجی زیر را مشاهده خواهید کرد:
Output
equip_id | type | color | location | install_date | last_maint
———-+——-+——–+———–+————–+————
2 | swing | yellow | northwest | 2018-08-16 |
(1 row)
حذف ستون به همین سادگی است. اگر متوجه شدید که خدمه کاری شما از یک ابزار جداگانه برای پیگیری تاریخچه نگهداری استفاده می کنند ، می توانید ستون را با تایپ کردن این دستور حذف کنید:
Sammy=# ALTER TABLE playground DROP last_maint;
این ستون last_maint و مقادیر موجود در آن را حذف می کند ، اما تمام داده های دیگر را دست نخورده نگه میدارد.
با افزودن ستونهای اضافه و حذف شده ، می توانید داده های موجود را در مرحله آخر به روز کنید.
مرحله 10 – به روزرسانی داده ها در یک جدول
تاکنون یاد گرفته اید که چگونه می توانید سوابق را به یک جدول اضافه کنید و چگونه آنها را حذف کنید ، اما این آموزش هنوز نحوه تغییر ورودی های موجود را پوشش نداده است.
می توانید مقادیر ورودی موجود را با جستجوی رکورد مورد نظر خود به روز کنید و ستون را روی مقدار مورد نظر خود تنظیم کنید. می توانید سوابق swing (که مطابق هر نوسان در جدول است) را جستجو کنید و رنگ آن را به قرمز تغییر دهید:
Sammy=# UPDATE playground SET color = ‘red’ WHERE type = ‘swing’;
با جستار دوباره داده ها ، می توانید تأیید کنید که این عملیات با موفقیت انجام شد:
Sammy=# SELECT * FROM playground;
خروجی زیر را مشاهده خواهید کرد:
Output
equip_id | type | color | location | install_date
———-+——-+——-+———–+————–
2 | swing | red | northwest | 2010-08-16
(1 row)
همانطور که می بینید ، اسلاید شما اکنون به رنگ قرمز ثبت شده است.
نتیجه
اکنون PostgreSQL را در سرور مجازی CentOS 8 خود تنظیم کرده اید. با این حال ، هنوز هم موارد بیشتری برای یادگیری در مورد Postgres وجود دارد. در اینجا چند راهنمای دیگر که نحوه استفاده از Postgres را پوشش می دهند آورده شده است:
• مقایسه سیستم های مدیریت پایگاه داده رابطه ای
• جزییات اجرای جستارها در PostgreSQL
از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :
پارامترهای پیش فرض در جاوا اسکریپت – اجرای چندین نسخه 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/