首页 > 解决方案 > 如何将开发好的laravel项目部署到远程服务器成为内网应用?

问题描述

我是网络开发的新手,如果问题有点不合适或太简单,我很抱歉。我刚刚使用 Laravel 完成了我的第一个 Web 应用程序的开发,它旨在用作特定设施的 Intranet 应用程序。我在我的 windows 机器上开发了应用程序,现在我们正在推进部署,我可以远程访问设施的服务器(windows server 2012)。但是,服务器没有互联网连接,所以我只能复制,粘贴(或任何其他离线操作),所以我离线安装了XAMPP并将粘贴的项目文件复制到服务器的htdocs目录中,然后我添加了服务器以下文件中的名称 "C:\xampp\apache\conf\extra\httpd-vhosts" "C:\Windows\System32\drivers\etc\hosts" 如下所示:

in "C:\xampp\apache\conf\extra\httpd-vhosts"

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/proj/public"
    ServerName www.something.com
</VirtualHost>
in "C:\Windows\System32\drivers\etc\hosts"

127.0.0.1 localhost
127.0.0.1 www.something.com

这样做后应用程序正常启动,但当然数据库也需要在服务器中配置,所以这是我的问题: 1-这是做这样的事情的正确方法,还是有更好的方法这样做的方式(就安全性、可维护性等总体标准而言)?2-如果这是正确的方法,那么我应该只是将数据库从我的机器复制粘贴到服务器,还是应该要求他们提供对服务器的 Internet 访问,以便我可以安装 composer、git 和其他允许我的工具从代码自动生成数据库?3-如果我继续以这种方式使用它,修改代码将非常烦人,因为每次我编辑某些东西时,我都必须遵循在我的机器中编辑了哪些文件并相应地在服务器中更改它们,那么维护应用程序的正确方法是什么?还是只能在服务器中使用互联网连接?

如果问题太长,我很抱歉,我只是新手,想对 Web 应用程序的部署有一个总体了解,当然,如果有其他完全不同的方法,我很高兴知道它。

标签: phplaraveldeploymentwindows-server-2012intranet

解决方案


您应该拥有数据库连接所需的信息,例如主机、端口、用户名、密码和数据库名称。拥有它们后,只需编辑.env远程项目目录中的文件以匹配这些信息。

然后运行php artisan migrate它将创建数据库和所有表。你不需要互联网连接来做到这一点。

由于您的远程计算机没有 Internet 连接,您只需将所有文件从本地目录复制到远程计算机即可。Composer 只会将所有内容安装到vendor目录中,但如果您也复制它,则无需运行composer.

为了稍微加快这个过程,您可以使用WinSCP,它允许您同步本地和远程目录。当然,这不是最佳实践,但对您来说是一个巨大的帮助。


推荐阅读