آموزش راه‌اندازی وردپرس در کنار Nginx

linux_terminal_wallpaper
0 759
Telegram_GEEKBOY

Nginx، وب سرور و سرویس http منبع‌باز پرقدرتی است که با به‌کارگیری منابع بسیار محدودی از سیستم، به‌ویژه پردازنده مرکزی، به حجم زیادی از درخواست‎های وب پاسخ می‎دهد. در مقايسه با سرور Apache که به‌گونه‎ای طراحی شده است تا حداکثر انعطاف‎پذیری و قابلیت‎ تنظیمات سفارشی را در اختیار کاربر قرار دهد، هدف اصلی طراحی Nginx بر پایه سرعت استوار شده است. طی گذشت سال‎ها، با افزایش تعداد افزونه‎ها و ماژول‎هایی که می‎توان از آن‌ها برای سفارشی‌سازی پیکربندی‎ها استفاده کرد، Nginx نیز به طور چشمگيری انعطاف‌پذیر شده است. اگر سه عامل مهم عملکرد، رشد روزافزون منابع آموزشی و سهولت در استفاده را در نظر بگیریم، جای تعجب نخواهد بود که Nginx به‌سرعت در حال محبوبیت و جایگزین شدن با سایر وب سرورهای موجود باشد.

آموزش راه‌اندازی وردپرس در کنار Nginx

وردپرس به عنوان پلتفرمی منبع‌باز برای سیستم‎های مدیریت محتوا و ساخت وبلاگ از محبوبیت بسیار زیادی برخوردار است. طبق آمار غیررسمی‎، بیش از ده درصد از وب‎سایت‎های موجود در اینترنت از وردپرس استفاده می‎کنند و شکی نیست که تعداد زیادی از کاربران سطح متوسط برای راه‌اندازی وب‎سایت خود به سراغ وردپرس بروند. بنابراین ترکیب این دو سرویس‌دهنده وب – Nginx و WordPress- می‎تواند وب‎سایتی بادوام و در عین حال کم‌مصرف از لحاظ منابع سخت‌افزاری را در اختیار شما قرار دهد. در ادامه، توضیح خواهیم داد که چگونه می‎توان به‌راحتی در یک سیستم PHP عادی Nginx و وردپرس را برای کار با یکدیگر پیکربندی کرد. با وجود اینکه تنظیمات وردپرس کمی‎ پیچیده‎تر است، در مجموع نصب و پیکربندی این دو در یک سیستم‌عامل لینوکسی در کنار یکدیگر کار ساده‌ای است.

انجام مراحل مقدماتی

برای نصب Nginx و وردپرس در کنار یکدیگر، به نصب سه نرم‌افزار سیستمی‎ پایه نیاز دارید که شامل WordPress ،Nginx و MySQL می‎شود. WordPress و Nginx کاملاً واضح و هدف اصلی این مقاله هستند. نصب MySQL نیز به این دلیل که وردپرس برای نگهداری داده‎های خود از این پایگاه اطلاعاتی استفاده می‎کند، ضروری است. برای انجام مراحل نصب در توزیع اوبونتو این فرمان را اجرا کنید:

$ sudo apt-­get install mysql-­server mysql-­client nginx-­core
|_>php5-­cli php5-­fpm php5-­mysql

