قصد دارم در این پست در مورد وب سرور Nginx که اختصاصا برای هاستینگ فایل ساخته شده و استفاده میشود صحبت کنم . وب سرور Nginx قابل نصب و کانفیگ روی انواع سیستم عامل هاست . روی سیستم عامل ویندوز سرور تا توزیع های مختلف لینوکسی !
اول کمی در مورد خود این وب سرور صحبت میکنیم و سپس به آموزش نصب و کانفیگ روی ویندوز سرور میپردازیم . در انتها آموزش تنظیم وب سرویس بعنوان سرویس ویندوز برای اجرای اتوماتیک بهنگام بوت شدن ویندوز را خواهیم داشت .
قصد ندارم در مورد تاریخچه و پدر و مادر Nginx صحبت کنم . دانستن این موارد بد نیست اما برای کار ما مفید نخواهد بود . برای ما ویژگی ها و کارایی این وب سرور مهم است.
همانطور که میدانید وب سرور Nginx یکی از محبوب ترین و اصلی ترین وب سرور ها برای فایل هاستینگ است . نه فقط فایل هاستینگ ، بخاطر سرعت بالا و کارایی بالایی که ارائه میدهد برای خیلی سایت های بزرگ هم استفاده میشود . مثلا CloudFlare از Nginx استفاده میکند . یا WordPress.com !!
اصولا Nginx چیز عجیب غریب و فضایی نیست ! یک وب سرور ساده که بصورت دقیق و متمزکر هدفش بهینه سازی استفاده از منابع و ارتباطات برقراری با کلاینت هاست !
از لحاظ منابع ، واقعا عالیست ! کمترین مصرف رم . کمترین مصرف CPU ، کمترین درگیری سیستم ! از لحاظ ارتباطی هم بخاطر بهینه سازی های اساسی که صورت گرفته سرعت ارتباط و پاسخگویی مطلقا بالایی دارد ! فارسی تر و سلیس تر بگویم … سرعت دانلود فایل با Nginx حداقل ۴برابر Apache و دوستانش است ! البته نه اینکه شما Nginx نصب کنید و توقع داشته باشید ۴برابر حد معمول پهنای باندتان جوابگوی شما باشد . خیر اینطور نیست . منظور بنده از ۴برابر ، ۴برابر بصورت بهینه شده و بدون قطعی و روان تر هست که قطعا در سرعت دانلود هم تاثیر مستقیم دارد . مثلا اگر اینترنت ۱مگابیت داشته باشید و سرعت دانلود شما از وب سرور های apache حدودا ۱۰۰ الی ۱۲۰ کیلوبایت در ثانیه باشد ، با Nginx میتوانید توقع داشته باشید سرعت بالای ۱۲۰ کیلوبایت در ثانیه بصورت رئال تایم دریافت خواهید کرد . بدون قطعی کانکشن و مشکلات مربوط به دانلود !
از تعریفات در مورد Nginx که بگذریم آموزش نصب این وب سرور محبوب روی سرور ویندوز را پیش بگیریم !
آخرین نسخه Stable یا پایدار موجود از Nginx برای ویندوز نسخه ۱٫۲٫۳ هست . از این لینک دریافت کنید …
لینک بصورت PlainText : http://nginx.org/download/nginx-1.2.3.zip
حجم این وب سرور توجه شما را جلب خواهد کرد ! ۱٫۱مگابایت !!!
بعد از دریافت آخرین نسخه Nginx روی سرور ویندوزی خود ، بهتر است یکی از خالی ترین پارتیشن های موجود خود را برایش برگزینید !
قرار است تمامی فایل هایتان را درون پوشه html موجود در بکیچ Nginx بریزید . خب . مثلا NGINX را درون پارتیشن C کپی میکنید !
بهتر هست در بالاترین پوشه پارتیشن یا حتی بصورت روت در پارتیشن Nginx را کپی کنید . یعنی زیاد پوشه در پوشه نباشد . مثلا C:Nginx کافیست !
بعد از کپی Nginx ، میتوانید به سهولت فایلی که درون پوشه موجود است به نام nginx.exe را باز کنید ! یک لحظه صفحه ی کنسول را مشاهده میکنید و بسته میشود .
هیچ علامتی هم از اجرای Nginx روی سیستم شما وجود نخواهد داشت بجز لیست پروسس های جاری در Task Manager
توجه کنید که پورت ۸۰ باید اصطلاحا Free یا آزاد باشد . البته میتوانید این شماره پورت را تغییر دهید . بسهولت در فایل /conf/nginx.conf
عبارت listen ۸۰ را جستجو کنید . عدد ۸۰ را تغییر دهید . به همین سادگی !
در صورتی که در عملیات listen کردن پورت نامبر مشکلی برای Nginx بوجود نیاید ، وب سرور استارت میشود ! صحت عملیات را میتوانید در تسک منیجر چک کنید . اگر پروسس با نام Nginx وجود داشت ، وب سرور با موفقیت اجرا شده و قابل دسترسیست ! توجه کنید که ممکن است ۲ پروسس با نام Nginx ببینید که مشکلی از این بابت وجود ندارد . کاملا طبیعیست !
خب . حالا هرچه فایل درون پوشه html قرار دهید ، این فایلها بصورت Global و Public روی آی پی سرور شما قابل دسترسی خواهند بود (با شماره پورت ذکر شده . شماره پورت ۸۰ بصورت پیشفرض روی http:// قرار دارد و نیازی به وارد کردن آن نیست . [جهت اطلاعات عمومی بیشتر ] )
این از نصب و راه اندازی Nginx . کار بسیار سخت و طاقت فرسایی بود ! مشخص است .
کانفیگ های مربوط به NGINX کاملا مشخص هست . مثلا همین تغییر پورت که به سهولت انجام شد . با مطالعه ویکی Nginx و مطالعه خط به خط فایل های موجود در پوشه Conf میتوانید تمامی کانفیگ های مورد نیاز خود را روی آن پیاده کنید . در صورتی که نیاز به توضیح بیشتر هست اعلام کنید تا خط به خط کانفیگ های nginx را به تفصیل توضیح دهم در پست جداگانه ای .
خب . نوبت به اضافه کردن سرویس و اتواستارت کردن این وب سرور میرسد !
۲ حالت و راه کلی برای اتو استارت کردن وب سرویس Nginx وجود دارد . یکی اضافه کردن Nginx به لیست Startup و دیگری اضافه کردن Nginx بصورت NT Service و اتو استارت !
مشخص هست که حالت دوم یعنی NT Serive حالت پایدار تر و سطح بالاتر از حالت اول است . در حالت اول باید یکی از یوزر های ویندوز به سرور لاگین کند تا سرویس استارت شود ! طبیعتا با Log off هم سرویس بسته میشود !
پس راه دوم راه حل منطقی تر و اصطلاحا خفن تریست !
راه اول را هم ذکر کنیم ، ابتدا یک میانبر از برنامه nginx.exe بسازید . این میانبر را به مسیر Start – > All Programs – > Startup انتقال دهید . کار تمام است .
راه دوم ، ساخت NT Service هست که مقداری پیچیده تر از راه اول است .
توجه کنید که NT Service ها ، قابلیت اجرای برنامه ها را ندارد . صرفا میتوانند یک سری سرویس های استاندارد که در قالب مشخصی هستند را اجرا کنند . اینطور نیست که هر نوع فایل exe ای که به دستمان رسید را NT Service کنیم !
البته ، وب سرور Nginx جزو همان هر نوع فایل است متاسفانه ! نسخه ویندوزی این وب سرور امکان استفاده از سرویس های ویندوزی را ندارد . پس دست به کار میشویم و یک سرویس بصورت پل میسازیم تا با اجرای آن سرویس ، در واقع Nginx اجرا شود !
خب ما این سرویس را بواسطه یک پروژه دات نت ۲ ایجاد میکنیم ! پروژه ی کوچکی با نام Windows Service Wrapper .
جهت دریافت پروژه Windows Service Wrapper به این لینک مراجعه کنید …
لینک بصورت Plain Text : Index of /maven/2/com/sun/winsw/winsw/
با مراجعه به صفحه بالا ، نسخه های مختلف این پروژه را میبنید . شخصا نسخه ۱٫۸ را تست کردم و بصورت کامل و قطعی جواب داد ! بهتر هست شما هم از این نسخه استفاده کنید .
ابتدا فایل اجرایی پروژه را دریافت کنید . فایل اجرایی نسخه ۱٫۸ همچین نامی دارد : winsw-1.8-bin.exe
این فایل را به پوشه اصلی Nginx منتقل کنید . طوری که دقیقا کنار فایل nginx.exe باشد ! اگر مطابق آموزش مسیر nginx را مشخص کرده باشید باید به این مسیر فایل را انتقال دهید : C:nginxwinsw-1.8-bin.exe
خب . اسم فایل را به nginx-service.exe تغییر نام دهید !
پس از تغییر نام فایل باید ۲ فایل اجرایی exe درون پوشه nginx داشته باشید . یکی با نام nginx.exe و دیگری nginx-service.exe . در صورت صحت و وجود این فایل ها ادامه اموزش را دنبال کنید .
یک فایل متنی در کنار همین فایل nginx-service.exe بسازید و نام آن را nginx-service.xml قرار دهید . توجه کنید که پسوند فایل متنی باید xml باشد . درست است که ما میگویم فایل متنی و قانونا باید txt باشد ! اما برای این کار نیاز است که پسوند فایل را به xml تغییر دهید . دلیل آن هم واضح است . برای ویرایش فایل نیاز هست که با ادیتور فایل را باز کنید . ادیتور ها فایل های txt را براحتی میشناسند و دردسری برای ادیت نخواهید داشت .
پس ابتدا فایلی با نام nginx-service.txt بسازید و پس از اعمال تغییراتی در فایل که در ادامه خواهم گفت ، پسوند فایل را به xml تغییر دهید !
این محتویات را درون فایل بریزید :
1 <service>
2 <id>nginx</id>
3 <name>nginx</name>
4 <description>nginx</description>
5 <executable>c:\nginx\nginx.exe</executable>
6 <logpath>c:\nginx</logpath>
7 <logmode>roll</logmode>
8 <depend></depend>
9 <startargument>-p c:\nginx</startargument>
10 <stopargument>-p c:\nginx -s stop</stopargument>
11 </service>
توجه کنید که این محتویات برای مسیر c:nginx صادق است و کار میکند . اگر مسیر nginx شما متفاوت است ، تغییرات لازم را در محتوای فایل بدهید !
پس از وارد کردن محتویات یاد شده به فایل متنی ساخته شده ، فایل را ذخیره کنید و پسوند آنرا به xml تغییر دهید . تاکید میکنم . پسوند را از txt به xml تغییر دهید !
خب . تا اینجا باید ۳ فایل در دایکتوری nginx داشته باشید .
۱ – nginx.exe
2 – nginx-service.exe
3 – nginx-service.xml
عینا نام ها باید برابر مقادیر بالا باشد .
پس از اطمینان از صحت عملیات ، میبایست دستور ساخت سرویس و تنظیم nginx را اجرا کنید .
برای اجرای دستور به Run بروید و عبارت cmd را تایپ کنید . اینتر را بفشارید . وارد محیط کنسول یا Command Prompt میشوید . البته این کنسول را میتوانید از Programs نیست پیدا کنید که هیچ فرقی ندارد .
پس از بازکردن Console یا همان cmd ، دستور ساخت سرویس برای اجرای خودکار سرویس nginx را صادر میکنیم . بدین صورت
1 c:\nginx\nginx-service.exe install
مجددا گوشزد میکنم که درصورتی که مسیر nginx را طبق آموزش قرار ندادید ، میبایست مسیر را در دستور تصحیح کنید !
عینا دستور را در کنسول کپی کنید و اینتر را بفشاید . حال در صورتی که تمامی عملیات های یاد شده را صحیح انجام داده باشید ، سرویسی به نام nginx درون Services ویندوز شما اضافه شد که بصورت اتوماتیک با بوت سیستم عامل اجرا میشود و وب سرور nginx را اجرا میکند !
جهت اطمینان از صحبت عملیات به Control Panel بروید . در بخش Administrative tools بخش Services را باز کنید . باید سرویسی با نام nginx موجود باشد .
کار تمام است .
برای اطمینان از کارکرد وب سرور یکبار سرور را ریست کنید و بدون اینکه در سرور لاگین کنید ، با استفاده از آی پی سرور ، وضعیت وب سرور را چک کنید .
امیدوارم که در پروسه نصب و کانفیگ به مشکلی نخورید و با سلامت و صحت کامل عملیات نصب را انجام دهید .
از وب سرور قدرتمند و سریع nginx لذت ببرید !
منبع:آی تراشه | دنیایی از جنس آی تی