Назад | Перейти на главную страницу

Запуск Joomla с Nginx

Я хочу запустить несколько сайтов joomla на веб-сервере под управлением nginx. У меня есть доступ к файлам конфигурации. Прямо сейчас у меня есть один файл конфигурации для каждого сайта, который я запускаю, он выглядит примерно так:

 server {
    listen 80;
    server_name www.myjoomlasite.com
    server_name_in_redirect off;

    access_log /var/log/nginx/localhost.access_log main;
    error_log /var/log/nginx/localhost.error_log info;

    root /var/www/domain;
    index index.php;
    # Support Clean (aka Search Engine Friendly) URLs
    location / {
            try_files $uri $uri/ /index.php?q=$uri&$args;
    }

    index index.php index.html index.htm default.html default.htm;
    # deny running scripts inside writable directories
    location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
            return 403;
            error_page 403 /403_error.html;
    }

    location ~ .*.php$ {
        include /opt/nginx/conf/fastcgi.conf;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    # caching of files
    location ~* \.(ico|pdf|flv)$ {
            expires 1y;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
            expires 14d;
    }

}

Вышеупомянутая конфигурация работает хорошо, и когда я нажимаю www.domain.com в моем браузере, появляется мой сайт.

Я хочу иметь возможность писать www.myserver.com/myjoomlasite, а также видеть мой сайт.

Как лучше всего этого добиться?

Спасибо

добавьте «www.myserver.com» в строку server_name, а также сделайте то, что было предложено в приведенном выше ответе (переписано, чтобы соответствовать вашему запросу).

location /joomlasite/ {
    root /path/to/your/joomla/root;
}

Это сделает ваш сайт доступным по 4 адресам:

  • www.myjoomlasite.com
  • www.myjoomlasite.com/joomlasite/
  • www.myserver.com
  • www.myserver.com/joomlasite/

Вы можете использовать оператор перезаписи или root. Последний самый простой:

location /page/ {
    root /my/absolute/path/library/content/folder/country;
}