如何将开发好的laravel项目部署到远程服务器做内网应用?
How to deploy a developed laravel project to a remote server to be an intranet application?
我是网络开发的新手,如果问题有点不合适或太简单,我深表歉意。我刚刚使用 Laravel 完成了我的第一个 Web 应用程序的开发,它旨在用作特定设施的 Intranet 应用程序。我在我的 windows 机器上开发了应用程序,现在我们正在推进部署,我可以远程访问设施的服务器(windows 服务器 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-如果这是正确的方法,那么我应该只是将数据库从我的机器复制粘贴到服务器,还是应该让他们提供对服务器的互联网访问,以便我可以安装作曲家、git 和其他工具这允许我从代码中自动生成数据库?
3-如果我继续以这种方式使用它,修改代码将非常烦人,因为每次我编辑一些东西时,我都必须遵循在我的机器中编辑了哪些文件并相应地在服务器中更改它们,所以什么是正确的方法去维护应用程序?还是只能在服务器中使用互联网连接?
如果问题太长,我很抱歉,我只是新手,想对 Web 应用程序的部署有一个整体的了解,当然,如果有任何其他完全不同的方式来做到这一点,我很高兴知道它。
您应该有数据库连接所需的信息,例如主机、端口、用户名、密码和数据库名称。
获得它们后,只需编辑远程项目目录中的 .env
文件以匹配这些信息。
然后 运行 php artisan migrate
这将创建数据库和所有表。您不需要互联网连接即可执行此操作。
由于您的远程机器没有互联网连接,您可以将本地目录中的所有文件复制到远程机器。 Composer 只会将所有内容安装到 vendor
目录中,但如果您也复制它,则不需要 运行 composer
.
要稍微加快此过程,您可以使用 WinSCP 来同步本地和远程目录。当然这不是最佳做法,但对您的情况有很大帮助。
我是网络开发的新手,如果问题有点不合适或太简单,我深表歉意。我刚刚使用 Laravel 完成了我的第一个 Web 应用程序的开发,它旨在用作特定设施的 Intranet 应用程序。我在我的 windows 机器上开发了应用程序,现在我们正在推进部署,我可以远程访问设施的服务器(windows 服务器 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-如果这是正确的方法,那么我应该只是将数据库从我的机器复制粘贴到服务器,还是应该让他们提供对服务器的互联网访问,以便我可以安装作曲家、git 和其他工具这允许我从代码中自动生成数据库? 3-如果我继续以这种方式使用它,修改代码将非常烦人,因为每次我编辑一些东西时,我都必须遵循在我的机器中编辑了哪些文件并相应地在服务器中更改它们,所以什么是正确的方法去维护应用程序?还是只能在服务器中使用互联网连接?
如果问题太长,我很抱歉,我只是新手,想对 Web 应用程序的部署有一个整体的了解,当然,如果有任何其他完全不同的方式来做到这一点,我很高兴知道它。
您应该有数据库连接所需的信息,例如主机、端口、用户名、密码和数据库名称。
获得它们后,只需编辑远程项目目录中的 .env
文件以匹配这些信息。
然后 运行 php artisan migrate
这将创建数据库和所有表。您不需要互联网连接即可执行此操作。
由于您的远程机器没有互联网连接,您可以将本地目录中的所有文件复制到远程机器。 Composer 只会将所有内容安装到 vendor
目录中,但如果您也复制它,则不需要 运行 composer
.
要稍微加快此过程,您可以使用 WinSCP 来同步本地和远程目录。当然这不是最佳做法,但对您的情况有很大帮助。