nginx php with wordpress at root and another app in subdirectory
nginx, php
Solution
I don't know how to do it using your alias and setting $php_root. I do know how to fix it if you make a symbolic link from the external folder into your wordpress-rootdirectory.
So using the terminal you make a symbolic link so that your stacks-subdirectory is an actual subdirectory:
ln -s /another/path/to/usr/local/share/stacks/php /path/to/nginx/html/wordpress/stacks
As an nginx-config I would use
server {
listen myserver.edu:8081;
server_name myserver.edu:8081;
root /path/to/nginx/html/wordpress;
index index.php;
location / {
try_files $uri $uri/ /index.php;
}
location /stacks {
try_files $uri $uri/ /stacks/index.php;
}
location ~ \.php$ {
fastcgi_pass localhost:8082;
include fastcgi_params;
}
}
Problem
I'm having some issues getting a subdirectory working on my nginx server. I'm using nginx to serve a wordpress installation as the web root, and trying to run an additional php application at a subdirectory. Wordpress runs fine, but I cannot for the life of me get the application to run in the subdirectory without a 404, 403, or "No input file specified." error with various configurations. I'm sure there is something obvious, but I can't seem to figure it out! Here is the relevant config: Any help would be greatly appreciated! ``` server { listen myserver.edu:8081; server_name myserver.edu:8081; try_files $uri $uri/ /index.php; location / { root /path/to/nginx/html/wordpress; index index.php; } location /stacks { alias /another/path/to/usr/local/share/stacks/php; index index.php; } location ~ \.php$ { set $php_root /path/to/nginx/html/wordpress; include fastcgi_params; fastcgi_pass localhost:8082; fastcgi_param SCRIPT_FILENAME $php_root$fastcgi_script_name; } location ~ \stacks.php$ { set $php_root /another/path/to/usr/local/share/stacks/php; include fastcgi_params; fastcgi_pass localhost:8082; fastcgi_param SCRIPT_FILENAME $php_root$fastcgi_script_name; } ```