Can we use nginx for both wordpress and drupal? Can we use nginx for both wordpress and drupal? nginx nginx

Can we use nginx for both wordpress and drupal?


You can run multiple sites using nginx, analogous to an apache vhost.

In /etc/nginx/sites-enabled, you can add two vhosts

wordpress.example.com

server {       listen 80;       server_name wordpress.example.com;       root /var/www/wordpress;#      if ($http_host != "www.example.com") {#                rewrite ^ http://www.example.com$request_uri permanent;#      }       index index.php index.html;       location = /favicon.ico {                log_not_found off;                access_log off;       }       location = /robots.txt {                allow all;                log_not_found off;                access_log off;       }       # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).       location ~ /\. {                deny all;                access_log off;                log_not_found off;       }       location / {                try_files $uri $uri/ /index.php?$args;       }       # Add trailing slash to */wp-admin requests.       rewrite /wp-admin$ $scheme://$host$uri/ permanent;       location ~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {                expires max;                log_not_found off;       }       location ~ \.php$ {                try_files $uri =404;                include /etc/nginx/fastcgi_params;                fastcgi_pass 127.0.0.1:9000;                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;       }}

and

drupal.example.com

server {       listen 80;       server_name drupal.example.com;       root /var/www/drupal;#      if ($http_host != "www.example.com") {#                rewrite ^ http://www.example.com$request_uri permanent;#      }       index index.php index.html;       location = /favicon.ico {                log_not_found off;                access_log off;       }       location = /robots.txt {                allow all;                log_not_found off;                access_log off;       }       # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).       location ~ /\. {                deny all;                access_log off;                log_not_found off;       }       location / {                try_files $uri $uri/ /index.php?$args;       }       # Add trailing slash to */wp-admin requests.       rewrite /wp-admin$ $scheme://$host$uri/ permanent;       location ~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {                expires max;                log_not_found off;       }       location ~ \.php$ {                try_files $uri =404;                include /etc/nginx/fastcgi_params;                fastcgi_pass 127.0.0.1:9001;                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;       }}