تا این مرحله شما باید وب سرور را نصب نمایید .
توی پست قبلی قرار شد نحوه ساخت init.d برای nGinx توضیح بدم که چک کردن در آخرین ورژن خودش این کار رو انجام میده ولی من به صورت خلاصه این مطلب رو مینوسیم برای دوستانی که از ورژن های قدیمی تر استفاده میکنند و اسکریپت init.d را ندارند
1- به مسیر init.d میرویم
2- یک فایل به نام nginx با هر ویرایشگری میسازیم . در این مرحله من از nano استفاده میکنم :کد:cd /etc/init.d/
کد های زیر را در آن کپی کرده و در نهایت با کلید های ctrl+o سپس ctrl+x از ان خارج شوید . لازم به ذکر است این کار را با یوزر root انجام دهید .کد:nano nginx
کد:#! /bin/sh # Author: Ryan Norbauer http://norbauerinc.com # Modified: Geoffrey Grosenbach http://topfunky.com # Modified: Clement NEDELCU # Reproduced with express authorization from its contributors set –e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="nginx daemon" NAME=nginx DAEMON=/usr/local/nginx/sbin/$NAME SCRIPTNAME=/etc/init.d/$NAME # If the daemon file is not found, terminate the script. test -x $DAEMON || exit 0 d_start() { $DAEMON || echo -n " already running" } d_stop() { $DAEMON –s quit || echo -n " not running" } d_reload() { $DAEMON –s reload || echo -n " could not reload" } case "$1" in start) echo -n "Starting $DESC: $NAME" d_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" d_stop echo "." ;; reload) echo -n "Reloading $DESC configuration..." d_reload echo "reloaded." ;; restart) echo -n "Restarting $DESC: $NAME" d_stop # Sleep for two seconds before starting again, this should give the # Nginx daemon some time to perform a graceful stop. sleep 2 d_start echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2 exit 3 ;; esac exit 0
سپس دستور زیر را برای مجوز دسترسی و اجرا اعمال نمایید
کد:chmod +x /etc/init.d/nginx
خب کار تا اینجا به پایان رسید . نحوه کار کردن با این اسکریپت
جهت اجرا ، ری استارت ، ریلود و توقف برنامه از دستورات زیر استفاده میکنیم .
میریم به مبحث بعدی .کد:/etc/init.d/nginx start /etc/init.d/nginx restart /etc/init.d/nginx reload /etc/init.d/nginx stop
مسیر پیش فرض فایل های خروجی وب سرور /usr/local/nginx میباشد که در ادامه در مثال ها از این مسیر استفاده خواهیم کرد .
یوزر ها و گروه ها Users & Groups
دانستن ساختار پروسس های nGinx و مخصوصا یوزر ها گروهایی که پردازش ها مختلف بر روی آنها اجرا میشود دارای اهمیت بسیار زیادی میباشد . یکی از مشکلات بسیار شایع در تنظیمات nginx به دلیل تنظیمات اشتباه یوزر یا گروه یوزر و نداشتن سطح دسترسی به فایل ها توسط nGinx میباشد که در نهایت موجب روبرو شدن با پیغام 403 Forbidden در صفخات به دلیل نداشتن سطح دسترسی nginx به فایل ها میباشد .
2 سطح از پروسس ها با احتمال سطح دسترسی های متفاوت وجود دارد .
1- Nginx master process که باید توسط کاربر root اجرا شود . در اغلب سیستم های لینوکسی برنامه هایی که با سطح دسترسی root اجرا میشوند توانایی یاز کردن هرنوع پورتی را با استفاده از سوکت tcp را دارا میباشند در حالی که دیگر کاربران تنها قادر به باز کردن پورت های بالای 1024 فقط برای گوش دادن Listeting به پورت میباشند .
اگر شما nginx را در root اجرا نکرده اید پورت های استاندارد 80 و 443 در دسترس نخواهند بود . علاوه بر آن دستور user که به شما اجازه مشخص کردن user و group ها به پردازش های worker ها را میدهد در نظر گرفته نمیشود .
2- Nginx worker processes که توسط کاربری که در هنگام کانفیگ نصب با دستور user مشخص کرده بودید اجرا میشود . تنظیمات کانفیگ ها دارای تقدم بیشتری نسبت به تنظیماتی دارند که شما در هنگام نصب اعمال کرده اید . اگر شما هیچ کدام از انها را مشخص نکرده اید ، پردازش های worker ها توسط یوزر و گروه nobody اجرا خواهد شد .
سوییچ های nGinx در ترمینال :
فایل اجرایی nginx فرمان های مختلفی را جهت انجام کارهای مختلف دریافت مینماید . برای دریافت لیست کاملی از این فرمان ها . ابتدا شما باید به مسیر فایل اجرایی nginx رفته و با استفاده از فرمان زیر لیست کامل را دریافت نمایید .
کد:cd /usr/local/nginx/sbin ./nginx -h
جهت متوقف کردن nginx
کد:nginx –s stop
جهت خروج از nginx
کد:nginx –s quit
جهت ایجاد مجدد فایل های لاگ
کد:nginx –s reopen
جهت بارگذاری مجدد فایل های کانفیگ
کد:nginx –s reload
جهت تست فایل های کانفیگ از نظر املایی و ... از دستور زیر استفاده میشود .
کد:nginx –t
جهت تست فایل کانفیگ که در مسیر nGinx نمیباشد از دستور زیر استفاده نمایید
که /foo/path/file.conf مسیر فایل دلخواه شما میباشد .کد:./nginx –t –c /foo/path/file.conf
زمانی لازم است که شما بدانید از چه سوییچ هایی هنگام نصب در مرحله configure استفاده کرده اید . سوییچ زیر این کار را با پردازش فایل های کانفیک و ... برای شما انجام میدهد .
------------کد:./nginx -V
اضافه کردن nginx به استارت آپ .
در سیستم عامل های Debian Base نظیر ubuntu از دستور زیر استفاده نمایید .
کد:update-rc.d –f nginx defaults
در سیستم عامل های RedHat Base نظیر CentOS
برای چک کردن صحت اضافه شدن هم میتونید از دستور زیر استفاده کنید :کد:chkconfig --add nginx
کد:chkconfig --list nginx
خب این بحث هم تموم شد . در ادامه سعی میکنم پر محتوا تر توضیح بدم
باتشکر
علی فتاحی