این فرمان تعداد زیادی بسته نرم‌افزاری روی سیستم نصب می‎کند که برای راه‌اندازی و اجرای سیستم ضروری هستند. در این مرحله هنوز وردپرس را نصب نکرده‎اید، بنابراین می‎توانید بعداً آن را دستی و با استفاده از کد منبع نصب کنید. این نکته را نیز نباید فراموش کرد که نصب وردپرس از طریق فرمان apt-­get با نصب خودکار Apache همراه خواهد بود و با وجود اینکه می‌توان این انتخاب را غیرفعال کرد، نصب وردپرس به طور دستی و از طریق مدیریت پکیج مزایای خاص خود را دارد. به عنوان بخشی از فرایند نصب، نیاز خواهید داشت که برای حساب کاربری root (ریشه) MySQL، کلمه عبور انتخاب کنید. این کار برای حفظ امنیت سیستم ضروری است؛ بنابراین حتماً از یک کلمه عبور پیچیده استفاده کنید. بعد از اینکه نصب بسته‎های یادشده به اتمام رسید، با وارد کردن آدرس سرور خود در مرورگر وب، صفحه پیش‌فرض nginx را مشاهده خواهید کرد که نشان‌دهنده نصب درست این وب سرور خواهد بود. قبل از انجام این کار از باز بودن پورت 80 در سرور خود اطمینان حاصل کنید.

نصب وردپرس

نصب وردپرس نسبتاً آسان است، بخش پیچیده کار مربوط به زمانی است که قصد دارید nginx را با FPM (نسخه FastCGI از PHP) ادغام کنید. FPM شیوه‎ای است که از طریق آن nginx می‎تواند PHP را در یک فرایند جداگانه و مستقل بدون ایجاد مزاحمت برای سایر فرایندهای پردازشی nginx یا کاهش زیاد میزان عملکرد سیستم اجرا کند. معمولاً مکان پیش‎فرض فایل‎های HTML در تنظیمات nginx در مسیر/usr/share/nginx/html قرار دارد. در این دایرکتوری یک فایل index.html وجود دارد که محتوای آن صفحه پیش‎فرض خوشامدگويی nginx را توليد می‎کند که در زمان نصب این وب سرور مشاهده کردید.

در حالت کلی، آسان‎ترین روش این است که وردپرس را در دایرکتوری جداگانه‌ای نصب کنید. بنابراین وردپرس را دانلود کرده و آن را در آدرس /usr/share/nginx/wordpress باز کنید. هنگامی‌که فایل tar را از حالت فشرده خارج می‎کنید، این دایرکتوری به طور خودکار ساخته می‎شود. فرامین انجام این کار در زیر نمایش داده شده است:

$ cd /usr/share/nginx
$ wget https://wordpress.org/latest.tar.gz
$ tar -­zvxf latest.tar.gz

بعد از اینکه وردپرس نصب شد، باید آن را اجرا كنيد؛ اما تا قبل از نصب پایگاه داده MySQL، نمی‎توانید این کار را انجام دهید. به همین دلیل یکی از بخش‎های ضروری در فرایند نصب وردپرس این است که پایگاه داده شما نصب شده و آماده کار باشد. بنابراین ابتدا باید یک پایگاه داده MySQL ایجاد کنید. برای انجام این کار چندین روش متفاوت وجود دارد، اما بهتر است از برنامه mysqladmin استفاده کنید که گزینه‎هایی مشابه با MySQL client را در اختیار شما قرار می‎دهد که شامل -u برای مشخص کردن کاربری که قصد استفاده از پایگاه داده را دارد و -p است و برای وارد کردن کلمه عبور به کار می‎رود. برای ساخت پایگاه داده وردپرس از این فرمان استفاده کنید:

$ mysqladmin create wordpress -­u root -­p

شایان ذکر است وقتی در این فرمان از کاربر root استفاده می‎شود، منظور استفاده از سطح کاربری root در سطح سیستم UNIX نیست. در واقع در اینجا درباره کاربر root سرور MySQL صحبت می‎کنیم که از سطح دسترسی نامحدود و همه‌جانبه به پایگاه داده برخوردار است. زمانی‌که سرور MySQL را نصب می‎کردید، به کلمه عبور root نیاز داشتید. در زمان استفاده از گزينه -p در فرمان گفته‌شده، باید همین کلمه عبور را وارد کنید. بعد از ورود به MySQL با کاربر root، می‎توانید بررسی کنید که آیا پایگاه داده به‌درستی ایجاد شده است یا نه. برای این کار از فرمان زیر استفاده کنید:

$ mysql -­u root -­p

