2 روش آسان برای نصب وب سرور Openresty در راکی لینوکس
11 ژانویه 2023
خواندن 3 دقیقه
ترلان شاهماری

2 روش آسان برای نصب وب سرور Openresty در راکی لینوکس

4/5 - (4 امتیاز)

وب سرور Openresty یک پلتفرم وب کامل بر مبنای Nginx است. این پلتفرم پیشرفته می تواند اسکریپت های زبان Lua را با استفاده از موتور LuaJIT خود اجرا کند. Openresty با در بر گرفتن ماژول های داخلی Nginx به یک وب سرور قدرتمند تبدیل شده است. همچنین، بسیاری از توسعه دهندگان به کمک این ابزار می توانند به راحتی برنامه ها و سرویس های وب مقیاس پذیر و gatewayهای پویا بسازند.

وب سرور Openresty چیست؟

همانطور که گفته شد، Openresty یک پلتفرم وب تمام عیار و نسخه پیشرفته Nginx می باشد. هدف این پلتفرم، اجرای برنامه وب server-side شما به طور کامل در Nginx می باشد و از مدل رویداد Nginx برای انجام ورودی ها و خروجی های non-blocking با کلاینت های HTTP و پشتیبان های راه دور مانند: MySQL, PostgreSQL, Memcached و Redis استفاده می کند. توجه داشته باشید که Openresty یک fork Nginx نیست بلکه یک پلتفرم برنامه و gateway سطح بالا است که از Nginx به عنوان مؤلفه استفاده می کند.

روش های نصب Openresty در راکی لینوکس

حال که تا حدودی با این ابزار آشنا شدید بیایید به روش نصب آن بپردازیم. البته باید برای نصب درست و آسان پیش نیازهای آن را دارا باشید که در اینجا به آنها اشاره شده است.

پیش نیازهای نصب Openresty 

  • سرور مناسب برای اجرای راکی لینوکس
  • رمزعبور root پیکربندی شده در سرور

روش اول: نصب Openresty با استفاده از مخازن YUM 

روش اول ما برای نصب Openresty در راکی لینوکس استفاده از مخازن YUM می باشد، که به صورت زیر است.

مرحله 1: افزودن مخازن Openresty در راکی لینوکس

با انجام این کار و افزودن مخازن این پلتفرم به سیستم خود می توانید به راحتی در آینده با استفاده از دستور yum update  ابزار Openresty را بروز رسانی کنید. مخازن مورد نظر در راکی لینوکس به صورت زیر اضافه می شود. همچنین، توجه داشته باشید که شما باید wget را با دستور sudo yum install wget نصب کنید:

wget https://openresty.org/package/centos/openresty.repo
sudo mv openresty.repo /etc/yum.repos.d/

حال باید با دستور زیر ایندکس بسته نصب YUM خود را بروز رسانی کنید:

sudo yum check-update

مرحله 2: نصب Openresty در راکی لینوکس با مخزن YUM

با گذراندن مراحل بالا اکنون شما آماده هستید تا Openresty را در سیستم راکی لینوکس خود به وسیله YUM نصب کنید:

sudo yum install openresty

نمودار درختی به صورت زیر نشان داده می شود: 

Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
openresty x86_64 1.19.9.1-1.el8 openresty 1.1 M
Installing dependencies:
openresty-openssl111 x86_64 1.1.1k-1.el8 openresty 1.6 M
openresty-pcre x86_64 8.44-1.el8 openresty 169 k
openresty-zlib x86_64 1.2.11-3.el8 openresty 59 k
Transaction Summary
================================================================================
Install 4 Packages

Total download size: 2.9 M
Installed size: 8.1 M
Is this ok [y/N]: y

حال با دستور مورد نظر به کلید GPG اجازه ورود دهید:

Importing GPG key 0xD5EDEB74:
Userid : "OpenResty Admin <[email protected]>"
Fingerprint: E522 18E7 0878 97DC 6DEA 6D6D 97DB 7443 D5ED EB74
From : https://openresty.org/package/pubkey.gpg
Is this ok [y/N]: y

ممکن است نیاز باشد که شما ابزار خط فرمان Openresty را نیز نصب کنید، که در این صورت به روش زیر اقدام خواهید کرد:

sudo yum install openresty-resty

سپس، تمام بسته های نصب در دسترس مخزن Openresty را با بکارگیری دستور مورد نیاز فهرست کنید:

sudo yum --disablerepo="*" --enablerepo="openresty" list available

 مرحله آخر: شروع و راه اندازی Openresty

پس از نصب موفقیت آمیز وب سرور Openresty در سیستم راکی لینوکس، اکنون می توانید این سرویس را با دستور زیر راه اندازی کنید:

sudo systemctl enable openresty
sudo systemctl start openresty

