وب سرور Open resty نسخه پیشرفته Nginx است! این پلتفرم پیشرفته می تواند اسکریپت های زبان Lua را با استفاده از موتور LuaJIT خود اجرا کند که با در بر گرفتن ماژول های داخلی Nginx به یک وب سرور قدرتمند تبدیل شده است، بسیاری از توسعه دهندگان به کمک این ابزار می توانند به راحتی برنامه ها و سرویس های وب مقیاس پذیر و Gateway های پویا بسازند و هدف این پلتفرم اجرای برنامه وب Server-Side شما به طور کامل در Nginx است. برای اطلاعات بیشتر در مورد نصب و پیش نیاز های نصب این پلتفرم از شما دعوت می کنیم تا با این مقاله از سری وبلاگ های آذرسیس همراه باشید …
فهرست مطالب
پیش نیازهای نصب
توجه داشته باشید که Openresty یک Fork Nginx نیست بلکه یک پلتفرم برنامه و Gateway سطح بالایی است که از Nginx به عنوان مؤلفه استفاده می کند و برای اینکه یک نصب خوبی داشته باشید، باید پیش نیاز های نصب را در نظر بگیرید و بعد از آن مراحل را پیش ببرید تا موردی پیش نیاید، پیش نیاز های این نصب دو مورد است که در ادامه به آن ها اشاره کرده ایم:
- سرور مناسب برای اجرای راکی لینوکس
- رمزعبور root پیکربندی شده در سرور
روش اول: نصب وب سرور با استفاده از مخازن YUM
روش اولی که برای نصب در راکی لینوکس در نظر گرفته ایم با استفاده از مخازن YUM می باشد که به صورت زیر است، برای اطلاعات بیشتر می توانید مراحل زیر را دنبال کنید.
1- افزودن مخازن Openresty در راکی لینوکس
با انجام این کار و افزودن مخازن این پلتفرم به سیستم خود می توانید به راحتی در آینده با استفاده از دستور yum update ابزار Open resty را بروز رسانی کنید. مخازن مورد نظر در راکی لینوکس به صورت زیر اضافه می شود. همچنین، توجه داشته باشید که شما باید 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- نصب Open resty با استفاده کردن از مخزن YUM
با گذراندن مراحل بالا اکنون شما آماده هستید تا Open resty را در سیستم راکی لینوکس خود به وسیله YUM نصب کنید:
sudo yum install open resty
نمودار درختی به صورت زیر نشان داده می شود که می توانید اطلاعات مورد نیاز را در این قسمت مشاهده کرده و ادامه نصب در این آموزش بروید:
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://open resty.org/package/pubkey.gpg
Is this ok [y/N]: y
ممکن است نیاز باشد که شما ابزار خط فرمان Open resty را نیز نصب کنید، که در این صورت به روش زیر اقدام خواهید کرد:
sudo yum install openresty-resty
سپس تمام بسته های نصب در دسترس مخزن Open resty را با به کار گیری دستور مورد نیاز فهرست کنید:
sudo yum --disablerepo="*" --enablerepo="openresty" list available
3- شروع و راه اندازی Open resty
پس از نصب موفقیت آمیز وب سرور Open resty در سیستم راکی لینوکس، اکنون می توانید این سرویس را با دستور زیر راه اندازی کنید:
sudo systemctl enable openresty
sudo systemctl start openresty
روش دوم: نصب از طریق Source Code
روش دومی که برای نصب این وب سرور بی نظیر وجود دارد از طریق Source Code می باشد که مراحل نصب آن به صورت گام به گام در زیر برای شما نمایش داده شده است. مراحل را به دقت پیش ببرید و از اطمینان کارایی آن ها شک نداشته باشید:
1- دانلود ابزار Open resty
ابتدا باید پیش نیازهای لازم برای نصب را به کمک دستور زیر نصب کنید تا بتوانید به مراحل بعدی بروید:
sudo yum install pcre-devel openssl-devel gcc curl perl
توجه داشته باشید که اگر سرویس Nginx در سیستم شما در حال اجرا است اول باید آن را متوقف کنید، برای این کار می توانید از دستورهای زیر استفاده کنید:
sudo systemctl disable nginx
sudo systemctl stop nginx
پس از طی کردن مراحل بالا در این راهنما، اکنون پلتفرم وب Open resty را روی راکی لینوکس با استفاده از بسته های باینری نصب کنید، ابتدا باید آخرین بسته Open resty را از صفحه اصلی آن دانلود کنید. نسخه مورد نظر را می توان با استفاده از دستور Wget زیر دانلود کرد، البته حتماً باید Wget روی سیستم شما نصب شده باشد که دستور آن به صورت Sudo Yum Install Wget است.
wget https://openresty.org/download/open resty-1.19.9.1.tar.gz
2- نصب با Source Code
پس از دانلود موفقیت آمیز Tarball باید با جابجایی Openresty-VERSION.tar.gz با نسخه دانلود شده شما، tar را با استفاده از دستور Sudo Yum Install Tar نصب کنید:
tar -xvf openresty-VERSION.tar.gz
حالا می توانید با دستور زیر درون دایرکتوری پیمایش کنید:
cd openresty-VERSION/
در این قسمت باید با دستور مناسب Open resty را ایجاد کنید:
./configure -j2
make -j2
اکنون پس از طی مراحل بالا زمان آن رسیده تا نصب خود را انجام دهید:
sudo make install
پس از اتمام نصب باید Open resty حالت Export را به مسیر این پلتفرم که به صورت فایل bashrc. /~ یا bash_profile. /~ می باشد، با دستور زیر اضافه کنید:
export PATH=/usr/local/openresty/bin:$PATH
به طور پیش فرض Open resty در دایرکتوری /usr/local/openresty/ نصب می شود، پس باید ابزارهای خط فرمان ارائه شده را به مسیر این ابزار به صورت زیر اضافه کنید:
export PATH=/usr/local/openresty/bin:/usr/local/openresty/nginx/sbin:$PATH
3- ایجاد سرویس Systemd برای Open resty
در این مرحله باید سرویس Open resty را به عنوان یک سرویس 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
سپس می توانید سرویس Open resty را برای اجرا در هنگام بوت راه اندازی و فعال کنید:
sudo systemctl enable openresty.service
sudo systemctl start openresty.service
با دستور زیر وضعیت سرویس را می توانید مشاهده کنید:
sudo systemctl status openresty
مراحل آزمایش Open resty با برنامه Hello World
یک راه ساده برای چاپ خروجی Hello World در ترمینال با استفاده از دستور Resty وجود دارد که در این آموزش برای اطلاع دقیق شما آورده شده است، این عمل را می توان به صورت زیر می توان آن را انجام داد:
resty -e 'print("hello, world")'
hello, world
این خروجی را می توانید در سرور HTTP نیز به صورت زیر اجرا کرد، در ابتدا با نصب Resty محیط ابزار PATH باید به طور پیش فرض قابل مشاهده باشد، در غیر این صورت PATH باید به صورت زیر ایجاد شود:
export PATH=/usr/local/open resty/bin:$PATH
پیشوند نصب پیش فرض برای Open resty به صورت دستور /usr/local/openresty/ است که فرض می کنیم شما از آن استفاده کرده اید.
1- آماده سازی طرح دایرکتوری
با دستور زیر می توانید یک دایرکتوری فعال برای آزمایش Open resty ایجاد کنید:
mkdir ~/work
cd ~/work
mkdir logs/ conf/
در این قسمت دستور ایجاد دایرکتوری Logs برای ورود و Conf برای پیکربندی فایل ها نیز وجود دارد.
2- ایجاد فایل پیکربندی 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 را آغاز کنید، بنابراین با نصب Open resty در دایرکتوری usr/local/openresty/ می توانید سرور Nginx را به راحتی اجرا کنید:
PATH=/usr/local/openresty/nginx/sbin:$PATH
export PATH
با دستور زیر می توانید Nginx را آغاز کنید:
nginx -p `pwd`/ -c conf/nginx.conf
3- دسترسی به وب سرور Hello WORLD
در این مرحله با استفاده کردن از خط زیر می توانید با دستور Curl به وب سرور دسترسی پیدا کنید:
resty -e 'print("hello, world")'
hello, world
این خروجی را می تواند در سرور HTTP نیز به صورت زیر اجرا کرد، اما دقت کنید که در ابتدا با نصب Resty محیط ابزار PATH باید به طور پیش فرض قابل مشاهده باشد، در غیر این صورت PATH باید به صورت زیر ایجاد شود:
export PATH=/usr/local/openresty/bin:$PATH
پیشوند نصب پیش فرض برای Open resty به صورت دستور /usr/local/openresty/ است که فرض می کنیم شما از آن استفاده کرده اید.
4- آماده سازی طرح دایرکتوری
با دستور زیر می توانید یک دایرکتوری فعال برای آزمایش ایجاد کنید:
mkdir ~/work
cd ~/work
mkdir logs/ conf/
در این قسمت از آموزش دستور ایجاد دایرکتوری Logs برای ورود و Conf برای پیکربندی فایل ها نیز وجود دارد.
5- ایجاد فایل پیکربندی 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 را آغاز کنید، با نصب Open resty در دایرکتوری usr/local/openresty/ اکنون می توانید سرور Nginx را به راحتی اجرا کنید:
PATH=/usr/local/openresty/nginx/sbin:$PATH
export PATH
سپس با دستور زیر می توانید Nginx را آغاز کنید:
nginx -p `pwd`/ -c conf/nginx.conf
6- دسترسی به وب سرور Hello WORLD
اکنون می توانید با دستور Curl به وب سرور دسترسی پیدا کنید:
curl http://localhost:8080/
نکته: سرویس Open resty بر روی پورت 8080 اجرا می شود که می توانید از طریق فایروال برای پورت اقدام کنید:
sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
در نهایت با مرورگر خود و درج آدرس زیر به وب سرور دسترسی پیدا کنید:
http://IP_Address:8080/
نکته مهم! همان طور که پیش تر نیز اشاره شد Openresty یک برنامه کامل است و علاوه بر آن در این مقاله به این مورد نیز اشاره شده که وب سرور مناسبی برای اجرای برنامه های Server-Side در Nginx، درون سرورهای لینوکس می باشد. شما می توانید برای استفاده از مزایا این وب سرور، سرورهای مجازی و یا سرورهای اختصاصی مناسب نیازهای خود را از سایت آذرسیس تهیه کنید. سرویس های خدماتی شرکت هاستینگ آذرسیس همواره در سطح جهانی با هزینه های مقرون به صرفه است که با پشتیبانی 7/24 و تحویل آنی رضایت کاربران را در اولویت کاری خود قرار داده است.
سخن آخر
ما در این مقاله تلاش کردیم تا راهی را نشان دهیم تا شما بتوانید پس از نصب وب سرور خود را آزمایش کنید و یک نصب ایمن را تجربه کنید. اکنون دیگر شما می توانید به راحتی از این وب سرور جذاب در سیستم راکی لینوکس خود استفاده کرده و از مزیت های اعجاب انگیز آن در یک سیستم استفاده کنید. از اینکه تا پایان این مقاله نیز همراه ما بودید کمال تشکر را داریم. در صورت بروز هرگونه ایراد یا اشکالی می توانید از طریق ارسال دیدگاه با کارشناسان آذرسیس در ارتباط باشید، برای حمایت از ما ستاره های بالای مقاله رو رنگی کنید!