بعد از ورود به MySQL با استفاده از فرمان SHOW DATABASES می‎توانید فهرستی از پایگاه‎های داده موجود را مشاهده کنید. در یک سیستم تازه نصب‌شده، معمولاً فهرست پایگاه‎های داده به صورت زیر نمایش داده می‎شود:

mysql> SHOW DATABASES;
+-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­+
| Database |
+-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­+
| information_schema |
| mysql |
| performance_schema |
| wordpress |
+-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­+
4 rows in set (0.01 sec)

سه پایگاه داده سیستمی‎ به علاوه پایگاه داده wordpress که ایجاد کرده بودید، در فهرست وجود دارد. حالا از طریق خط فرمان پوسته UNIX به پایگاه داده mysql متصل می‎شوید:

$ mysql mysql -­u root -­p

همچنین در صورت تمایل می‎توانید با استفاده از فرمان زير از داخل خود کلاینت MySQL به پایگاه داده mysql منتقل شوید:

mysql> \u mysql

در هر دو صورت، هم‌اکنون باید با کاربر root به پایگاه داده mysql متصل شده باشید. در مرحله بعد، یک کاربر wordpress ایجاد خواهید کرد و سپس به این کاربر اجازه می‎دهید به پایگاه داده wordpress شما متصل شود. در بسیاری از موارد به دلیل سهولت در استفاده، کاربران برای کار با تمام پایگاه‎های داده موجود در MySQL از حساب کاربری root استفاده می‎کنند، اما از لحاظ امنیتی انجام چنین کاری توصیه نمی‎شود و بهتر است برای هر یک از پایگاه‎های داده خود از حساب کاربری جداگانه‌ای استفاده کنید.
بعد از اینکه فرايند اتصال انجام شد، کاربر جدیدی ایجاد خواهید کرد، کلمه عبور مستقلی به آن اختصاص خواهید داد و سطح دسترسی کاملی به پایگاه داده wordpress برای آن تعریف می‎کنید:

mysql> CREATE USER wordpress@localhost;
mysql> SET PASSWORD FOR wordpress@localhost = PASSWORD('my-­wp-­pw');
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost;
mysql> FLUSH PRIVILEGES;

فرامین SQL به حروف بزرگ و کوچک حساس نیستند، بنابراین برای وارد کردن آن‌ها نیازی به استفاده از حروف بزرگ نیست. اما بر اساس ضوابط تعیین‌شده برای کدنویسی زیبا و کمک به تشخیص بهتر بین بخش‎های مختلف یک برنامه، بهتر است فرامین را با حروف بزرگ وارد کنید.
بر اساس فرامین مذکور، یک پایگاه داده wordpress و یک کاربر wordpress ایجاد کرده‌اید که به سرور محلی متصل شده است (wordpress@localhost) و زمانی‌که قصد اتصال به MySQL را دارید، باید از نام میزبان (hostname) استفاده کنید.
در پایان، وارد کردن فرمان FLUSH PRIVILEGES ضروری است تا به MySQL اعلام شود حتی بدون راه‌اندازی مجدد سرور دیتابیس باید امتیازات جدید تعریف‌شده به کاربر تازه اختصاص داده شود. بعد از اتمام این مراحل، باید بررسی کنید که آیا می‎توانید با استفاده از کاربر wordpress به پایگاه داده wordpress متصل شويد یا نه. در خط فرمان UNIX فرمان زير را وارد کنید:

$ mysql wordpress -­u wordpress -­p

