【问题标题】:Laravel Ubuntu server deploymentLaravel Ubuntu 服务器部署
【发布时间】:2018-07-08 00:48:00
【问题描述】:

我在 Laravel 中有一个项目,我想将它部署在我的新 Ubuntu 16.4 服务器中。 我已经安装了所有需要的包,并且我的项目在服务器中运行良好。

起初它可以从 --> "IP-Address/project-name/public/index.php" 访问,然后我在 "/etc/apache2/sites-availabe/000-default.conf" 中做了一些更改:

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/panel/public/
        <Directory /var/www/html/panel>"
          AllowOverride All
        </Directory>

“panel”是我在 Laravel 中的项目名称。 所以现在我可以从“http://IP-Address”访问我的项目,但由于该项目有 2 个部分作为前面板和管理面板,我想在 URL 中访问项目,例如 “IP-Address/”用于 javascript Web 部件,“IP-address/panel”用于使用 Laravel 开发的管理面板。

【问题讨论】:

  • 为什么不使用路由器组?
  • 你的意思是 PHP 代码中的路由组件?

标签: php laravel apache ubuntu-16.04 web-deployment


【解决方案1】:

我的 Apache 的配置文件

<VirtualHost *:80>
    ServerName localhost
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html/public

    <Directory "/var/www/html/public">
        AllowOverride all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Laravel 的项目在/var/www/html 目录下。

要拥有应用程序的另一部分(例如 /admin 路径下的管理面板),您应该使用 Laravel 的路由器组。这里有link to documentation

文档中的示例

Route::prefix('admin')->group(function () {
    Route::get('users', function () {
        // Matches The "/admin/users" URL
    });
});

如果您想要/panel 前缀,只需将admin 更改为panel。面板的所有路由都在该组中声明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多