انجین ایکس ( Nginx ) یکی از وب سرور هایی است که به تازگی بسیاری از مدیران سایت های پربازدید را به سوی خود جلب نموده است. انجین ایکس علاوه بر وب سرور، ریورس پراکسی سرور ( reverse proxy server ) و میل پراکسی سرور ( mail proxy server ) نیز می باشد که بصورت متن باز ( open source ) ارائه شده است و از پروتکل های http , https , SMTP , POP3 و IMAP پشتیبانی می کند. انجین ایکس به گونه ای طراحی شده است که همزمان با پشتیبانی از تعداد کانکشن های بسیار بالا ، عملکرد مناسب و مصرف کم رم را به همراه داشته باشد. این وب سرور محبوب بر روی سیستم عامل های مختلفی از جمله لینوکس ، mac os و سولاریس قابل نصب می باشد. nginx توسط ایگور سیسویو ( igor sysoev ) ساخته شده است، ایگور در سال 1970 در شهر آلماتی قزاقستان به دنیا آمده است و فارغ التحصیل دانشگاه ایالتی مسکو می باشد.
کار ساخت nginx از سال 2002 آغاز گردید و اولین نسخه آن در سال 2004 منتشر گردید. در حال حاضر نزدیک به 12 درصد وب سایت های جهان یعنی چیزی در حدود 22 میلیون وب سایت از 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-6-0.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 | 1.3 kB 00:00 nginx/primary | 4.8 kB 00:00 nginx 33/33 Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package nginx.x86_64 0:1.2.6-1.el6.ngx will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: nginx x86_64 1.2.6-1.el6.ngx nginx 361 k Transaction Summary ================================================================================ Install 1 Package(s) Total download size: 361 k Installed size: 835 k Is this ok [y/N]: y Downloading Packages: nginx-1.2.6-1.el6.ngx.x86_64.rpm | 361 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Warning: RPMDB altered outside of yum. Installing : nginx-1.2.6-1.el6.ngx.x86_64 1/1 ---------------------------------------------------------------------- Thanks for using NGINX! Check out our community web site: * http://nginx.org/en/support.html If you have questions about commercial support for NGINX please visit: * http://www.nginx.com/support.html ---------------------------------------------------------------------- Installed products updated. Verifying : nginx-1.2.6-1.el6.ngx.x86_64 1/1 Installed: nginx.x86_64 0:1.2.6-1.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 2; gzip on;
فایل را بسته و فایل زیر را باز نمائید:
nano /etc/nginx/conf.d/default.conf
نام سرور ، ای پی و پورت tcp را تنظیم نمائید:
listen 202.54.1.1.1:80; server_name www.host97.net;
فایل را بسته و دستور زیر را اجرا نمائید:
service nginx start
به کمک دستورات زیر بررسی کنید که آیا nginx بدرستی عمل می کند یا خیر:
netstat -tulpn | grep :80 ps aux | grep nginx
– مرحله پنجم : تنظیمات فایروال
فایل iptables را باز نمائید:
nano /etc/sysconfig/iptables
برای بازنمودن پورت 80 خط زیر را قبل از LOG انتهایی و خط DROP مربوط به INPUT chain قرار دهید:
-A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
دستور زیر را وارد نمائید:
service iptables restart
– نصب وب سرور nginx بر روی دایرکت ادمین ( Directadmin ) :
اگر بر روی سرور خود دایرکت ادمین را نصب نموده اید و می خواهید از وب سرور انجین ایکس استفاده کنید، پس از اتصال به کنسول به مسیر زیر مراجعه نمائید:
cd /usr/local/directadmin/
در اینجا می بایست نسخه 2 custombuild دایرکت ادمین را نصب کنید که البته از آنجایی که نسخه پایدار نمی باشد، ممکن است مشکلاتی را نیز به همراه داشته باشد، در صورت تمایل می توانید مراحل زیر را اجرا نمائید:
mv custombuild custombuild-01 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
توجه :
خطا 502 : اگر خطای “502 Bad Gateway” را دریافت کردید، احتمالا مقدار hostname بدرستی وارد نشده است و می بایست اصلاح گردد.
خطای 503 : اگر با این خطا روبرو شدید، دستور زیر را در سرور وارد نمائید:
chown webapps:nginx /var/www
سلام
آموزش خوبیه
برای استفاده از انجین ایکس نیاز به لایسنس نداریم؟
من دیدم بعضی جاها لایسنسشو میفروشن!
چه کنیم؟
درود
میتوانید بصورت reverse pro-xy نصب و استفاده کنید