زمانی‌که از شما درخواست شد کلمه عبور را وارد کنید، همان کلمه‌عبوری را که برای کاربر wordpress در نظر گرفته بودید، وارد کنید. بعد از این، پیغام welcome و خط فرمان mysql> را مشاهده خواهید کرد. اگر این اتفاق نیفتاد، یک بار دیگر نام کاربری و کلمه عبوری را که ایجاد کرده‎اید، با دقت بررسی کنید و مطمئن شوید كه از فرمان FLUSH PRIVILEGES استفاده کرده باشید.
بعد از اینکه مطمئن شدید مراحل انجام‌گرفته برای پیکربندی سیستم به‌درستی انجام شده است، به کمک فایل wp-config.php پیکربندی مربوط به وردپرس را انجام دهید. این فایل در دایرکتوری/usr/share/nginx/wordpress قرار دارد. زمانی که برای اولین بار وردپرس را نصب می‎کنید، فایل پیکربندی در آن وجود ندارد و باید آن را از داخل فایل wp-config-sample.php کپی کنید:

$ cp wp-­config-­sample.php wp-­config.php

بعد از انجام این کار، فایل را باز کرده و سه خط DB_USER ،DB_NAME و DB_PASSWORD را پیدا کنید، سپس مقادیر آن‌ها را با موارد واردشده در زمان ساخت پایگاه داده (نام پایگاه داده، نام کاربری و کلمه عبور) جایگزین کنید. به کمک اطلاعات موجود در این سه خط است که وردپرس با پایگاه داده شما ارتباط برقرار می‎کند.

پیکربندی nginx

در این مرحله باید سطوح دسترسی و جوازهای سیستم UNIX را تعریف کنید. در سیستم UNIX هر پردازشی به عنوان یک کاربر مشخص اجرا می‎شود و nginx نیز از این قاعده مستثنی نیست. در سیستم‎های اوبونتو، هم nginx و هم Apache به عنوان کاربر و گروه www-data اجرا می‎شوند. استفاده از یک user ID مشخص برای اجرای چنین برنامه‎هایی این امکان را فراهم می‎کند تا مطمئن شوید سطح دسترسی و مجوزهای لازم به‌درستی صادر شده است. همچنین باید اطمینان حاصل کنید که دایرکتوری WordPress و فایل‎های درون آن نیز به مالکیت این کاربر درآمده باشند. بنابراین می‎توانید این فرامین را اجرا کنید:

$ cd /usr/share/nginx
$ sudo chown -­Rv www-­data:www-­data wordpress

گزینه -R به فرمان chown اعلام می‌کند که به صورت بازگشتی عمل کند. گزینه -v حالت verbose را فعال می‎کند، به این معنا که در زمان کار برنامه بازخوردهای اضافی را نیز دریافت می‎کنید. معمولاً برای دریافت بازخوردهای بیشتر بهتر است از -v استفاده شود.
حال زمان آن رسیده است تا سرور nginx خود را پیکربندی کنید. زمانی‌که اين وب سرور را نصب کردید، فایل اصلی پیکربندی در مسیر /etc/nginx/nginx.conf قرار داشت. اما در پیکربندی‎های جديد nginx به ازای هر سروری که در مسیر/etc/nginx/sites-enabled/ در حال اجرا است، یک فایل پیکربندی وجود دارد. برای نمونه، فایل /etc/nginx/sites-enabled/default سایت پیش‎فرض را توصیف می‎کند.
برای ساده‌تر شدن مراحل انجام کار، فرض می‌کنیم تنها یک سایت دارید، بنابراین می‌توانید به جای چند فایل پیکربندی تنها فایل default را اصلاح کنید. همان‌گونه که در nginx مرسوم است، پیکربندی به بخش‎های مجزا تقسیم‌بندی می‎شود. بخش server نحوه چگونگی دریافت درخواست‎های http و رسیدگی به آن‌ها را بر عهده دارد. در این مورد خاص، باید تمام درخواست‎های ارسال‌شده به پورت 80 برای تمام نام‎های میزبان را به PHP ارجاع دهید. بخش server نمایش‌داده‌شده در زیر، این وظیفه را بر عهده دارد.

server {
listen 80 default_server;;
root /usr/share/nginx/wordpress;;
index index.php index.html index.htm;;
server_name localhost;;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;;
}
error_page 404 /404.html;;
error_page 500 502 503 504 /50x.html;;
location = /50x.html {
root /usr/share/nginx/html;;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;;
fastcgi_pass unix:/var/run/php5-­fpm.sock;;
fastcgi_index index.php;;
include fastcgi_params;;
}
}

