部署此Laravel应用程序有什么问题?需要一个有效的域而不是在我本地环境上使用的VHOST



我在PHP中很新,而且在Laravel中,我非常拼命地试图部署 laravel 5.4 应用程序在我的Linux上在本地环境上正常工作正常远程服务器。

所以我认为这与Virtual 主机配置或类似的东西有关(也许也与 .htaccess 文件有关(

在我的本地环境中(我在Windows上使用 XAMPP (,我将此虚拟主机设置为 c: xampp apache apache conf conf fecul extra httpd-vhosts.conf 文件:

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/HotelRegistration/public"
    ServerName laravel.dev
</VirtualHost>

所以打开 laravel.dev url我获得了标准的laravel主页(我尚未用着陆页替换(。

然后,如果我打开此URL:http://laravel.dev/registration

我获得了由我开发的用户注册页面,这是因为我将此路由到我的 web.php 文件中:

Route::resource('/registration', 'RegistrationController');

然后进入我的 registrationController.php 有此方法显示 Resources/views/views/Index.blade.blade.php view

public function index(){
    return view('/registration/index');
}

都可以正常工作。

现在,我将这个Laravel网站上传到了我的远程Linux服务器,该文件夹中:/var/www/html/hotelregistration

但是现在我的问题是,在这个偏远的环境中,我没有虚拟主机(如果我做错了断言,请纠正我:从我了解的是,在本地环境上使用了虚拟主机来模拟Laravel需要的域指向 public 文件夹,这是正确的吗?(

无论如何,这是我在远程服务器上部署的网站的 public 文件夹的URL:

http://89.36.211.48/hotelregistration/public/

您可以看到打开它的Laravel Landing页面已正确显示,问题是我可以访问以前的注册页,我发现的唯一方法是打开此URL:

http://89.36.211.48/hotelregistration/public/index.php/registration

但是这很可怕,最重要的是,当提交注册表格时,它将生成有关此URL http://89.36.211.48/registration 的邮政请求找不到错误。

所以我认为这取决于以下事实:在此远程服务器中,我无法使用虚拟主机模拟域(就像我在本地环境上一样(,但我不是确定。

我该怎么办来解决这种情况?您是否认为使用有效域(类似:www.myregistration.com(指向我的远程服务器的此目录 http://89.36.211.48/hotelregistration/public/public/我可以解决此问题问题?

您需要在服务器中配置域,并且需要重新配置Apache。我正在考虑您有Apache2服务器,所以您可以在这里做:

步骤1 转到Apache2文件夹 CD/ETC/APACHE2

步骤2 您可以看到网站 - 可用文件夹在其中 CD站点 - 可用

步骤3 制作一个新文件名, laravel.dev.conf

步骤4 写下以下 sudo nano laravel.dev.conf.conf

步骤5 写下以下选项:

<VirtualHost *:80>
     ServerAdmin webmaster@laravel.dev
     ServerName laravel.dev
     ServerAlias www.laravel.dev
     DocumentRoot /var/www/html/laravel.dev/public/
     ErrorLog /var/www/html/laravel.dev/logs/error.log
     CustomLog /var/www/html/laravel.dev/logs/access.log combined
     <Directory /var/www/html/laravel.dev/public/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order allow,deny
        Allow from all
        Require all granted
     </Directory>
</VirtualHost>

步骤6 现在转到此文件夹/创建一个新的 cd/var/www/html/laravel.dev

步骤7 复制/在此处安装Laravel应用程序。

步骤8 现在您可以通过键入 sudo a2ensite laravel.dev.conf.conf

来启用网站

步骤9 现在重新启动Apache2 sudo服务apache2 restart

现在您可以正确访问您的域。希望这会有所帮助。

因为您正在使用XAMPP

将以下内容添加到您的VirtualHost指令中:

<Directory "LINUX PATH TO /HotelRegistration/public">
        AllowOverride All
</Directory>

您的最终VirtualHost指令应该看起来像:

<VirtualHost *:80>
    DocumentRoot "LINUX PATH TO /HotelRegistration/public"
    ServerName 89.36.211.48
    <Directory "LINUX PATH TO /HotelRegistration/public">
        AllowOverride All
    </Directory>
</VirtualHost>

在配置更改后,重新启动apache,然后您就可以了。

最新更新