我是Web开发的新手,如果问题有点不合适或太简单,我很抱歉。我刚刚使用Laravel完成了我的第一个Web应用程序的开发,它旨在用作特定设施的内部网应用程序。我在Windows机器上开发了该应用程序,现在我们正在推进部署,我可以远程访问设施的服务器(Windows Server 2012)。但是,服务器没有互联网连接,所以我只能复制,粘贴(或任何其他离线操作),所以我离线安装了XAMPP,只需将粘贴的项目文件复制到服务器的htdocs目录中,然后我在以下文件中添加了服务器名称 "C:\xampp\apache\conf\extra\httpd-vhosts" "C:\Windows\System32\drivers\etc\hosts" 这样:
in "C:xamppapacheconfextrahttpd-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:WindowsSystem32driversetchosts"
127.0.0.1 localhost
127.0.0.1 www.something.com
这样做后,应用程序会正常启动,但当然还需要在服务器中配置数据库,所以这是我的问题: 1-这是做这样的事情的正确方法,还是有更好的方法(就安全性、可维护性等总体标准而言......等等)? 2-如果这是正确的方法,那么我应该将数据库从我的机器复制粘贴到服务器,还是应该要求他们提供对服务器的互联网访问,以便我可以安装作曲家、git 和其他工具,允许我从代码自动生成数据库? 3-如果我继续以这种方式使用它,修改代码将非常烦人,因为每次我编辑某些内容时,我都必须遵循在我的机器中编辑了哪些文件,并在服务器中相应地更改它们,那么维护应用程序的正确方法是什么?还是只能在服务器中使用互联网连接?
很抱歉,如果问题太长,我只是新手,想对 Web 应用程序的部署有一个整体的想法,当然,如果有任何其他完全不同的方法,我很高兴知道它。
您应该具有数据库连接所需的信息,例如主机、端口、用户名、密码和数据库名称。 获得它们后,只需编辑远程项目目录中的.env
文件即可匹配这些信息。
然后运行将创建数据库和所有表的php artisan migrate
。您不需要互联网连接即可执行此操作。
由于您的远程计算机没有互联网连接,因此您可以将所有文件从本地目录复制到远程计算机。Composer 只会将所有内容安装到vendor
目录中,但如果您也复制它,则无需运行composer
。
为了加快这个过程,你可以使用WinSCP,它将允许你同步你的本地和远程目录。当然,这不是最佳实践,但在您的情况下是一个巨大的帮助。