اجازه دهید نگاهی دقیق‎تر به کدهای آورده‌شده در این مقاله بیندازیم. در ابتدا مشخص می‎کنید که این سرور تحت فرمان پورت 80 است. استفاده از این پورت انتخاب مناسبی است، مگر در شرایطی که به دلیل موجهی قصد انتخاب پورت دیگری را داشته باشید. زمانی که قصد استفاده از پروتکل امنیتی SSL را دارید، باید از پورت 443 استفاده کنید. همچنین به یک بخش server جداگانه نیز نیاز خواهید داشت. به‌منظور ساده‎تر شدن مراحل کار، از این بخش گذر می‌کنیم.
همچنین برای مشخص کردن اینکه اگر در آینده، شخص دیگری قصد داشت از نام میزبان دیگری استفاده کند که به آدرس ای‎پی شما متصل می‎شود، باید از default_server استفاده کنید، اما این بخش توسط سایر نام‎های میزبانی قابل کنترل نیست و تنها سرور فعلی باید از آن استفاده کند. اگر سیستم شما تنها از یک سرور http میزبانی می‎کند، در پیکربندی باید این مؤلفه تنظیم شده باشد. اما اگر سیستمتان میزبان چند سرور http است، باید تصمیم بگیرید که کدام‌یک به عنوان پیش‎فرض معرفی شود.
نشانگر root توصیف‌کننده دایرکتوری است که فایل‎هایی که شما میزبان آن‌ها هستید، در آن قرار دارد. بعد از خارج کردن فایل tar از حالت فشرده و قرار دادن آن در آدرس/usr/share/nginx/wordpress برای nginx، مشخص می‎کنید که این دایرکتوری شامل برنامه‎های PHP‌ است که قصد اجرای آن‌ها را دارید. در واقع تنها یک برنامه PHP در فايل index.php وظیفه انجام تمام کارها را بر عهده دارد.
در صورتی که نام فایلی را مشخص نکرده باشید، فرمان index تعیین می‎کند که کدام فایل‎ها و به چه ترتیبی باید خوانده شوند. قبل از به کار بردن سایر فایل‎های جایگزین، ابتدا فایل index.php برای استفاده وردپرس در نظر گرفته می‎شود.
مؤلفه server_name به nginx اعلام می‌کند که کدام نام(ها) باید توسط این سرور تشخیص داده شود. اگر از default_server استفاده می‎کنید و تنها یک میزبان مجازی (virtual host) دارید، انتخاب این گزینه اهمیت چندانی ندارد. اما اگر قصد میزبانی از چند سرور را دارید، تعیین کردن یک نام ایده خوبی است.
در مرحله بعد و با استفاده از بخش location، تعیین می‎کنید که بعد از دریافت یک درخواست به یک آدرس URL مشخص چه کاری باید انجام شود. این مؤلفه به nginx می‎گوید که در مرحله اول باید سعی کند آدرس URL درخواستی را فراخوانی کرده و نتیجه را بازگرداند، اما اگر این کار میسر نشد، باید سراغ فایل index.php برويد و به جای فراخوانی آدرس درخواستی این فایل را به مرورگر بازدیدکننده بازگردانيد. با این کار به جای بازگرداندن پیغام خطا، فایل index.php به مخاطب نمایش داده می‎شود.
در مرحله بعد مشخص می‎کنید که در هنگام مواجه شدن با خطا – به استثنای خطای 404 یا همانfile not found- مثل خطاهای جدی‎تر سمت سرور (خطاهای 50x) چه باید کرد. Nginx از فایل‎های ایستا برای مدیریت این خطاها استفاده می‎کند. برای اینکه نحوه اطلاع‌رسانی این خطاها را واضح‎تر به بازدیدکنندگان ارائه کنید، می‎توانید آن‌ها را ویرایش کنید.
در نهایت، Nginx را به FPM متصل خواهید کرد. FPM کدهای PHP را در روند جداگانه‌ای اجرا می‎کند، اما در پایان با فرایند متمرکزی روبه‌رو هستید و نیاز نیست که هر بار روند جدیدی را آغاز کنید. اگر متوجه شدید که php5-­fpm اجرا نشده است، باید با استفاده از فرمان زير آن را اجرا كنيد:

