کار ساخت nginx از سال ۲۰۰۲ آغاز گردید و اولین نسخه آن در سال ۲۰۰۴ منتشر گردید. در حال حاضر نزدیک به ۱۲ درصد وب سایت های جهان یعنی چیزی در حدود ۲۲ میلیون وب سایت از nginx به عنوان وب سرور خود استفاده می کنند.
چگونه وب سرور Nginx را بر روی سرور لینوکس خود نصب نمائیم؟
در این آموزش به نصب LEMP بروی سرورهای ابونتو با استفاده از دستور apt می پردازیم .
گام اول :نصب NGINX
برای شروع ترمینال خود را باز کرده و دستورات زیر را تایپ می کنیم .
sudo apt-get update sudo apt-get install nginx
در صورتی که firewall ufw استفاده می کنید کد زیر را بزنید
sudo ufw allow 'Nginx HTTP'
با کذ زیر می توانید ازufw خود مطلع شوید
sudo ufw status
خروجی باید به شرح زیر باشد
Output Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
درصورتی که در حال حاضر سرور apache را نصب کرده اید با کد زیر آن را stop کنید و سرویس ngnix را اجرا کنید :
service apache2 stop service ngnix start
در کد اول آپاچی متوقف می شود و در کد دوم ngnix شروع به کار می کند .
در صورتی که ngnix با موفقیت نصب شده باشد با زدن http://localhost درون مرور گر صفحه زیر نشان داده میشود :
نصب بانک اطلاعاتی
به منظور نصب mysql از کد زیر استفاده می نماییم :
sudo apt-get install mysql-server
ولی پیشنهاد می شود بانک اطلاعاتی maria db را نصب نمایید که در مقاله زیر به طور کامل به آن پرداخته ایم :
نصب php
به طور کلی برای سازگاری php و nginx می بایست php-fpm
را نصب نمود و در کل روال عادی نصب php را داریم :
sudo apt-get install php-fpm php-mysql
قطعه کد بالا php را نصب نموده و تنظیمات مورد نظر جهت استفاده nginx را انجام می دهد.
تنظیمات php برای nginx
با کد زیر وارد تنظیمات php-fpm
برای تنظیم php برروی سرورهای nginx می شویم :
sudo nano /etc/php/7.0/fpm/php.ini
در فایل مربوطه به دنبال گزینه cgi.fix_pathinfo می گردیم که در حالت پیش فرض به صورت زیر است:
;cgi.fix_pathinfo=1
به منظور تصحیح عملکرد ; را از ابتدا برداشته و مقدارش را برابر ۰ قرار می دهیم:
cgi.fix_pathinfo=0
حالا کافی است php را با کد زیر ریست نماییم :
sudo systemctl restart php7.0-fpm
در صورتی که کد بالا جواب نداد از کد زیر برای ریست php استفاده نمایید :
service php7.1-fpm restart
ساخت فایل تنظیمات NGINX
امنون فقط یک گام مانده تا به lemp برسیم کافی است دستور زیر را بزنیم :
sudo nano /etc/nginx/sites-available/default
این فایل حاوی تنظیمات پیش فرض nginx است بهتر است به مقدار زیر تغییرش دهیم:
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.php index.html index.htm index.nginx-debian.html; server_name server_domain_or_IP; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } location ~ /\.ht { deny all; } }
فایل بالا تنظیمات مناسب جهت استفاده php از nginx می باشد .
بعد از اتمام تغییر فایل را بسته و نمظیمات را با کد زیر تست نمایید :
sudo nginx -t
در صورتی که خطایی مشاهده نشد کد زیر را در برای بارگزاری دوباره nginx بزنید :
sudo systemctl reload nginx
یا :
service nginx restart
تبریک نصب شما با موفقیت انجام شده و شما می توانید با ساختن فایل php.info و قرار دادن تابع phpinfo() مطابق کد زیر سرور خود را تست نمایید :
<?php phpinfo();
با تشکر – پیروز جنابی