لیست مطالب
آموزش نصب Nginx در CentOS 7
روش پیکربندی زیر، مراحل ضروری راه اندازی Nginx در CentOS 7 را با جزئیات کامل توضیح می دهد. برای دستورالعمل نصب CentOS 8، لطفا نحوه نصب Nginx در CentOS 7 را مطالعه نمایید.مرحله 1: کلیه مخازن را به روز رسانی کنید.
برای این کار، دستور زیر را اجرا نمایید:$ sudo yum -y update
-y یک پارامتر اختیاری است و از ایجاد سوالات تاییدی جلوگیری می کند. توجه داشته باشید که از آن زیاد استفاده خواهیم کرد. اگر نمی خواهید از این پارامتر استفاده کنید باید دستورها را تایید کنید.
مرحله 2: نصب پکیج های اضافی برای Enterprise Linux (EPEL)
Nginx در repository (مخازن) استانداردی که همراه پکیج CentOS می آید قابل دسترسی نیست، بنابراین باید مخزن EPEL را نصب کنیم. استفاده از EPEL رایگان بوده و پکیج های open- source(منبع باز) متعددی برای نصب با Yum در اختیارمان قرار می دهد. برای نصب EPEL دستور زیر را با استفاده از Yum اجرا کنید:$ sudo yum install -y epel-release
مرحله 3: نصب Nginx
در مرحله 2 مخزن Nginx به سرور شما اضافه شد. اکنون می توانید با اجرای دستور yum زیر Nginx را نصب کنید:$ sudo yum –y install nginx
مرحله 4: شروع سرویس Nginx
Nginx شما نصب شد اما به طور اتوماتیک شروع به کار نخواهد کرد. برای شروع آن دستور زیر را اجرا کنید:$ sudo systemctl start nginx
بعد از زدن enter گرچه Nginx باید شروع به کار کند اما return value دریافت نخواهید کرد. برای چک کردن آن از دستور زیر استفاده کنید:
$ sudo systemctl status nginx
باید یک عبارت سبز رنگی بیاید که نوشته باشد‘active (running) ’ . اگر نیامد یعنی نمونه Nginx شما به درستی استارت نشده است.
توجه: اگر آپاچی سرور اجرا شده دارید باید آن را قبل از استارت کردن Nginx غیرفعال کنید. برای این کار از دستور sudo service httpd stop استفاده کنید. حواستان باشد که غیر فعال کردن آپاچی، هر وب سایت جدیدی که اجرا شده است را به هم می زند. اکنون آپاچی را غیرفعال کردید اما شاید همچنان حین reboot کردن سرور به طور اتوماتیک استارت شود. برای غیرفعال کردن استارت اتوماتیک، دستور زیر را اجرا کنید:$ sudo systemctl disable httpd
مرحله 5: پیکربندی Nginx برای استارت شدن در Boot
اکثر ادمین ها می خواهند مطمئن شوند هر وقت سرور restart می شود، Nginx به طور اتوماتیک استارت خواهد شد. برای این کار دستور زیر را انجام دهید:$ sudo systemctl enable nginx
مرحله 6: پیکربندی Firewall جهت انجام Traffic
centOS 7 به طور پیش فرض Firewallها را فعال و دسترسی به پورت های 80 و 443 را مسدود می کند. در واقع هر HTTP داخلی و HTTP packet را از Nginx مسدود خواهد کرد. برای مجوز دادن به HTTP و HTTP traffic از دستورهای زیر استفاده کنید:firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload
بعد از هر دستور باید عبارت success را ببینید که نشان می دهد دستور به درستی اجرا شده است.
مرحله 7: اثبات نصب Nginx
ساده ترین روش برای این که بفهمیم Nginx به درستی اجرا شده یا نه این است که نگاهی به IP آدرس عمومی سرور خود بیاندازیم. فقط کافی است مرورگر خود را باز کرده و سایت http://server_IP_or_domain_name/ ببینید. ابتدا IP آدرس عمومی سرور خود را پیدا کنید.$ ip a
IP آدرس ما این است 192.168.122.1/24. IP آدرس خود را کپی و در مرورگر paste کنید. باید صفحه Welcome to Nginx ظاهر شود.
آموزش رفع خطای ‘test failed’
اگر یک پیام حاوی ‘test failed’ error درفایل nginx.conf دریافت کردید احتمالا به مشکل IP آدرس برخوردید. Nginx سرویس به طور پیش فرض تحت فرمان IPv4 و IPv6 است. اگر سرور شما از IPv6 پشتیبانی نکند، تست fail خواهد شد. با این وجود می توان این مشکل را با تغییر دادن فایل پیکربندی اصلی درست کرد. فایل پیکربندی اصلی /etc/nginx/nginx.conf را باز کنید. خط زیر را پیدا کنید:listen [::]:80 default_server;
فقط ‘#’ را در ابتدای خط اضافه کنید. مطابق زیر:
# listen [::]:80 default_server;
تغییراتی که انجام دادید را save کرده و Nginx سرویس را reload کنید.
$ sudo systemctl reload nginx
در مرورگر، IP آدرس سرور خود را Browse کنید. باید صفحه پیش فرض Nginx test را ببینید.
پیکربندی فایل ها و Root کردن Nginx
به طور حتم باید محل قرارگیری فایل های پیکربندی Nginx و root directory پیش فرض Nginx سرور را بدانید.Server Blocks Additional
ادمین ها در آپاچی، برای اجرای چندین وب سایت از host های مجازی استفاده می کنند. در حالی که در Nginx، اجرای چند وب سایت در یک سرور با server blocks صورت می گیرد. Server blocks Additional با درست کردن فایل های پیکربندی جدید با پسوند فایل .conf به وجود آمده اند. این فایل ها را در /etc/nginx/conf.d قرار بدهید تا هر زمان که Nginx شروع به کار کرد بارگیری شوند.Root کردنNginx سرور به صورت پیش فرض
Root کردنNginx سرور به طور پیش فرض به این صورت است /usr/share/nginx که در فایل پیکربندی server block پیش فرض که در /etc/nginx/conf.d/default.conf قرار دارد به طور کامل مشخص شده است. root directory document پیش فرض که شامل وب فایل ها می شود به این صورت است usr/share/nginx/html.مدیریت Nginx – دستورهای رایج
متوقف کردن Nginx
برای متوقف کردن Nginx سرور از دستور زیر استفاده کنید:$ sudo systemctl stop nginx
Restart کردن Nginx
برای Restart کردن Nginx سرویس طبق دستور زیر پیش بروید:$ sudo systemctl restart nginx
Reload کردن Nginx
اگر شما تغییری در پیکربندی اصلی Nginx ایجاد کردید باید سرور را reload کرده تا تغییرات انجام پذیرند.sudo systemctl reload nginx $
غیرفعال کردن شروع اتوماتیک در Boot
اگر نمی خواهید Nginx به طور اتوماتیک در Boot استارت شود، دستور زیر را اجرا کنید:$ sudo systemctl disable nginx
پیکربندی یک directory جدید
اگر شما چندین وب سایت را میزبانی می کنید بهترین کار این است که طبق نام گذاری استاندارد پیش بروید.$ sudo mkdir -p /var/www/yourdomain.com/public_html
سپس به یک صفحه index نیاز داریم. دستور زیر به شما کمک می کند تا پیکربندی را تست کنید.
$ sudo nano /var/www/yourdomain.com/public_html/index.html $
برای تست کردن یک خط از متن را در index.html وارد کنید. سپس فایل را save کرده و ببندید. با تغییر دادن مجوزهای فایل Linux، می توانید به صورت آنلاین به اطلاعات دسترسی یابید.
sudo chmod 755 /var/www/yourdomain.com/public_html $
صفحه index.html را باز کنید. این صفحه باید به صورت آنلاین در دسترس باشد. درآخر بعد از نصب موفقیت آمیز Nginx در CentOS 7، گزینه های زیادی برای نصب کامل LEMP که جاگزین شناخته شده ای برای LAMP stack هست پدیدار می شود. LEMP یک عبارت اختصاری است که هر کدام از حروف آن برای یک مولف کدباز به کار می رود. • L – به جای Linux OS • E – به جای Nginx (اگر آن را به صورت ‘engine x’ تلفظ کنیم) • M – به جای MySQL یا سیستم مدیریت داده های پیوندی MariaDB • P – به جای PHP هر کدام از اینها بر روی دیگری می نشینند. Linux OS در لایه اصلی قرار می گیرد.