【问题标题】:laravel right server configuration for host several sitelaravel 对主机多个站点的服务器配置
【发布时间】:2017-09-02 16:31:26
【问题描述】:

我在vps上上传了一个laravel项目,我不明白如何配置所有东西:

  • vps 上有多个站点(laravel 项目); (这很棘手,因为我发现的所有配置示例都在谈论将服务器的根目录指向公共 laravel 的文件夹)
  • .env 和 .composer 以及所有无法直接访问的系统文件夹;

  • 这是设置各种文件夹的正确用户和权限;

在我的系统中:

  1. 具有标准权限的 www-data 经典 apache 组;
  2. 非root用户,用于访问mysql和ftp服务;
  3. root 用户;

我在 ubuntu 服务器 16.04 上使用 apache2。

【问题讨论】:

  • 您可以创建多个虚拟主机并为每个 laravel 文件夹定义不同的路径,确保您有权更改 apache 配置。 support.rackspace.com/how-to/…
  • @Rodrane 我不能简单地将具有正确权限的 varius 文件夹与每个公用文件夹的 .htacces 放在一起?是一个不适合真实用户的测试环境,或者在某些方面可以从用户访问

标签: apache laravel file-permissions vps


【解决方案1】:

根据问题,我假设您想在 VPS 上托管多个 Laravel 站点而不会搞砸任何事情!

我们开始吧! 假设您在 /var/www 目录中创建站点的目录,因为这是您的 Basic Apache 目录所在的位置。

站点 1 的配置:
->站点 1 的虚拟主机

<VirtualHost *:80>
    DocumentRoot "var/www/site1/public"
    ServerName www.site1.com

    # Other directives here
</VirtualHost>

-> 站点 1 的目录(在此处上传您的项目)/var/www/site1

站点 2 的配置:
->站点 2 的虚拟主机

<VirtualHost *:80>
    DocumentRoot "var/www/site2/public"
    ServerName www.site2.com

    # Other directives here
</VirtualHost>

-> 站点 2 的目录(在此处上传您的项目)/var/www/site2

这是诀窍!因为 Laravel 有其 @987654326 @ 文件在项目的 Public 文件夹中,您的域将指向特定站点的 /var/www/site-x/public 文件夹!他们将在自己的 /var/www/site-x/ 目录中拥有自己的 composerconfig 文件!

所以,这就是您可以在同一个 VPS 上托管多个 Laravel 站点而不会搞砸任何事情的方法!我正在使用相同的技术!我认为这是唯一的一个技巧!让我知道这是否有效!

【讨论】:

  • 即使没有 dns 并且两者都指向同一个端口,这也能工作?我没有 www.site2 或其他什么...只是一个普通的 IP 地址
  • 您必须将您的域指向您服务器的 IP(A 记录)。除此之外,Apache 将处理答案中给出的技巧!
  • 没有 dns 是不可能的
猜你喜欢
  • 2015-06-21
  • 2014-02-23
  • 2013-12-02
  • 1970-01-01
  • 2017-05-22
  • 2021-10-02
  • 2018-12-13
  • 2015-07-29
  • 1970-01-01
相关资源
最近更新 更多