روش دوم: نصب Openresty در راکی لینوکس از طریق source code

روش دومی که برای نصب Openresty وجود دارد از طریق source code می باشد که مراحل نصب آن به صورت گام به گام در زیر برای شما نمایش داده شده است. 

مرحله 1: دانلود ابزار Openresty

ابتدا باید پیش نیازهای لازم برای نصب را به کمک دستور زیر نصب کنید:

sudo yum install pcre-devel openssl-devel gcc curl perl

توجه داشته باشید که اگر سرویس Nginx در سیستم شما در حال اجرا است باید اول آن را متوقف کنید. می توانید از دستورهای زیر استفاده کنید:

sudo systemctl disable nginx
sudo systemctl stop nginx

پس از طی کردن مراحل بالا، در این راهنما، اکنون پلتفرم وب Openresty را روی راکی لینوکس با استفاده از بسته های باینری نصب کنید. ابتدا باید آخرین بسته Openresty را از صفحه اصلی آن دانلود کنید. نسخه مورد نظر را می توان با استفاده از دستور wget زیر دانلود کرد. البته حتما باید wget روی سیستم شما نصب شده باشد که دستور آن به صورت sudo yum install wget است.

wget https://openresty.org/download/openresty-1.19.9.1.tar.gz

مرحله 2: نصب Openresty در راکی لینوکس با source code

پس از دانلود موفقیت آمیز tarball، باید با جابجایی openresty-VERSION.tar.gz با نسخه دانلود شده شما، tar را با استفاده از دستور sudo yum install tar نصب کنید:

tar -xvf openresty-VERSION.tar.gz

حالا با دستور زیر درون دایرکتوری پیمایش کنید:

cd openresty-VERSION/

در این قسمت، با دستور مناسب Openresty را ایجاد کنید: 

https://azarsys.com/wp-content/themes/azarsys/clientconfigure -j2
make -j2

 اکنون می توانید نصب را انجام دهید:

sudo make install

پس از اتمام نصب، باید Openresty حالت export را به مسیر این پلتفرم که به صورت فایل bashrc. /~ یا bash_profile. /~ می باشد، با دستور زیر اضافه کنید:

export PATH=/usr/local/openresty/bin:$PATH

به طور پیش فرض، Openresty در دایرکتوری /usr/local/openresty/ نصب می شود. سپس، باید ابزارهای خط فرمان ارائه شده را به مسیر این ابزار به صورت زیر اضافه کنید:

export PATH=/usr/local/openresty/bin:/usr/local/openresty/nginx/sbin:$PATH

مرحله 4: ایجاد سرویس systemd برای Openresty

در این مرحله، باید سرویس openresty را به عنوان یک سرویس systemd معمولی مدیریت کنید. یعنی جایی که ان را مانند سایر سرویس های systemd شروع، فعالسازی و مدیریت می کنید.

در نهایت با ایجاد یک سرویس systemd، حالت زیر به دست می آید:

sudo you /etc/systemd/system/openresty.service

در فایل ایجاد شده محتوای زیر را قرار دهید:

[Unit]
Description=A dynamic web platform based on Nginx and LuaJIT.
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/openresty/nginx/logs/nginx.pid
ExecStartPre=/usr/local/openresty/bin/openresty -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/local/openresty/bin/openresty -g 'daemon on; master_process on;'
ExecReload=/usr/local/openresty/bin/openresty -g 'daemon on; master_process on;' -s reload
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
TimeoutStopSec=5
KillMode=mixed
[Install]
WantedBy=multi-user.target

اکنون تغییرات را ذخیره کرده و خارج شوید. deamon را مجددا بارگذاری کنید:

sudo systemctl daemon-reload

سپس، می توانید سرویس Openresty را برای اجرا در هنگام بوت، راه اندازی و فعال کنید:

sudo systemctl enable openresty.service
sudo systemctl start openresty.service

با دستور زیر وضعیت سرویس Openresty را می توانید مشاهده کنید:

sudo systemctl status openresty

آزمایش Openresty با برنامه Hello World

یک راه ساده برای چاپ خروجی Hello World در ترمینال با استفاده از دستور resty وجود دارد که به صورت زیر می تون آن را انجام داد:

resty -e 'print("hello, world")'
hello, world

این خروجی را می تواند در سرور HTTP نیز به صورت زیر اجرا کرد:

در ابتدا، با نصب resty، محیط ابزار PATH باید به طور پیش فرض قابل مشاهده باشد. در غیر این صورت PATH باید به صورت زیر ایجاد شود: 

export PATH=/usr/local/openresty/bin:$PATH

پیشوند نصب پیش فرض برای Openresty به صورت دستور /usr/local/openresty/ است که فرض می کنیم شما از آن استفاده کرده اید.

آماده سازی طرح دایرکتوری

