Configure Nginx for virtual hosts with same port
Jim Ohlstein
jim at mailman-hosting.com
Tue Jun 20 10:45:18 UTC 2017
Hello,
On 06/20/2017 06:17 AM, guruprasads wrote:
> Hi all,
>
> I am trying to configure 3 virtual hosts for single server with same port,
> but php is not working for all virtual hosts.
>
> My requirement is as below,
>
> IP:port-A/
> IP:port-A/local
> IP:port-A/viewer
>
> These 3 virtual hosts i want to configure, only html contents are displaying
> on browser, if i add php code its not displaying any php actions(like i
> written simply echo "guru";).
>
> below is my configuration file content.
>
> server {
>
> listen 80 default;
> listen 443 ssl;
> server_name $hostname;
> client_max_body_size 16384M;
>
> location / {
> root /opt/xxx/yyy/myweb/admin;
> index index.php index.phtml index.html index.htm;
> try_files $uri $uri/ /index.php$is_args$args;
> }
>
> location /viewer {
> root /opt/xxx/yyy/myweb/viewer;
> index index.php index.phtml index.html index.htm;
> try_files $uri $uri/ /index.php$is_args$args;
> }
>
> location /local {
> root /opt/xxx/yyy/myweb/local;
> index index.php index.phtml index.html index.htm;
> try_files $uri $uri/ /index.php$is_args$args;
> }
>
>
> location ~ \.php$ {
> root /opt/xxx/yyy/myweb/admin;
> try_files $uri =404;
> fastcgi_pass 127.0.0.1:9000;
> fastcgi_index index.php;
> fastcgi_param SCRIPT_FILENAME
> $document_root$fastcgi_script_name;
> fastcgi_split_path_info ^(.+\.php)(/.+)$;
> fastcgi_intercept_errors on;
> fastcgi_read_timeout 300;
> include fastcgi_params;
> }
>
> location ~ \.php$ {
> root /opt/xxx/yyy/myweb/viewer;
> try_files $uri =404;
> fastcgi_pass 127.0.0.1:9000;
> fastcgi_index index.php;
> fastcgi_param SCRIPT_FILENAME
> $document_root$fastcgi_script_name;
> fastcgi_split_path_info ^(.+\.php)(/.+)$;
> fastcgi_intercept_errors on;
> fastcgi_read_timeout 300;
> include fastcgi_params;
> }
>
> location ~ \.php$ {
> root /opt/xxx/yyy/myweb/local;
> try_files $uri =404;
> fastcgi_pass 127.0.0.1:9000;
> fastcgi_index index.php;
> fastcgi_param SCRIPT_FILENAME
> $document_root$fastcgi_script_name;
> fastcgi_split_path_info ^(.+\.php)(/.+)$;
> fastcgi_intercept_errors on;
> fastcgi_read_timeout 300;
> include fastcgi_params;
> }
> }
>
This configuration will never do what you expect. All PHP requests will
be handled by the first "php" location. See
http://nginx.org/en/docs/http/ngx_http_core_module.html#location.
--
Jim Ohlstein
Profesional Mailman Hosting
https://mailman-hosting.com
More information about the nginx
mailing list