GoFuckYourself.com - Adult Webmaster Forum

GoFuckYourself.com - Adult Webmaster Forum (https://gfy.com/index.php)
-   Fucking Around & Business Discussion (https://gfy.com/forumdisplay.php?f=26)
-   -   Any Nginx / WordPress Experts here? (https://gfy.com/showthread.php?t=1269031)

Validus 06-26-2017 07:25 AM

Any Nginx / WordPress Experts here?
 
We're having some nasty issues on our Nignx / WordPress setup. I'm getting to a place of panic because revenue is being impacted, affiliates are really upset and started to pull traffic - it's really impacting us.

I just need someone who knows this type of setup inside and out to look at it and provide some feedback. We can then pass that on to the hosting company - maybe help that way.

Any pros that can be recommended?

blackmonsters 06-26-2017 07:55 AM

Quote:

Originally Posted by Validus (Post 21854497)
We're having some nasty issues on our Nignx / WordPress setup. I'm getting to a place of panic because revenue is being impacted, affiliates are really upset and started to pull traffic - it's really impacting us.

I just need someone who knows this type of setup inside and out to look at it and provide some feedback. We can then pass that on to the hosting company - maybe help that way.

Any pros that can be recommended?

Please contact me on skype (econfirmpro) to discuss this.

Thanks

Klen 06-26-2017 08:06 AM

I gonna guess how you have issue with url rewrites, so yes this is hosting issue so your host should resolve it.

myleene 06-26-2017 05:23 PM

I can take a look. Contact me.

Brad Mitchell 06-26-2017 07:55 PM

If you ever want unmanaged hosting with optional support when you need it, please consider us in the future.

https://cs.mojohost.com/cart.php?gid=23

Plans starting at $10, support starting at $29. Best of luck - if you're still in a bind tomorrow during the day EST send me an email and I'll make a tech available to you.

Cheers,

Brad

Validus 06-27-2017 10:55 AM

Quote:

Originally Posted by Brad Mitchell (Post 21856168)
If you ever want unmanaged hosting with optional support when you need it, please consider us in the future.

https://cs.mojohost.com/cart.php?gid=23

Plans starting at $10, support starting at $29. Best of luck - if you're still in a bind tomorrow during the day EST send me an email and I'll make a tech available to you.

Cheers,

Brad

Hi Brad, pretty happy where are at right now. Just having these massive issues with Nginx now and I don't think an unmanaged solution would be a good idea :)


Quote:

Originally Posted by myleene (Post 21855949)
I can take a look. Contact me.

Will do. Thank you!


Quote:

Originally Posted by KlenTelaris (Post 21854608)
I gonna guess how you have issue with url rewrites, so yes this is hosting issue so your host should resolve it.

Maybe. It's a mess. We have a production site, say example.com and we have a test site beta.example.com. Since the change, somewhat randomly, the production site started linking to the test site. We password protected beta.example.com to ensure users don't end up in our test environment, but now real users are getting the username / password prompt.

The hosting company thought it was the W3 Total Cache plugin, so we disabled it on both sites, but still same issue.


Quote:

Originally Posted by blackmonsters (Post 21854569)
Please contact me on skype (econfirmpro) to discuss this.

Thanks

Thanks! Will do.

Klen 06-27-2017 11:27 AM

Quote:

Originally Posted by Validus (Post 21857374)



Maybe. It's a mess. We have a production site, say example.com and we have a test site beta.example.com. Since the change, somewhat randomly, the production site started linking to the test site. We password protected beta.example.com to ensure users don't end up in our test environment, but now real users are getting the username / password prompt.

You definitely have problem with URL rewrites :D I suggest you to google for "convert apache regex to nginx" which automatically convert apache htaccess content to nginx regex. If it does not work with first converter tool , try with second. And also manually check converted content as well.

Brad Mitchell 06-27-2017 11:33 AM

If you're happy where you're at then by all means stay there. We sell mostly fully managed solutions, though are recently marketing unmanaged as well. If there is anything I can do to help, please don't hesitate to contact me if you get stuck. I would expect that this is something any managed host could help you with.

Thank you

Brad

CoolMikey 06-27-2017 11:38 AM

Are you still having issues with this?

fris 06-27-2017 05:40 PM

have a peek here

https://github.com/pothi/wordpress-nginx

has multiple examples and tweaks.

catchall domains, ssl, multisite etc.

https://github.com/pothi/wordpress-n...ites-available

Zverka 06-28-2017 07:17 AM

Quote:

Originally Posted by Validus (Post 21857374)

Maybe. It's a mess. We have a production site, say example.com and we have a test site beta.example.com. Since the change, somewhat randomly, the production site started linking to the test site. We password protected beta.example.com to ensure users don't end up in our test environment, but now real users are getting the username / password prompt.

The hosting company thought it was the W3 Total Cache plugin, so we disabled it on both sites, but still same issue.

First thing before accusing ngigx rewrite rules I would first check hardcoded stage site urls, I have seen this almost everyday. Developers sometimes use absolute urls instead of relative, and those are hardcoded either in database or in php somewhere.

This what you described it looks like what I think is, hardcoded absolute urls.

2 places to check:

1) database, dump database as .sql and opens in any txt editor, try to find stage site urls, it there are beta.example.com replace it with example

2) code, search entire public_html and try to find beta.example hardcoded in php

Lastly if this what I described is true, dump those developers ...

After this check you could proceed to nginx. This is my wp nginx that works for years

server {

listen 80;
server_name example.com;

root /home/sites/example.com/public_html;
access_log /home/sites/example.com/logs/access.log;
error_log /home/sites/example.com/logs/error.log;

location / {
index index.html index.htm index.php;
include /home/sites/example.com/public_html/nginx.conf;
}

location = /xmlrpc.php {
deny all;
#access_log off; #to prevent from filling up the access log file
#error_log off; #to prevent from filling up the error log file
}

location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm-sites.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)(\?ver=[0-9.]+)?$ {
expires 1y;
log_not_found off;
}

}