با دستور زیر می توانید یک دایرکتوری فعال برای آزمایش Openresty ایجاد کنید:

mkdir ~/work
cd ~/work
mkdir logs/ conf/

در این قسمت، دستور ایجاد دایرکتوری Logs برای ورود و Conf برای پیکربندی فایل ها نیز وجود دارد.

ایجاد فایل پیکربندی Nginx.conf

حال یک فایل پیکربندی با نام Nginx.conf در دایرکتوری ایجاد می کنیم:

sudo vi ~/work/conf/nginx.conf

سپس، محتوای زیر را اضافه کنید:

worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
server {
listen 8080;
location / {
default_type text/html;
content_by_lua_block {
ngx.say("<p>hello, world</p>")

حالا می توانید سرور Nginx را آغاز کنید:

با نصب Openresty در دایرکتوری usr/local/openresty/، اکنون می توانید سرور Nginx را به راحتی اجرا کنید:

PATH=/usr/local/openresty/nginx/sbin:$PATH
export PATH

سپس، با دستور زیر می توانید Nginx را آغاز کنید:

nginx -p `pwd`/ -c conf/nginx.conf

دسترسی به وب سرور Hello WORLD

اکنون می توانید با دستور curl به وب سرور دسترسی پیدا کنید:

resty -e 'print("hello, world")'
hello, world

این خروجی را می تواند در سرور HTTP نیز به صورت زیر اجرا کرد:

در ابتدا، با نصب resty، محیط ابزار PATH باید به طور پیش فرض قابل مشاهده باشد. در غیر این صورت PATH باید به صورت زیر ایجاد شود: 

export PATH=/usr/local/openresty/bin:$PATH

پیشوند نصب پیش فرض برای Openresty به صورت دستور /usr/local/openresty/ است که فرض می کنیم شما از آن استفاده کرده اید.

آماده سازی طرح دایرکتوری

با دستور زیر می توانید یک دایرکتوری فعال برای آزمایش Openresty ایجاد کنید:

mkdir ~/work
cd ~/work
mkdir logs/ conf/

در این قسمت، دستور ایجاد دایرکتوری Logs برای ورود و Conf برای پیکربندی فایل ها نیز وجود دارد.

ایجاد فایل پیکربندی Nginx.conf

حال یک فایل پیکربندی با نام Nginx.conf در دایرکتوری ایجاد می کنیم:

sudo vi ~/work/conf/nginx.conf

سپس، محتوای زیر را اضافه کنید:

worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
server {
listen 8080;
location / {
default_type text/html;
content_by_lua_block {
ngx.say("<p>hello, world</p>")

حالا می توانید سرور Nginx را آغاز کنید:

با نصب Openresty در دایرکتوری usr/local/openresty/، اکنون می توانید سرور Nginx را به راحتی اجرا کنید:

PATH=/usr/local/openresty/nginx/sbin:$PATH
export PATH

سپس، با دستور زیر می توانید Nginx را آغاز کنید:

nginx -p `pwd`/ -c conf/nginx.conf

دسترسی به وب سرور Hello WORLD

اکنون می توانید با دستور curl به وب سرور دسترسی پیدا کنید:

curl http://localhost:8080/

نکته: سرویس Openresty بر روی پورت 8080 اجرا می شود. می توانید از طریق فایروال برای پورت اقدام کنید:

sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

در نهایت با مرورگر خود و درج آدرس زیر به وب سرور دسترسی پیدا کنید:

http://IP_Address:8080/

Install OpenResty Web Platform on Rocky

Openresty که در اینجا به آن اشاره شده، وب سرور مناسبی برای اجرای برنامه های server-side در Nginx، درون سرورهای لینوکس می باشد و یک برنامه کامل است. شما می توانید برای استفاده از مزایای آن، سرورهای مجازی و یا سرورهای اختصاصی مناسب نیازهای خود را از سایت آذرسیس ما تهیه کنید و در صورت نیاز از راهنمایی ها و پشتیبانی کارشناسان ما بهره مند شوید. در صورت تمایل به خرید این سرورها می توانید یک تیکت به بخش پشتیبانی ارسال کنید.

نتیجه گیری

ما در این مقاله دو روش کاربردی برای نصب وب سرور Openresty را در راکی لینوکس برای شما آموزش دادیم. همچنین راهی را نشان دادیم تا شما بتوانید پس از نصب وب سرور خود را آزمایش کنید. اکنون می توانید به راحتی از این وب سرور در سیستم راکی لینوکس استفاده کنید. امیدواریم مقاله فوق برای شما مفید واقع شده باشد. از همراهی شما متشکریم.

لینک کوتاه مقاله
https://azarsys.com/?p=12500


نویسنده مقاله
مقالات مرتبط
دیدگاه بگذارید