企业架构LNMP学习笔记13

上线商城项目:

1)上传项目文件到数据库:

入口文件位置的设计是为了让应用部署更安全,public目录为web可访问目录,其他的文件都可以放到非web访问目录下面。

nginx 默认访问index.html。没有index.html,就会列出目录结构,没有权限列出,所以就显示403。

需要配置数据库。

bash 复制代码
#创建数据库
mysql > create database tp5shop;
#使用数据库
mysql > use tp5shop;
#通过sql文件导入恢复数据
mysql > source /usr/local/nginx/html/tpshop.sql

vim /usr/local/nginx/html/tp5shop/application/database.php

bash 复制代码
return [
    // 数据库类型
    'type'            => 'mysql',
    // 服务器地址
    'hostname'        => '127.0.0.1',
    // 数据库名
    'database'        => 'tp5shop',
    // 用户名
    'username'        => 'root',
    // 密码
    'password'        => '123456',
    // 端口
    'hostport'        => '3306',

遇到一个权限问题 。看是项目需要在runtime文件夹中写入缓存信息。(需要写权限。)

shell > cd /usr/local/nginx/html/tp5shop

shell > chown -R www:www ./runtime

bash 复制代码
chown -R www.www runtime

分析:

当前不管是nginx还是php,都是子进程来请求这个文件夹。针对runtime,是others。other是有读权限,没有写权限。所以需要写权限。

如果我们使用chmod +w -R runtime,会导致权限给的过大。不符合最小化原则。

更改所属组的关系。

我们进行nginx操作还是php操作都是www。 这个runtime文件夹就是网站所操作的。

root用户没有任何权限设置,但是对于nginx和php是需要进行设置的。

如果不修改,任何进程服务都可以修改runtime文件夹。权限就有点混乱了。

我们是管理权限的。如果给777。这 是不正确的,也是不专业的体现。

最后,这个小的项目就上线完成。

为什么不用重启?php写的文件,属于动态脚本文件,每次执行都是动态加载的。

相关推荐
七牛云行业应用5 小时前
DeepSeek Super-agent 与 Grok Bot:开源 Agent 架构和聊天助手有何区别
人工智能·ai·架构·ai编程
天远Date Lab5 小时前
零信任架构实战:基于天远租凭分期报告构建自动化汽车以租代购免押风控网关
网络·人工智能·架构·自动化
深圳行云创新8 小时前
智能体架构之争:单Agent加Skills,还是多加几个Agent
人工智能·架构·软件工程
这个DBA有点耶9 小时前
内核级AI与多模融合:AI数据库在海外场景的落地要点
数据库·人工智能·架构
FII工业富联科技服务11 小时前
工业智能体技术架构解析:六级部署、核心模块与制造场景实践
人工智能·架构·制造
代码山河12 小时前
基本类型转换:自动类型转换与强制类型转换
java·学习·架构·教程·面向对象·项目
天远API13 小时前
零信任架构实战:基于天远租凭分期报告构建自动化智慧租房免押分期履约评估网关
运维·人工智能·架构·自动化
视频技术分享14 小时前
远程会诊产品设计复盘:音视频架构拆解与四大避坑
架构·音视频
Flynn Liang15 小时前
Spring AI 上生产:限流熔断、密钥与成本治理、私有化/混合部署、降级与 Prompt 灰度架构全解
人工智能·spring·架构·高可用·springai·成本治理·生产架构