虚拟主机在 ubuntu LAMP 堆栈中无法正常工作

Posted

技术标签:

【中文标题】虚拟主机在 ubuntu LAMP 堆栈中无法正常工作【英文标题】:Virtual hosts not working properly in ubuntu LAMP stack 【发布时间】:2021-08-21 05:17:30 【问题描述】:

我通过以下方式创建了虚拟主机:

    创建 laravel.test.conf 为
 - cd /etc/apache2/sites-available
 - sudo nano laravel.test.conf
    然后将laravel.test.conf更新为
<VirtualHost *:80>

    ServerName laravel.test
    ServerAlias www.laravel.test
    ServerAdmin admin@laravel.test

    DocumentRoot /var/www/laravel/public
    <Directory /var/www/laravel/public/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog $APACHE_LOG_DIR/error.log
    CustomLog $APACHE_LOG_DIR/access.log combined

</VirtualHost>

    运行命令:sudo a2ensite laravel.test

    提供的权限:

sudo chown -R www-data: /var/www/laravel
sudo chown -R $USER:$USER /var/www/laravel
sudo chmod -R 755 /var/www
    etc/hosts 上添加了站点名称
127.0.0.1 laravel.test www.laravel.test

    重新加载 apache sudo systemctl reload apache2

    运行 configtest sudo apachectl configtest 并收到 Syntax Ok

    重启apache服务器sudo systemctl restart apache2

现在,当我点击larave.test 时,它会成功加载网站,但是当我尝试点击任何其他路线时,它会返回404 错误,如图所示。

这个应用程序是新安装的带有laravel breeze 的 laravel 应用程序,所以我非常有信心有一条有效的路线。最重要的是,如果是 laravel,错误,它会在应用级别记录它,并且 404 页面会有不同的 UI。

我已经检查了laravel/storage/logs 上的错误日志以及var/log/apache2/error.log 上的 apache2 日志,但是这两个日志文件都是空的。

【问题讨论】:

【参考方案1】:

确保您的 rewrite 模组已启用。

或者直接在终端运行

$ sudo a2enmod rewrite

$ sudo systemctl reload apache2

【讨论】:

以上是关于虚拟主机在 ubuntu LAMP 堆栈中无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 突然停止了 LAMP 堆栈

LAMP 服务器,网站无法在主机上正确显示

sh 在Ubuntu 16.04中,Lamp堆栈,sublime,appache2配置更改,wp cli安装,节点安装

WSL2 虚拟主机 IP 地址

找不到 Ubuntu Apache2 本地虚拟主机 url

在 Google Cloud VM 上重置丢失的 Bitnami LAMP 堆栈密码