Nginx-虚拟主机配置问题

Nginx-虚拟主机配置问题

标签(空格分隔): linux,php,nginx,larave


这两天突然想配置lnmp环境,学习下Nginx配置结果就遇到了下边的问题

Nginx: server下的配置

    listen 80 default_server;
    #listen [::]:80 default_server ipv6only=on;
    server_name _;
    index index.html index.htm index.php;
    #root  /home/wwwroot/default;
    root  /home/wwwroot/web.laravel.cn/public;

1 如果我把root 写到跟目录 /home/wwwroot/web.laravel.cn/ 那么我访问就得 ip地址/public 
2 如果我把root 写到入口文件 /home/wwwroot/web.laravel.cn/public 那么 ip访问 就HTTP500
3 还有相同的地方是 只能打开首页 其他的路由/页面都403

这几天一直再纠结这个问题,第一种的话,不报错,让我挺无奈的 网上查了一下需要打开 php.ini [display_errors=On] 打开这一项 会显示错误
    
    Warning: require(): open_basedir restriction in effect. File(/home/wwwroot/web.laravel.cn/bootstrap/autoload.php) is not within the allowed path(s): (/home/wwwroot/web.laravel.cn/public/:/tmp/:/proc/:/home/wwwroot/web.laravel.cn/public:) in /home/wwwroot/web.laravel.cn/public/index.php on line 22

Warning: require(/home/wwwroot/web.laravel.cn/bootstrap/autoload.php): failed to open stream: Operation not permitted in /home/wwwroot/web.laravel.cn/public/index.php on line 22

Fatal error: require(): Failed opening required '/home/wwwroot/web.laravel.cn/public/../bootstrap/autoload.php' (include_path='.:/usr/local/php/lib/php') in /home/wwwroot/web.laravel.cn/public/index.php on line 22

上网查了这个问题 open_basedir 这个配置选型问题 但我记得都配置过把需要有权限的目录加进去就行了
但是还不行。就在今天闲着没事在看tp5手册 发现了问题

 "open_basedir=$document_root/:/tmp/:/proc/:/home/wwwroot/web.laravel.cn/public:";
 
多写了/public 写到根目录就可以了!   /home/wwwroot/web.laravel.cn

posted @   TaylorSWMM  阅读(152)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示