Nginx部署laravel,域名Root直接指向public目录引发的报错

vhost中server中的配置直接贴


blog目录为laravel项目,目的是想访问http://laravel.zzmcloud.cn/直接到public中,后期搭配路由方便等

配置完成后保存,访问站点出现错误:


错误提示已经说的很清楚open_basedir配置已生效,vendor/autoload.php不在允许的路径内。最后将nginx/conf/fastcgi.conf下open_basedir更新为下方配置解决:


open_basedir解释在这里

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Docker中部署Laravel应用程序,你可以使用以下步骤: 1. 首先,在你的Laravel项目根目录下创建一个名为`Dockerfile`的文件,并添加以下内容: ``` # 使用官方的PHP镜像作为基础镜像 FROM php:7.4-fpm # 安装一些必要的依赖 RUN apt-get update && apt-get install -y \ git \ unzip \ libpng-dev \ libonig-dev \ libxml2-dev \ zip \ curl # 安装Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer # 设置工作目录 WORKDIR /var/www # 复制项目文件到工作目录 COPY . /var/www # 安装项目依赖 RUN composer install --no-interaction --optimize-autoloader # 设置文件夹权限 RUN chown -R www-data:www-data /var/www/storage /var/www/bootstrap/cache # 生成应用密钥 RUN php artisan key:generate # Expose port 9000 and start php-fpm server EXPOSE 9000 CMD ["php-fpm"] ``` 2. 创建一个名为`docker-compose.yml`的文件,并添加以下内容: ``` version: '3' services: app: build: context: . dockerfile: Dockerfile image: laravel-app container_name: laravel-app restart: unless-stopped ports: - 8000:9000 volumes: - .:/var/www networks: - laravel nginx: image: nginx:latest container_name: laravel-nginx restart: unless-stopped ports: - 80:80 volumes: - .:/var/www - ./nginx.conf:/etc/nginx/conf.d/default.conf networks: - laravel networks: laravel: ``` 3. 在你的Laravel项目根目录下创建一个名为`nginx.conf`的文件,并添加以下内容: ``` server { listen 80; index index.php index.html; server_name localhost; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /var/www/public; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { try_files $uri /index.php =404; fastcgi_pass app:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; } } ``` 4. 确保你的Laravel项目根目录下有一个`.env`文件,其中包含正确的数据库连接和其他配置。 5. 在项目根目录中运行以下命令以构建和启动容器: ``` docker-compose up -d --build ``` 这将构建并启动包含Laravel应用程序和Nginx服务器的Docker容器。 6. 在浏览器中访问`http://localhost`,你应该能够看到你的Laravel应用程序运行在Docker容器中。 这就是在Docker中部署Laravel应用程序的基本步骤。你可以根据需要进行修改和调整。希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值