部署laravel+;vuejs到共享主机

部署laravel+;vuejs到共享主机,laravel,vuejs2,hosting,shared-hosting,Laravel,Vuejs2,Hosting,Shared Hosting,我在将我的laravel+vuejs应用程序部署到共享主机帐户时遇到问题,我知道其他有效的方法,如cloudways,但我只想测试一下我的站点 我尝试过一些免费托管,但总是错误的,我是否需要通过ftp上传我的所有节点_模块,以便vue组件工作?它很大,需要很多时间 我查阅了很多关于这方面的教程,但没有一个将带有vuejs的laravel部署到服务器上,对此的任何指导都将不胜感激 进入laravel vue项目,构建应用程序的生产版本 确保隐藏的文件可见,然后压缩除节点模块外的所有内容 转到你的c

我在将我的laravel+vuejs应用程序部署到共享主机帐户时遇到问题,我知道其他有效的方法,如cloudways,但我只想测试一下我的站点

我尝试过一些免费托管,但总是错误的,我是否需要通过ftp上传我的所有节点_模块,以便vue组件工作?它很大,需要很多时间

我查阅了很多关于这方面的教程,但没有一个将带有vuejs的laravel部署到服务器上,对此的任何指导都将不胜感激

  • 进入laravel vue项目,构建应用程序的生产版本

  • 确保隐藏的文件可见,然后压缩除节点模块外的所有内容

  • 转到你的cpanel,在根目录中为你的新应用创建一个文件夹(而不是
    public\u html

  • 将压缩文件上载并解压缩到您刚刚创建的新文件夹中

  • 公用
    文件夹中除
    .htaccess
    之外的内容移动到您刚刚创建的新文件夹的根目录中

  • 在同一文件夹的根目录中创建一个新的
    .htaccess
    文件,并添加以下内容:
  • 
    选项-多视图
    重新启动发动机
    #如果不是文件夹,则重定向尾部斜杠。。。
    重写cond%{REQUEST_FILENAME}-D
    重写规则^(.*)/$/$1[L,R=301]
    #处理前控制器。。。
    重写cond%{REQUEST_FILENAME}-D
    重写cond%{REQUEST_FILENAME}-F
    重写规则^index.php[L]
    #句柄授权头
    RewriteCond%{HTTP:Authorization}。
    重写规则。*-[E=HTTP\U授权:%{HTTP:AUTHORIZATION}]
    
  • 通过更改以下内容编辑同一文件夹中的index.php文件:

    • require _DIR _./../vendor/autoload.php'
      需要_DIR__.'/vendor/autoload.php'
    • require_once uuu DIR_uu.'/../bootstrap/app.php'
      require_once uuu DIR_uuu.'/bootstrap/app.php'
  • 为此应用程序创建一个子域,并将文档根设置为我们创建的文件夹,并将所有laravel文件放入其中


  • 访问subdomain.your-domain.your-tld,应用程序应该可以运行。只需在根目录(
    public\u html
    )或任何子目录(如果使用subdomain)中创建一个新的
    .htaccess
    文件并粘贴以下行即可解决问题

    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteRule ^$ public/ [L]
        RewriteRule (.*) public/$1 [L]
    </IfModule>
    
    
    重新启动发动机
    重写规则^$public/[L]
    重写规则(.*)public/$1[L]
    
    您应该构建vuejs应用程序,通常使用命令npm run build。这将在vuejs应用程序文件夹中创建一个文件夹dist,其中包含应用程序投入生产所需的所有文件。将dist文件夹的内容复制到laravel应用程序的公用目录中,每个请求都应提供index.html,该index.html引用了vuejs应用程序。生产中不需要整个vuejs应用程序文件夹。非常感谢!因此,我不必担心节点_模块,只需构建并上传到服务器,您需要构建Laravel(composer)和Vue(webpack mix),以便部署到生产环境中。在composer.json中有类似的东西--然后运行
    composer-app:package
    构建dist.tar.gz进行上传。在共享主机上提取此文件并上载您的
    .env
    文件。或者你可以使用类似这样的东西:谢谢你,我会给它一个trialI去问@Noogen,运行composer应用程序:软件包只会构建laravel对吗?然后,如果按照rob!的回答,我该如何处理vue构建?混合清单不存在。我在willower发现了这个错误
    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteRule ^$ public/ [L]
        RewriteRule (.*) public/$1 [L]
    </IfModule>