اگر سرور دایرکت ادمین دارید و قصد دارید که از وب سرور nginx روی آن استفاده کنید، در رابطه با کارکرد صحیح وردپرس باید به نکاتی توجه کنید که در این مقاله به آنها اشاره می کنیم. معمولاً در چنین شرایطی خطایی که دریافت میکنید، خطای 404 در مواجه با صفحات داخلی سایتهای وردپرس روی سرور است.
یکی از احتیاجات وردپرس، برای اینکه URL های آن به درستی کار کند، rewrite rules است که وب سرور Apache اجازهٔ تغییر تنظیمات آن را به ازای پوشه توسط فایل htaccess میدهد. یعنی خود وردپرس با ایجاد تغییرات در فایل htaccess در هر پوشهای از محل نصب وردپرس، میتواند تنظیمات rewrite rules را باب میل خود انجام دهد.
اما مشکلی که روی nginx وجود دارد این است که این وب سرور از htaccess پشتیبانی نمیکند. پس خود وردپرس قادر به انجام تنظیمات دلخواه rewrite rules خودش روی وب سرور نیست. بنابراین اگر شما دسترسی روت به سرور دارید، تنها از طریق تنظیمات کلی nginx میتوانید این کار را انجام دهید تا وردپرس بدون مشکل به کار خودش ادامه دهد.
بنابراین باید طبق آموزش خود وردپرس که در مستنداتش منتشر کرده است عمل نمایید و تنظیمات اصلی nginx را اصلاح کنید:
https://wordpress.org/documentation/article/nginx/
اما اگر نخواسته باشید از این روش استفاده کنید، یک راه کار تقریبا سادهتری هم وجود دارد و آن استفاده از ترکیب Apache + Nginx است. در این حالت انجینیکس در پشت آپاچی قرار میگیرد و در اصل کار مدیریت درخواستها را آپاچی و پردازشهای اصلی را انجینیکس انجام میدهد. در نهایت هم چیزی که مشخص است این است که وب سرور انجینیکس روی سرور شما نصب است.
برای این منظور به واسطهٔ Custombuild میتوانید ترکیب nginx_apache را روی سرور خود نصب نمایید. در مقالات دیگری از مرکز آموزش وبنولوگ راجع به طریقهٔ کار با کاستوم بیلد آموزشهایی منتشر شده است. اما برای راحتی کار شما هم دستوراتی که باید برای این منظور استفاده کنید در زیر آورده شدند:
cd /usr/local/directadmin/custombuild
./build update
./build update_da
./build set webserver nginx_apache
./build nginx_apache
./build rewrite_confs
در نظر داشته باشید که در روش اول همچنان شما به تنهایی از nginx روی سرور خود استفاده میکنید. اما در روش دوم ترکیب nginx و apache را خواهید داشت که معمولا پیاده سازی این روش بهینهتر و سادهتر است.