Skip to content

nginx configuration

Jakob Garde edited this page Jun 7, 2017 · 8 revisions

Altering a copy of the default configuration for nginx is by far the easiest.

enabling php

$ apt-get install php5-cli php5-fpm 

nginx config

    root /srv/mcweb;
    index index.html index.htm index.php;

    server_name mcstas-02.fysik.dtu.dk;
    charset utf-8;

    client_max_body_size 75M;

    # simulator
    rewrite ^/simulator/(.*)$ /;
    location /static {
        alias      /srv/mcweb/McWeb/mcsimrunner/static;
    }
    location /out {
        alias      /srv/mcweb/McWeb/mcsimrunner/out;
    }
    location / {
        uwsgi_pass unix:/srv/mcweb/McWeb/mcweb.sock;
        include    /etc/nginx/uwsgi_params;
    }

    rewrite ^/moodle/(.*\.php)(/)(.*)$ /moodle/$1?file=/$3 last;
    location /moodle {
        alias /srv/mcweb/moodle;
    }

    location /mediawiki {
        alias /srv/mcweb/mediawiki;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        try_files $uri $uri/ = 404;
        #   # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #   # With php5-fpm:
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

NOTE: The server name, "mcstas-02.fysik.dtu.dk", is just an example and you should fill in your own server name.

After altering any configurations, restart nginx:

$ sudo service nginx restart

extend the file fastcgi_params located in '/etc/nginx'

    fastcgi_param	PATH_INFO		$fastcgi_path_info;
    fastcgi_param	PATH_TRANSLATED		$document_root$fastcgi_path_info;

    fastcgi_param	QUERY_STRING		$query_string;
    fastcgi_param	REQUEST_METHOD		$request_method;
    fastcgi_param	CONTENT_TYPE		$content_type;
    fastcgi_param	CONTENT_LENGTH		$content_length;

    fastcgi_param	SCRIPT_FILENAME		$document_root$fastcgi_script_name;
    fastcgi_param	SCRIPT_NAME		$fastcgi_script_name;
    fastcgi_param	REQUEST_URI		$request_uri;
    fastcgi_param	DOCUMENT_URI		$document_uri;
    fastcgi_param	DOCUMENT_ROOT		$document_root;
    fastcgi_param	SERVER_PROTOCOL		$server_protocol;

    fastcgi_param	GATEWAY_INTERFACE	CGI/1.1;
    fastcgi_param	SERVER_SOFTWARE		nginx/$nginx_version;

    fastcgi_param	REMOTE_ADDR		$remote_addr;
    fastcgi_param	REMOTE_PORT		$remote_port;
    fastcgi_param	SERVER_ADDR		$server_addr;
    fastcgi_param	SERVER_PORT		$server_port;
    fastcgi_param	SERVER_NAME		$server_name;

    fastcgi_param	HTTPS			$https;