$ sudo php5-­fpm restart

بعد از اینکه تمام مراحل ذکرشده به اتمام رسید، می‎توانید nginx را ری‎استارت کنید.

$ sudo nginx restart

حال در نوار آدرس مرورگر وب خود آدرس ای‎پی یا نام دامنه سیستم وردپرس خود را وارد کنید. اگر همه‌چیز به‌درستی انجام شده باشد، به عنوان بخشی از مراحل نصب وردپرس از شما خواسته می‎شود تا یک زبان را انتخاب کنید. پس از انجام این کار، همه چیز آماده شروع به کار وب‎سایت یا وبلاگ است. به صفحه بعد برويد و عنوانی برای سایت خود انتخاب و نام کاربری مدیریت، کلمه عبور و آدرس ایمیل را وارد کنید.

نتیجه‎گیری

نصب و تنظیمات nginx به همراه WordPress کار بسیار راحتی است. با فرض بر اینکه PHP از قبل نصب شده است و سیستم FPM آن نیز نصب شده و در حال اجرا است، ظرف چند دقیقه می‎توانید یک وبلاگ وردپرس را که از امتیازات nginx بهره می‎برد، پیاده‌سازی کنید. با وجود اینکه می‎توانید وردپرس را از طریق apt-­get یا سایر روش‎های مدیریت پکیج مشابه نصب کنید، انجام این کار به این معنا است که به‎روزرسانی‎های شما متکی به میزان فعال بودن توزیع لینوکسی خواهد بود که از آن استفاده می‎کنید و به‌ناچار به‎روزرسانی‎های مستقل خود وردپرس تا زمان عرضه توسط توزیع لینوکس به تعویق خواهد افتاد. البته افزونه‎ها که بخش مهمی‎ از اکوسیستم وردپرس را شامل می‎شوند، از این قاعده مستثنی هستند.

منابع برای راه‌اندازی وردپرس در کنار Nginx

Nginx سرور نسبتاً معروفی است و به همین دلیل منابع و اطلاعات فراوانی درباره آن در دسترس است. یکی از بهترین منابع، سایت رسمی‎ این شرکت است. از طریق این سایت می‎توانید اسناد و مطالب آموزشی پرباری را مطالعه کنید که شامل بخش ویکی به همراه پیشنهادها و توصیه‎های سایر کاربران نیز می‎شود.

وردپرس نیز به دلیل محبوبیت زیاد بین کاربران به محصول منبع‌باز معروفی تبدیل شده است. می‎توانید از سایت رسمی‎ آن منابع فراوان و ارزشمندی را به دست آورید. علاوه بر این، در محیط وب، اطلاعات، منابع آموزشی، کتاب‎ها و وبلاگ‎های فراوانی درباره وردپرس وجود دارد که می‎تواند برای نصب و استفاده از قابلیت‎های ارزشمند این سیستم مدیریت محتوای معروف به شما کمک کند. در صورت مواجه شدن با مشکلات احتمالی چه در زمان نصب و چه در زمان استفاده، می‎توانید با جست‌وجو در http://wordpress.org یا موتورهای جست‌وجو، به سرعت راه‌حل رفع مشکل را پیدا کنید.

 

گیگ بوی سایت شبکه و محتوی شبکه : دانلود بهترین نرم افزارهای شبکه و آموزش های مختلف از دنیای شبکه با ما همراه باشید.

منبع shabakeh-mag
ارسال یک نظر

آدرس ایمیل شما منتشر نخواهد شد.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.