انجین ایکس ( Nginx ) یکی از وب سرور هایی است که به تازگی بسیاری از مدیران سایت های پربازدید را به سوی خود جلب نموده است. انجین ایکس علاوه بر وب سرور، ریورس پراکسی سرور ( reverse proxy server ) و میل پراکسی سرور ( mail proxy server ) نیز می باشد که بصورت متن باز ( open source ) ارائه شده است و از پروتکل های http , https , SMTP , POP3 و IMAP پشتیبانی می کند. انجین ایکس به گونه ای طراحی شده است که همزمان با پشتیبانی از تعداد کانکشن های بسیار بالا ، عملکرد مناسب و مصرف کم رم را به همراه داشته باشد. این وب سرور محبوب بر روی سیستم عامل های مختلفی از جمله لینوکس ، mac os و سولاریس قابل نصب می باشد. nginx توسط ایگور سیسویو ( igor sysoev ) ساخته شده است، ایگور در سال ۱۹۷۰ در شهر آلماتی قزاقستان به دنیا آمده است و فارغ التحصیل دانشگاه ایالتی مسکو می باشد.
کار ساخت nginx از سال ۲۰۰۲ آغاز گردید و اولین نسخه آن در سال ۲۰۰۴ منتشر گردید. در حال حاضر نزدیک به ۱۲ درصد وب سایت های جهان یعنی چیزی در حدود ۲۲ میلیون وب سایت از nginx به عنوان وب سرور خود استفاده می کنند.
چگونه وب سرور Nginx را بر روی سرور لینوکس خود نصب نمائیم؟
خوشبختانه مدتی است که nginx پکیج باینری آن را از طریق ریپازیتوری nginx ارائه نموده است که این مهم نصب آن را بسیار تسهیل می نماید. در ادامه مراحل نصب آن را مرور می نمائیم:
– مرحل اول: نصب nginx repo
ابتدا دستور زیر را وارد نمائید:
۱ | cd /tmp |
اگر از نسخه centos 6 استفاده می کنید، دستورات زیر را وارد نمائید:
۱ ۲ | wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm rpm –ivh nginx–release–centos–۶–۰.el6.ngx.noarch.rpm |
– مرحله دوم: نصب وب سرور nginx
پس از نصب ریپو می توانید به کمک دستور زیر nginx را نصب نمائید:
۱ | yum install nginx |
احتمالا خروجی زیر را بر روی کنسول دریافت خواهید کرد:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱ ۳۲ ۳۳ ۳۴ ۳۵ ۳۶ ۳۷ ۳۸ ۳۹ ۴۰ ۴۱ ۴۲ ۴۳ ۴۴ ۴۵ ۴۶ ۴۷ ۴۸ ۴۹ ۵۰ ۵۱ ۵۲ ۵۳ | Loaded plugins: product–id, rhnplugin, security, subscription–manager Updating certificate–based repositories. Unable to read consumer identity nginx | ۱.۳ kB ۰۰:۰۰ nginx/primary | ۴.۸ kB ۰۰:۰۰ nginx ۳۳/۳۳ Setting up Install Process Resolving Dependencies —> Running transaction check —–> Package nginx.x86_۶۴ ۰:۱.۲.۶–۱.el6.ngx will be installed —> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: nginx x86_۶۴ ۱.۲.۶–۱.el6.ngx nginx ۳۶۱ k Transaction Summary ================================================================================ Install ۱ Package(s) Total download size: ۳۶۱ k Installed size: ۸۳۵ k Is this ok [y/N]: y Downloading Packages: nginx–۱.۲.۶–۱.el6.ngx.x86_64.rpm | ۳۶۱ kB ۰۰:۰۰ Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Warning: RPMDB altered outside of yum. Installing : nginx–۱.۲.۶–۱.el6.ngx.x86_64 ۱/۱ ——————————————————————————————————— Thanks for using NGINX! Check out our community web site: * <a href=“http://nginx.org/en/support.html” rel=“nofollow”>http://nginx.org/en/support.html</a> If you have questions about commercial support for NGINX please visit: * <a href=“http://www.nginx.com/support.html” rel=“nofollow”>http://www.nginx.com/support.html</a> ——————————————————————————————————— Installed products updated. Verifying : nginx–۱.۲.۶–۱.el6.ngx.x86_64 ۱/۱ Installed: nginx.x86_۶۴ ۰:۱.۲.۶–۱.el6.ngx Complete! |
– مرحله سوم : راه اندازی وب سرور
در این مرحله می بایست به کمک دستور زیر وب سرور را فعال نمائید:
۱ | chkconfig nginx on |
از دستورات زیر نیز می توانید برای متوقف کردن ، فعال کردن مجدد و یا مشاهده وضعیت آن استفاده فرمائید:
۱ ۲ ۳ ۴ ۵ | service nginx start service nginx stop service nginx restart service nginx status service nginx reload |
– مرحه چهارم : کانفیگ وب سرور
مسیر فایل های کانفیگ انجین ایکس را می توانید در زیر بیابید:
۱ ۲ ۳ ۴ ۵ ۶ ۷ | Default configuration directory: /etc/nginx/ Default SSL and vhost config directory: /etc/nginx/conf.d/ Default log file directory: /var/log/nginx/ Default document root directory: /usr/share/nginx/html Default configuration file: /etc/nginx/nginx.conf Default server access log file: /var/log/nginx/access.log Default server access log file: /var/log/nginx/error.log |
دستور زیر را برای ویرایش تنظیمات وب سرور وارد نمائید:
۱ | nano /etc/nginx/nginx.conf |
تعداد پردازشگر را اصلاح نموده و gzip را فعال نمائید:
۱ ۲ | worker_processes ۲; gzip on; |
فایل را بسته و فایل زیر را باز نمائید:
۱ | nano /etc/nginx/conf.d/default.conf |
نام سرور ، ای پی و پورت tcp را تنظیم نمائید:
۱ ۲ | listen ۲۰۲.۵۴.۱.۱.۱:۸۰; server_name www.host97.net; |
فایل را بسته و دستور زیر را اجرا نمائید:
۱ | service nginx start |
به کمک دستورات زیر بررسی کنید که آیا nginx بدرستی عمل می کند یا خیر:
۱ ۲ | netstat –tulpn | grep :۸۰ ps aux | grep nginx |
– مرحله پنجم : تنظیمات فایروال
فایل iptables را باز نمائید:
۱ | nano /etc/sysconfig/iptables |
برای بازنمودن پورت ۸۰ خط زیر را قبل از LOG انتهایی و خط DROP مربوط به INPUT chain قرار دهید:
۱ | –A INPUT –m state —state NEW –p tcp —dport ۸۰ –j ACCEPT |
دستور زیر را وارد نمائید:
۱ | service iptables restart |
– نصب وب سرور nginx بر روی دایرکت ادمین ( Directadmin ) :
اگر بر روی سرور خود دایرکت ادمین را نصب نموده اید و می خواهید از وب سرور انجین ایکس استفاده کنید، پس از اتصال به کنسول به مسیر زیر مراجعه نمائید:
۱ | cd /usr/local/directadmin/ |
در اینجا می بایست نسخه ۲ custombuild دایرکت ادمین را نصب کنید که البته از آنجایی که نسخه پایدار نمی باشد، ممکن است مشکلاتی را نیز به همراه داشته باشد، در صورت تمایل می توانید مراحل زیر را اجرا نمائید:
۱ ۲ ۳ ۴ ۵ | mv custombuild custombuild–۰۱ wget http://files.directadmin.com/services/custombuild/2.0/custombuild.tar.gz tar xvzf custombuild.tar.gz cd custombuild ./build |
حال با وارد کردن دستور زیر می توانید ویرایش custombuild را ملاحظه نمائید:
۱ | nano options.conf |
نتیجه باید به شرح زیر باشد:
۱ | #Custombuild optionscustombuild=2.0 |
حال مقدار وب سرور را از آپاچه ( Aapche ) به nginx تغییر دهید:
۱ | #HTTP server. Possible values: apache, nginxwebserver=apache |
همچنین مقدار php1_mode را به php-fpm تغییر دهید:
۱ | php1_mode=php–fpm |
حال دستور زیر را وارد نمائید:
۱ | ./build all –y |
در این مرحله احتمال دارد که نیاز به آپدیت لایسنس دایرکت ادمین وجود داشته باشد که در صورت نیاز می توانید از لینک زیر استفاده کنید:
با وارد کردن دستور زیر مراحل به اتمام خواهد رسید:
۱ | ./build rewrite_confs |
توجه :
خطا ۵۰۲ : اگر خطای “۵۰۲ Bad Gateway” را دریافت کردید، احتمالا مقدار hostname بدرستی وارد نشده است و می بایست اصلاح گردد.
خطای ۵۰۳ : اگر با این خطا روبرو شدید، دستور زیر را در سرور وارد نمائید:
۱ | chown webapps:nginx /var/www |