RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1242390
Accepted
midnightelf18
midnightelf18
Asked:2022-02-10 22:51:01 +0000 UTC2022-02-10 22:51:01 +0000 UTC 2022-02-10 22:51:01 +0000 UTC

工匠服务未在 laradock 工作区容器中启动

  • 772

我有一个 laravel 项目。我正在使用 laradock 环境来运行该项目。我这样做是为了运行
docker-compose up -d workspace mysql php-fpm
docker-compose exec workspace bash
cd ПАПКА_ПРОЕКТА
php artisan serve
它,但问题是在运行最后一个命令 ( serve) 后它会显示在控制台中
Starting Laravel development server: http://127.0.0.1:8000,这是值得的。服务器没有启动。



工作区 ( ) 中的 PHP 版本php -v:

PHP 7.3.27-1+ubuntu18.04.1+deb.sury.org+1 (cli)(构建:2021 年 2 月 7 日 11:57:25)(NTS)

工作区中的分布 ( neofetch):

Ubuntu 18.04.5 LTS x86_64
主机:虚拟机 Hyper-V UEFI 版本 v4.0

总的来说,我的 laradock 表现得很奇怪。例如,还有其他东西工作npm run dev 非常缓慢并且npm run watch收集速度也同样缓慢,但另外它还没有这样做watch。更改文件时,

nodejs( node -v) 不会更新:

7.5.3

npm( npm -v):

v15.8.0


我试图做的事情:
  • 重新安装 Docker、Laradock、WSL2
  • 将 Docker 从 WSL2 切换到 Hyper-V,反之亦然
  • 在 Docker 中使用基于 WSL2 的引擎
  • 在 Docker 中清理/清除数据
  • 工作区中的 apt update && apt 升级

我什至不知道问题出在哪里

。这里有一些项目配置:
package.json

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "mix",
        "watch": "mix watch",
        "watch-poll": "mix watch -- --watch-options-poll=1000",
        "hot": "mix watch --hot",
        "prod": "npm run production",
        "production": "mix --production"
    },
    "devDependencies": {
        "axios": "^0.21",
        "bootstrap": "^4.0.0",
        "jquery": "^3.2",
        "laravel-mix": "^6.0.0-beta.17",
        "lodash": "^4.17.19",
        "popper.js": "^1.12",
        "postcss": "^8.1.14",
        "resolve-url-loader": "^2.3.1",
        "sass": "^1.20.1",
        "sass-loader": "^8.0.0",
        "vue": "^3.0.5",
        "vue-loader": "^16.1.2",
        "vue-template-compiler": "^2.6.10"
    },
    "dependencies": {
        "@vue/compiler-sfc": "^3.0.5",
        "swiper": "^6.4.11"
    }
}

拉拉维尔(php artisan --version):

Laravel 框架 8.26.1


docker -compose.yml laradock

.env laradock

time npm run dev

真实 1m1.804s
用户 0m16.883s
系统 0m6.296s


ps也许您需要更改某些内容,因为当我取消注释Windows 10中的php.ini问题时,我设法在工作区之外重现了此问题php.ini-development

laravel
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    midnightelf18
    2022-02-12T08:25:10Z2022-02-12T08:25:10Z

    使用确实没有多大意义artisan serve。最好拿起它nginx并使用它。怎么做:
    docker-compose up -d nginx
    docker-compose exec nginx bash
    apk add nano && nano /etc/nginx/nginx.conf
    在这个文件中你正在寻找这样的东西

    ...
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-available/*.conf;
    open_file_cache off; # Disabled for issue 619
    charset UTF-8;
    ...
    

    并添加这一行

    include /var/www/*/*.nginx; 
    

    !!!只有你没有改变.envlaradock 中的路径。如果您进行了更改,请改为/var/www/指定项目文件夹的路径。
    然后到项目的根目录(我有一个 laravel 项目)。添加 nginx 配置文件。我的文件内容是:
    config.nginx

    server {
        listen 80;
        listen [::]:80;
        # не забудьте добавить домен в hosts в виндовс (c:\windows\system32\drivers\etc).
        # а то можете как я просидеть пол часа думая что же не так
        server_name my_laravel_project.localhost;
        
    
        access_log /var/www/my_laravel_project/storage/logs/nginx_access.log;
        error_log /var/www/my_laravel_project/storage/logs/nginx_error.log;
    
        root /var/www/my_laravel_project/public;
        index index.php;
    
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Content-Type-Options "nosniff";
    
        charset utf-8;
    
        location = /favicon.ico { access_log off; log_not_found off; }
        location = /robots.txt  { access_log off; log_not_found off; }
    
        error_page 404 /index.php;
    
        # serve static files directly
        location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
            access_log off;
            expires max;
            log_not_found off;
        }
    
        # removes trailing slashes (prevents SEO duplicate content issues)
        if (!-d $request_filename)
        {
            rewrite ^/(.+)/$ /$1 permanent;
        }
    
        # enforce NO www
        if ($host ~* ^www\.(.*))
        {
            set $host_without_www $1;
            rewrite ^/(.*)$ $scheme://$host_without_www/$1 permanent;
        }
    
        # unless the request is for a valid file (image, js, css, etc.), send to bootstrap
        if (!-e $request_filename)
        {
            rewrite ^/(.*)$ /index.php?/$1 last;
            break;
        }
    
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
    
        location ~* \.php$ {
            try_files $uri = 404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass php-upstream; # may also be: 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        location ~ /\.ht {
            deny all;
        }
    }
    

    现在我们退出容器并执行
    docker-compose restart
    它,现在,理论上,我们的项目在 my_laravel_project.localhost 打开

    ps 如果我描述的任何步骤中有错误。发表评论或编辑问题

    p.s. wsl2 速度解决方案请参阅此问题的答案

    • 0

相关问题

  • 如何从另一个控制器访问任意控制器

  • 以用户身份运行队列

  • 在刀片 laravel 中使用 Vue.js

  • 为什么要在项目中使用 SoftDeletes?

  • 批量填写 Laravel

  • 如何在 Blade Laravel 中加载不同的表单?

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    表格填充不起作用

    • 2 个回答
  • Marko Smith

    提示 50/50,有两个,其中一个是正确的

    • 1 个回答
  • Marko Smith

    在 PyQt5 中停止进程

    • 1 个回答
  • Marko Smith

    我的脚本不工作

    • 1 个回答
  • Marko Smith

    在文本文件中写入和读取列表

    • 2 个回答
  • Marko Smith

    如何像屏幕截图中那样并排排列这些块?

    • 1 个回答
  • Marko Smith

    确定文本文件中每一行的字符数

    • 2 个回答
  • Marko Smith

    将接口对象传递给 JAVA 构造函数

    • 1 个回答
  • Marko Smith

    正确更新数据库中的数据

    • 1 个回答
  • Marko Smith

    Python解析不是css

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5