使用 Nginx 运行 Joomla

使用 Nginx 运行 Joomla

我想在运行 nginx 的 Web 服务器上运行多个 joomla 网站。我可以访问配置文件。目前,我运行的每个网站都有一个配置文件,如下所示:

 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 并查看我的网站。

实现这一目标的最佳方法是什么?

谢谢

答案1

您可以使用重写语句或 root。后者最简单:

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

答案2

在您的 server_name 行中添加“www.myserver.com”,并按照上面的答案建议进行操作(重写以与您的请求更相关)。

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

这将使您的网站在 4 个 URL 上可用:

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

相关内容