php - 如何将本地 Laravel 项目移动到 AWS 服务器?
问题描述
我有一个使用 XAMPP 在 Windows 10 上运行的 localhost Laravel 项目,一切正常。我现在想将此项目移至 AWS,以便与其他人共享。
具体来说,我想将它放在具有 Apache 和 PHP 7.0+ 的 EC2 服务器上,然后将 MariaDB 实例放在我将连接到的 RDS 实例上。
我知道如何设置 EC2 实例和 RDS 实例。我也知道如何设置 MariaDB 实例并编辑.env
文件以指向 RDS MariaDB 实例。
我不知道该怎么做是在 EC2 实例上移动/设置 Laravel 项目,以便我的所有文件都在那里,当我转到 EC2 实例的 IP 地址时,它会加载根控制器(即, Route::get('/', function () { ... })
)。
我的想法是移动所有内容,以便public
我的 Laravel 项目的文件夹与/var/www/html/
服务器上的目录匹配,但也许这不对。
另外,我应该将所有 npm/composer 文件从我的本地项目复制到服务器(通过 FTP 等),还是应该跳过这些然后运行一个npm install
和composer install
(对不起,不记得确切的命令)一次其他文件在服务器上?
我是否需要编辑 Apache 配置才能正常工作?如何?可能需要设置什么样的文件权限?
这些是我的主要问题,但我也可能会遗漏其他东西。谢谢你。
解决方案
您必须将文档根目录设置为项目的公用文件夹。因此,通常该站点将位于/var/www/yoursite/
并且您的 apache 配置中的文档根目录将位于/var/www/yoursite/public
. 这样,路线'/'
将成为您的公用文件夹。该/var/www/html
文件夹将是 apache 的默认文档根目录,必须单独放置。在该文件夹中,您可以从 github 中提取您的更改,/var/www/yoursite
然后运行.composer install
npm install
推荐阅读
- r - 在 R Shiny 中使用 Plotly 打开 Datapoint 上的链接
- docker - 将文件从容器 fs 复制到同级容器
- bash - 在 macOS 和 CentOS 上使用 'column -t'
- xamarin - 如何知道用户在 Xamarin 表单的条目中按下了退格按钮
- javascript - RamdaJS:对象操作后,我的键按字母顺序重新排序?预期的?
- python - 如何从 GridSearchCV 绘制 cv_results_replacy grid_scores_?
- glassfish - 以管理员身份执行 Glassfish 5.1 时出现 Java 安全错误,但证书有效
- bash - 文件开头的通配模式?
- reactjs - 在 React 中提交表单后无法重置输入字段
- php - 该页面未在 codeigniter 中正确重定向