در مرحله قبل نصب Nginx بر رروی اوبونتو را مرور نمودیم حالا وقت آن رسیده تا با تنظیمات اولیه و طرز کار با Nginx آشنا شویم.
دستورات مدیریتی وب سرور:
برای غیرفعال سازی وب سرور Nginx میتوانید از دستور زیر استفاده کنید:
sudo systemctl stop nginx
همچنین دستورات زیر به ترتیب:
sudo systemctl start nginx sudo systemctl restart nginx sudo systemctl reload nginx sudo systemctl disable nginx sudo systemctl enable nginx
ابتدا برای شروع بکار وب سرور، راه اندازی مجدد آن و در نهایت بارگذاری دوباره آن بکار میرود دستور چهارم و پنجم هم مربوط به غیرفعال سازی Nginx در زمان بوت سرور و مجددا فعالسازی آن است.
دستور اول و دوم نیاز به توضیح خاصی نداشته اما دستور سوم زمانی بکار میرود که شما فقط در فایلهای پیکربندی وب-سرور خود تغییراتی را ایجاد کرده اید و میخواهید بدون قطع کردن Nginx پیکربندی جدید را بر روی وب-سرور اعمال کنید.
تعریف دامنه و تنظیمات:
بر روی Nginx همانند وب-سرورهای دیگر شما میتوانید تنظیمات خاصی را برای هر سایت ایجاد، پیکربندی و اعمال کنید،همان چیزی که بر روی وب-سرور قدیمی و محبوب Apache با نام virtual hosts میشناختیم.
برای شروع به پوشه محتوای سایتمان که معمولا اگر از پیکربندی اولیه استفاده کنید در آدرس زیر میتوانید آن را ببینید مراجعه میکنیم:
میتوانید با ویرایش فایلهای موجود در این پوشه تغییرات آن را در سمت مرورگر ببینید، برای مثال در اینجا آدرسدهی ما میتواند به شکل زیر باشد:
/var/www/mywebsite/html
/var/www/mywebsite2/html
/var/www/[name-of-site]/html
برای ایجاد فولدر جدید دستور زیر را تایپ میکنیم:
در صورتی که شما هم مثل من از مشکل رنگ آبی متن با پس زمینه مشکی رنج میبرید کافیست با استفاده از دستور زیر:
LS_COLORS="di=1;31"
رنگ متن و مقدار پر رنگ بودن آن را عوض کنید، عدد 31 مربوط به کد رنگ قرمز، عدد 37 مربوط به کد رنگ سفید و di=1 به قصد پر رنگ بودن متن در این دایرکتوری و LS_COLORS هم تنظیمات رنگ دستور ls می باشد. دقت کنید که این دستور تاثیر موقتی داشته و بعد از ریستارت سرور بازهم خروجی دستورات آبی رنگ خواهد بود در تصویر پایین یکبار کد رنگ قرمز و سپس سفید جایگزین آن شده است:
نحوه دائمی شدن و کنترل رنگها در مباحث بعدی بصورت کامل آموزش داده خواهد شد.
بعد از آن دستور زیر را به جهت تغییر مالکیت پوشه وارد میکنیم:
sudo chown -R $USER:$USER /var/www/mywebsite/html
و بعد از آن مجوز دسترسی به پوشه اصلی را تنظیم میکنیم:
sudo chmod -R 755 /var/www/mywebsite
حالا به پوشه mywebsite مراجعه کرده و فایلی با نام index.html ساخته و محتویات دلخواه خود را به آن اضافه میکنیم.
حالا برای اینکه پیکربندی mywebsite هم خاص و جدای از پیکربندی اولیه Nginx باشد فایل پیکربندی جدیدی در شاخه /etc/nginx/sites-available/ ایجاد میکنیم:
sudo nano mywebsite
و محتوای آن را پیکربندی زیر قرار می دهیم:
server { listen 80; listen [::]:80; root /var/www/mywebsite/html; index index.html index.htm; server_name mywebsite www.mywebsite; location / { try_files $uri $uri/ =404; }
بلاک server سرور ما را بر روی پورت 80 روی IPv4 و IPv6 گوش بزنگ نگه میدارد. خط بعد مربوط به شاخه فیزیکی محتوای root ما است. در خط بعدی صفحه اول برای نمایش تنظیم شده، server_name آدرس وب سایت مورد نظر است که در اینجا در دو حالت mywebsite و www.mywebsite قرار گرفته تا بهر دو شکل در مرورگر نمایش داده شود و در بلاک location هم برای nginx تعریف میشود که فقط فایلهای استاتیک را اجرا کند و برای مثال در حال حاضر حتی در صورت نصب بودن PHP همچنان این دسته از فایلها اجرا نخواهند شد. شرح مفصلتری از چگونگی پیکربندی و آشنایی با تمامی بلاکها در پست های آتی بررسی و معرفی خواهند شد.
حال با دستور زیر:
sudo ln -s /etc/nginx/sites-available/mywebsite /etc/nginx/sites-enabled/
لینکی از محتوای پیکربندی در آدرس /etc/nginx/sites-enabled میسازیم، تا nginx در هنگام راه اندازی فایل را بصورت startup اجرا کند.
در نهایت با دستور:
sudo nginx -t
sudo systemctl restart nginx
ابتدا سلامت فایلهای پیکربندی و تغییرات را بررسی میکنیم و سپس nginx را ریستارت میکنیم.
حذف Nginx از روی سرور:
در صورت اینکه تصمیم به حذف Nginx گرفتید برای حذف کامل وب-سرور میتوانید از دستور زیر استفاده کنید
sudo apt purge nginx nginx-common nginx-core
اما در صورتی که میخواهید فایلهای پیکربندی Nginx را حفظ کنید و مابقی اطلاعات و وب-سرور را حذف کنید میتوانید از این دستور بهره ببرید:
sudo apt remove nginx nginx-common nginx-core