server {

listen 80;
server_name www.example.com;

root /home/sites/example.com/public_html;
access_log /home/sites/example.com/logs/access.log;
error_log /home/sites/example.com/logs/error.log;

location / {
index index.html index.htm index.php;
include /home/sites/example.com/public_html/nginx.conf;
}

location = /xmlrpc.php {
deny all;
#access_log off; #to prevent from filling up the access log file
#error_log off; #to prevent from filling up the error log file
}

location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm-sites.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)(\?ver=[0-9.]+)?$ {
expires 1y;
log_not_found off;
}

}

make sure server paths match yours.

And this is nginx.conf for wp pretty links rewrite, notice include it above conf

location / {
index index.html index.htm index.php;
include /home/sites/example.com/public_html/nginx.conf;
}

so this is nginx.conf

rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;

#if (!-e $request_filename) {
#rewrite ^(.+)$ /index.php?q=$1 last;
#}

if (!-e $request_filename) {
rewrite . /index.php last;
}


commented part

#if (!-e $request_filename) {
#rewrite ^(.+)$ /index.php?q=$1 last;
#}

was original I found for wp but somehow this one below works better on my server.

Zeiss 06-28-2017 08:10 AM

Most probably you have the beta subdomain config wrong. If it used to work before you added it, there it is you should look.

blackmonsters 06-28-2017 09:28 AM

Quote:

Originally Posted by Validus (Post 21857374)
Hi Brad, pretty happy where are at right now. Just having these massive issues with Nginx now and I don't think an unmanaged solution would be a good idea :)




Will do. Thank you!




Maybe. It's a mess. We have a production site, say example.com and we have a test site beta.example.com. Since the change, somewhat randomly, the production site started linking to the test site. We password protected beta.example.com to ensure users don't end up in our test environment, but now real users are getting the username / password prompt.

The hosting company thought it was the W3 Total Cache plugin, so we disabled it on both sites, but still same issue.




Thanks! Will do.


I tried to talk to you on skype but didn't hear anything back.


Any page/post/media created on the beta site gets assigned a url in the database that
links to the beta site.


The urls are not relative urls; they are the full http links.


You can't just move the beta database to the main site without changing the urls in the database.

If the beta site used the same database as the main site to test, then anything page/post/media added on the test site will have to be changed in the database.


:2 cents:

EddyTheDog 06-28-2017 01:32 PM

Quote:

Originally Posted by Zverka (Post 21858928)
First thing before accusing ngigx rewrite rules I would first check hardcoded stage site urls, I have seen this almost everyday. Developers sometimes use absolute urls instead of relative, and those are hardcoded either in database or in php somewhere.

This what you described it looks like what I think is, hardcoded absolute urls.

2 places to check:

1) database, dump database as .sql and opens in any txt editor, try to find stage site urls, it there are beta.example.com replace it with example

2) code, search entire public_html and try to find beta.example hardcoded in php

Lastly if this what I described is true, dump those developers ...

After this check you could proceed to nginx. This is my wp nginx that works for years

server {

listen 80;
server_name example.com;

root /home/sites/example.com/public_html;
access_log /home/sites/example.com/logs/access.log;
error_log /home/sites/example.com/logs/error.log;

location / {
index index.html index.htm index.php;
include /home/sites/example.com/public_html/nginx.conf;
}

location = /xmlrpc.php {
deny all;
#access_log off; #to prevent from filling up the access log file
#error_log off; #to prevent from filling up the error log file
}

location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm-sites.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)(\?ver=[0-9.]+)?$ {
expires 1y;
log_not_found off;
}

}

server {

listen 80;
server_name www.example.com;

root /home/sites/example.com/public_html;
access_log /home/sites/example.com/logs/access.log;
error_log /home/sites/example.com/logs/error.log;

location / {
index index.html index.htm index.php;
include /home/sites/example.com/public_html/nginx.conf;
}

location = /xmlrpc.php {
deny all;
#access_log off; #to prevent from filling up the access log file
#error_log off; #to prevent from filling up the error log file
}

location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm-sites.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)(\?ver=[0-9.]+)?$ {
expires 1y;
log_not_found off;
}

}

make sure server paths match yours.

And this is nginx.conf for wp pretty links rewrite, notice include it above conf

location / {
index index.html index.htm index.php;
include /home/sites/example.com/public_html/nginx.conf;
}

so this is nginx.conf

rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;

#if (!-e $request_filename) {
#rewrite ^(.+)$ /index.php?q=$1 last;
#}

if (!-e $request_filename) {
rewrite . /index.php last;
}


commented part

#if (!-e $request_filename) {
#rewrite ^(.+)$ /index.php?q=$1 last;
#}

was original I found for wp but somehow this one below works better on my server.

Sounds about right - I would try this first...


All times are GMT -7. The time now is 12:12 AM.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
©2000-, AI Media Network Inc